aboutsummaryrefslogtreecommitdiff
path: root/test-suite
diff options
context:
space:
mode:
authorErik Martin-Dorel2019-04-03 15:03:02 +0200
committerErik Martin-Dorel2019-04-23 20:22:38 +0200
commit4bc91ba5654574d156ebf2934a6fb36d31b40ff9 (patch)
treeb07446667570d47d50478a7d40f304fe4d9617ee /test-suite
parente1e5d40a0f351cbf01f7e66d049f9a937d5f8563 (diff)
[ssr] Define over as a rewrite rule & Merge 'Under[ _ ] notations
as suggested by @gares, and: * Rename some Under_* terms for better uniformity; * Update & Improve minor details in the documentation.
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/output/ssr_under.out2
-rw-r--r--test-suite/output/ssr_under.v15
-rw-r--r--test-suite/ssr/over.v8
3 files changed, 21 insertions, 4 deletions
diff --git a/test-suite/output/ssr_under.out b/test-suite/output/ssr_under.out
index 8532b62a54..499d25391e 100644
--- a/test-suite/output/ssr_under.out
+++ b/test-suite/output/ssr_under.out
@@ -1,2 +1,4 @@
'Under[ m - m ]
(G (fun _ : nat => 0) n >= 0)
+'Under[ r = R0 \/ E r ]
+(Rbar_le Rbar0 (Lub_Rbar (fun r : R => r = R0 \/ E r)))
diff --git a/test-suite/output/ssr_under.v b/test-suite/output/ssr_under.v
index b11dd1509c..7335c87e61 100644
--- a/test-suite/output/ssr_under.v
+++ b/test-suite/output/ssr_under.v
@@ -13,3 +13,18 @@ Lemma example_G (n : nat) : G (fun n => n - n) n >= 0.
under eq_G => m do show; rewrite subnn.
show.
Abort.
+
+Parameters (R Rbar : Set) (R0 : R) (Rbar0 : Rbar).
+Parameter Rbar_le : Rbar -> Rbar -> Prop.
+Parameter Lub_Rbar : (R -> Prop) -> Rbar.
+Parameter Lub_Rbar_eqset :
+ forall E1 E2 : R -> Prop,
+ (forall x : R, E1 x <-> E2 x) ->
+ Lub_Rbar E1 = Lub_Rbar E2.
+
+Lemma test_Lub_Rbar (E : R -> Prop) :
+ Rbar_le Rbar0 (Lub_Rbar (fun x => x = R0 \/ E x)).
+Proof.
+under Lub_Rbar_eqset => r do show.
+show.
+Abort.
diff --git a/test-suite/ssr/over.v b/test-suite/ssr/over.v
index cd6b196eeb..8232741b0d 100644
--- a/test-suite/ssr/over.v
+++ b/test-suite/ssr/over.v
@@ -12,7 +12,7 @@ assert (H : forall i : nat, i + 2 * i - i = x2 i).
unfold x2 in *; clear x2;
unfold R in *; clear R;
unfold I in *; clear I.
- apply Under_from_eq.
+ apply Under_eq_from_eq.
Fail done.
over.
@@ -27,7 +27,7 @@ assert (H : forall i : nat, i + 2 * i - i = x2 i).
unfold x2 in *; clear x2;
unfold R in *; clear R;
unfold I in *; clear I.
- apply Under_from_eq.
+ apply Under_eq_from_eq.
Fail done.
by rewrite over.
@@ -45,7 +45,7 @@ assert (H : forall i j, i + 2 * j - i = x2 i j).
unfold R in *; clear R;
unfold J in *; clear J;
unfold I in *; clear I.
- apply Under_from_eq.
+ apply Under_eq_from_eq.
Fail done.
over.
@@ -61,7 +61,7 @@ assert (H : forall i j : nat, i + 2 * j - i = x2 i j).
unfold R in *; clear R;
unfold J in *; clear J;
unfold I in *; clear I.
- apply Under_from_eq.
+ apply Under_eq_from_eq.
Fail done.
rewrite over.