From f5c139ed6dfc8f77540702c2601c02a836d4e190 Mon Sep 17 00:00:00 2001
From: Ralf Jung <jung@mpi-sws.org>
Date: Thu, 20 Jun 2019 14:40:17 +0200
Subject: [PATCH] test solve_ndisj a bit

---
 tests/solve_ndisj.ref |  3 +++
 tests/solve_ndisj.v   | 26 ++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 tests/solve_ndisj.ref
 create mode 100644 tests/solve_ndisj.v

diff --git a/tests/solve_ndisj.ref b/tests/solve_ndisj.ref
new file mode 100644
index 00000000..64a2dc8e
--- /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 00000000..3ed8e1f9
--- /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.
-- 
GitLab