diff --git a/tests/solve_ndisj.ref b/tests/solve_ndisj.ref new file mode 100644 index 0000000000000000000000000000000000000000..64a2dc8e334bfc8384132fbf5279262a9c644181 --- /dev/null +++ b/tests/solve_ndisj.ref @@ -0,0 +1,3 @@ +The command has indeed failed with message: +Ltac call to "solve_ndisj" failed. +No applicable tactic. diff --git a/tests/solve_ndisj.v b/tests/solve_ndisj.v new file mode 100644 index 0000000000000000000000000000000000000000..3ed8e1f91825fc0494e8f2d04cf09879efd2ba27 --- /dev/null +++ b/tests/solve_ndisj.v @@ -0,0 +1,26 @@ +From stdpp Require Import namespaces strings. + +Lemma test1 (N1 N2 : namespace) : + N1 ## N2 → ↑N1 ⊆@{coPset} ⊤ ∖ ↑N2. +Proof. solve_ndisj. Qed. + +Lemma test2 (N1 N2 : namespace) : + N1 ## N2 → ↑N1.@"x" ⊆@{coPset} ⊤ ∖ ↑N1.@"y" ∖ ↑N2. +Proof. solve_ndisj. Qed. + +Lemma test3 (N : namespace) : + ⊤ ∖ ↑N ⊆@{coPset} ⊤ ∖ ↑N.@"x". +Proof. solve_ndisj. Qed. + +Lemma test4 (N : namespace) : + ⊤ ∖ ↑N ⊆@{coPset} ⊤ ∖ ↑N.@"x" ∖ ↑N.@"y". +Proof. solve_ndisj. Qed. + +Lemma test5 (N1 N2 : namespace) : + ⊤ ∖ ↑N1 ∖ ↑N2 ⊆@{coPset} ⊤ ∖ ↑N1.@"x" ∖ ↑N2 ∖ ↑N1.@"y". +Proof. + Fail solve_ndisj. (* FIXME: it should be able to solve this. *) + apply namespace_subseteq_difference. + { apply ndot_preserve_disjoint_r. set_solver. } + solve_ndisj. +Qed.