aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/output/Notations3.out
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2017-08-21 23:25:21 +0200
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2018-02-20 10:03:06 +0100
commitbc73f267ad2da0f1e24e66cb481725be018a8ce6 (patch)
treeba5b0ccdb6de146a209a27fbc2c24603609e16e8 /test-suite/output/Notations3.out
parent3a6b1d2c04ceeb568accbc9ddfc3fc0f14faf25b (diff)
A (significant) simplification in printing notations with recursive binders.
For historical reasons (this was one of the first examples of notations with binders), there was a special treatment for notations whose right-hand side had the form "forall x, P" or "fun x => P". Not only this is not necessary, but this prevents notations binding to expressions such as "forall x, x>0 -> P" to be used in printing. We let the general case absorb this particular case. We add the integration of "let x:=c in ..." in the middle of a notation with recursive binders as part of the binder list, reprinting it "(x:=c)" (this was formerly the case only for the above particular case). Note that integrating "let" in sequence of binders is stil not the case for the regular "forall"/"fun". Should we?
Diffstat (limited to 'test-suite/output/Notations3.out')
-rw-r--r--test-suite/output/Notations3.out5
1 files changed, 3 insertions, 2 deletions
diff --git a/test-suite/output/Notations3.out b/test-suite/output/Notations3.out
index 7c47c0885..cb18fa356 100644
--- a/test-suite/output/Notations3.out
+++ b/test-suite/output/Notations3.out
@@ -152,8 +152,7 @@ exists x : nat,
nat ->
exists '{{z, t}}, forall z2 : nat, z2 = 0 /\ x + y = 0 /\ z + t = 0
: Prop
-exists_true '{{x, y}},
-(let u := 0 in exists_true '{{z, t}}, x + y = 0 /\ z + t = 0)
+exists_true '{{x, y}} (u := 0) '{{z, t}}, x + y = 0 /\ z + t = 0
: Prop
exists_true (A : Type) (R : A -> A -> Prop) (_ : Reflexive R),
(forall x : A, R x x)
@@ -173,6 +172,8 @@ exists_true (x : nat) (A : Type) (R : A -> A -> Prop)
: Prop * Prop
exists_non_null x y z t : nat , x = y /\ z = t
: Prop
+forall_non_null x y z t : nat , x = y /\ z = t
+ : Prop
{{RL 1, 2}}
: nat * (nat * nat)
{{RR 1, 2}}