Skip to content
Snippets Groups Projects

Add lemmas list_to_set_disj_elem_of_list and gmultiset_difference_disj_union_{l,r}

Merged Léo Stefanesco requested to merge lstefane/stdpp:multiset-lemmas into master
All threads resolved!
1 file
+ 9
0
Compare changes
  • Side-by-side
  • Inline
+ 9
0
@@ -397,6 +397,9 @@ Section more_lemmas.
@@ -397,6 +397,9 @@ Section more_lemmas.
Lemma list_to_set_disj_app l1 l2 :
Lemma list_to_set_disj_app l1 l2 :
list_to_set_disj (l1 ++ l2) =@{gmultiset A} list_to_set_disj l1 list_to_set_disj l2.
list_to_set_disj (l1 ++ l2) =@{gmultiset A} list_to_set_disj l1 list_to_set_disj l2.
Proof. induction l1; multiset_solver. Qed.
Proof. induction l1; multiset_solver. Qed.
 
Lemma elem_of_list_to_set_disj x l :
 
x ∈@{gmultiset A} list_to_set_disj l x l.
 
Proof. induction l; set_solver. Qed.
Global Instance list_to_set_disj_perm :
Global Instance list_to_set_disj_perm :
Proper (() ==> (=)) (list_to_set_disj (C:=gmultiset A)).
Proper (() ==> (=)) (list_to_set_disj (C:=gmultiset A)).
Proof. induction 1; multiset_solver. Qed.
Proof. induction 1; multiset_solver. Qed.
@@ -603,6 +606,12 @@ Section more_lemmas.
@@ -603,6 +606,12 @@ Section more_lemmas.
Lemma gmultiset_difference_subset X Y : X X Y Y X Y.
Lemma gmultiset_difference_subset X Y : X X Y Y X Y.
Proof. multiset_solver. Qed.
Proof. multiset_solver. Qed.
 
Lemma gmultiset_difference_disj_union_r X Y Z : X Y = (X Z) (Y Z).
 
Proof. multiset_solver. Qed.
 
 
Lemma gmultiset_difference_disj_union_l X Y Z : X Y = (Z X) (Z Y).
 
Proof. multiset_solver. Qed.
 
(** Mononicity *)
(** Mononicity *)
Lemma gmultiset_elements_submseteq X Y : X Y elements X ⊆+ elements Y.
Lemma gmultiset_elements_submseteq X Y : X Y elements X ⊆+ elements Y.
Proof.
Proof.
Loading