Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Marianna Rapoport
iris-coq
Commits
85697195
Commit
85697195
authored
Nov 18, 2016
by
Robbert Krebbers
Browse files
More big_opMS lemmas.
parent
cbf274c0
Changes
2
Hide whitespace changes
Inline
Side-by-side
algebra/cmra_big_op.v
View file @
85697195
...
...
@@ -452,6 +452,16 @@ Section gmultiset.
intros
.
by
rewrite
/
big_opMS
gmultiset_elements_singleton
/=
right_id
.
Qed
.
Lemma
big_opMS_delete
f
X
x
:
x
∈
X
→
([
⋅
mset
]
y
∈
X
,
f
y
)
≡
f
x
⋅
[
⋅
mset
]
y
∈
X
∖
{[
x
]},
f
y
.
Proof
.
intros
?%
gmultiset_elem_of_subseteq
.
rewrite
-
big_opMS_singleton
.
by
rewrite
-
big_opMS_union
-
gmultiset_union_difference
.
Qed
.
Lemma
big_opMS_elem_of
f
X
x
:
x
∈
X
→
f
x
≼
[
⋅
mset
]
y
∈
X
,
f
y
.
Proof
.
intros
.
rewrite
big_opMS_delete
//.
apply
cmra_included_l
.
Qed
.
Lemma
big_opMS_opS
f
g
X
:
([
⋅
mset
]
y
∈
X
,
f
y
⋅
g
y
)
≡
([
⋅
mset
]
y
∈
X
,
f
y
)
⋅
([
⋅
mset
]
y
∈
X
,
g
y
).
Proof
.
...
...
prelude/gmultiset.v
View file @
85697195
...
...
@@ -157,6 +157,14 @@ Proof.
rewrite
multiplicity_difference
,
multiplicity_empty
;
omega
.
Qed
.
(* Order stuff *)
Lemma
gmultiset_elem_of_subseteq
x
X
:
x
∈
X
→
{[
x
]}
⊆
X
.
Proof
.
rewrite
elem_of_multiplicity
.
intros
Hx
y
;
destruct
(
decide
(
x
=
y
))
as
[->|].
-
rewrite
multiplicity_singleton
;
omega
.
-
rewrite
multiplicity_singleton_ne
by
done
;
omega
.
Qed
.
(* Properties of the elements operation *)
Lemma
gmultiset_elements_empty
:
elements
(
∅
:
gmultiset
A
)
=
[].
Proof
.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment