Skip to content
Snippets Groups Projects
Commit d0176db3 authored by Ralf Jung's avatar Ralf Jung
Browse files

solve_ndisj: solve more goals involving chains of differences

parent fa9692b2
No related branches found
No related tags found
No related merge requests found
...@@ -35,3 +35,11 @@ Proof. solve_ndisj. Qed. ...@@ -35,3 +35,11 @@ Proof. solve_ndisj. Qed.
Lemma test7 N : Lemma test7 N :
N ⊆@{coPset} ∅. N ⊆@{coPset} ∅.
Proof. solve_ndisj. Qed. Proof. solve_ndisj. Qed.
Lemma test8 N1 N2 :
(N1 N2) ⊆@{coPset} N1.@"counter".
Proof. solve_ndisj. Qed.
Lemma test9 N1 N2 :
(N1 N2) ⊆@{coPset} N1.@"counter" N1.@"state" N2.
Proof. solve_ndisj. Qed.
...@@ -84,6 +84,11 @@ Local Definition coPset_empty_subseteq := empty_subseteq (C:=coPset). ...@@ -84,6 +84,11 @@ Local Definition coPset_empty_subseteq := empty_subseteq (C:=coPset).
Global Hint Resolve coPset_empty_subseteq : ndisj. Global Hint Resolve coPset_empty_subseteq : ndisj.
Local Definition coPset_union_least := union_least (C:=coPset). Local Definition coPset_union_least := union_least (C:=coPset).
Global Hint Resolve coPset_union_least : ndisj. Global Hint Resolve coPset_union_least : ndisj.
(** For goals like [X ⊆ L ∪ R], backtrack for the two sides. *)
Local Definition coPset_union_subseteq_l' := union_subseteq_l' (C:=coPset).
Global Hint Resolve coPset_union_subseteq_l' | 50 : ndisj.
Local Definition coPset_union_subseteq_r' := union_subseteq_r' (C:=coPset).
Global Hint Resolve coPset_union_subseteq_r' | 50 : ndisj.
(** Fallback, loses lots of information but lets other rules make progress. *) (** Fallback, loses lots of information but lets other rules make progress. *)
Local Definition coPset_subseteq_difference_l := subseteq_difference_l (C:=coPset). Local Definition coPset_subseteq_difference_l := subseteq_difference_l (C:=coPset).
Global Hint Resolve coPset_subseteq_difference_l | 100 : ndisj. Global Hint Resolve coPset_subseteq_difference_l | 100 : ndisj.
......
...@@ -385,8 +385,12 @@ Section semi_set. ...@@ -385,8 +385,12 @@ Section semi_set.
Lemma union_subseteq_l X Y : X X Y. Lemma union_subseteq_l X Y : X X Y.
Proof. set_solver. Qed. Proof. set_solver. Qed.
Lemma union_subseteq_l' X X' Y : X X' X X' Y.
Proof. set_solver. Qed.
Lemma union_subseteq_r X Y : Y X Y. Lemma union_subseteq_r X Y : Y X Y.
Proof. set_solver. Qed. Proof. set_solver. Qed.
Lemma union_subseteq_r' X Y Y' : Y Y' Y X Y'.
Proof. set_solver. Qed.
Lemma union_least X Y Z : X Z Y Z X Y Z. Lemma union_least X Y Z : X Z Y Z X Y Z.
Proof. set_solver. Qed. Proof. set_solver. Qed.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment