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
Iris
stdpp
Commits
953a4d67
Commit
953a4d67
authored
May 31, 2016
by
Robbert Krebbers
Browse files
Some properties about set disjointness.
parent
ef34a1da
Changes
1
Hide whitespace changes
Inline
Side-by-side
theories/collections.v
View file @
953a4d67
...
...
@@ -41,6 +41,25 @@ Section simple_collection.
Lemma
elem_of_disjoint
X
Y
:
X
⊥
Y
↔
∀
x
,
x
∈
X
→
x
∈
Y
→
False
.
Proof
.
done
.
Qed
.
Global
Instance
disjoint_sym
:
Symmetric
(@
disjoint
C
_
).
Proof
.
intros
??.
rewrite
!
elem_of_disjoint
;
naive_solver
.
Qed
.
Lemma
disjoint_empty_l
Y
:
∅
⊥
Y
.
Proof
.
rewrite
elem_of_disjoint
;
intros
x
;
by
rewrite
elem_of_empty
.
Qed
.
Lemma
disjoint_empty_r
X
:
X
⊥
∅
.
Proof
.
rewrite
(
symmetry_iff
_
)
;
apply
disjoint_empty_l
.
Qed
.
Lemma
disjoint_singleton_l
x
Y
:
{[
x
]}
⊥
Y
↔
x
∉
Y
.
Proof
.
rewrite
elem_of_disjoint
;
setoid_rewrite
elem_of_singleton
;
naive_solver
.
Qed
.
Lemma
disjoint_singleton_r
y
X
:
X
⊥
{[
y
]}
↔
y
∉
X
.
Proof
.
rewrite
(
symmetry_iff
(
⊥
)).
apply
disjoint_singleton_l
.
Qed
.
Lemma
disjoint_union_l
X1
X2
Y
:
X1
∪
X2
⊥
Y
↔
X1
⊥
Y
∧
X2
⊥
Y
.
Proof
.
rewrite
!
elem_of_disjoint
;
setoid_rewrite
elem_of_union
;
naive_solver
.
Qed
.
Lemma
disjoint_union_r
X
Y1
Y2
:
X
⊥
Y1
∪
Y2
↔
X
⊥
Y1
∧
X
⊥
Y2
.
Proof
.
rewrite
!(
symmetry_iff
(
⊥
)
X
).
apply
disjoint_union_l
.
Qed
.
Lemma
collection_positive_l
X
Y
:
X
∪
Y
≡
∅
→
X
≡
∅
.
Proof
.
rewrite
!
elem_of_equiv_empty
.
setoid_rewrite
elem_of_union
.
naive_solver
.
...
...
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