aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/output
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2017-08-17 20:12:55 +0200
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2018-02-20 10:03:06 +0100
commite4d93d1cef27d3a8c1e36139fc1e118730406f67 (patch)
tree0149d4c6ff1fc4cc978e796f303ee6dcdda65074 /test-suite/output
parent50970e4043d73d9a4fbd17ffe765745f6d726317 (diff)
Adding general support for irrefutable disjunctive patterns.
This now works not only for parsing of fun/forall (as in 8.6), but also for arbitraty notations with binders and for printing.
Diffstat (limited to 'test-suite/output')
-rw-r--r--test-suite/output/Notations3.out8
-rw-r--r--test-suite/output/Notations3.v7
2 files changed, 15 insertions, 0 deletions
diff --git a/test-suite/output/Notations3.out b/test-suite/output/Notations3.out
index 0463e5bfb..fa4ff3be6 100644
--- a/test-suite/output/Notations3.out
+++ b/test-suite/output/Notations3.out
@@ -209,3 +209,11 @@ exists '({{x, y}} as z), x + y = 0 /\ z = z
: Prop
∀ '({{x, y}} as z), x + y = 0 /\ z = z
: Prop
+fun '({{{{x, y}}, true}} | {{{{x, y}}, false}}) => x + y
+ : nat * nat * bool -> nat
+myexists ({{{{x, y}}, true}} | {{{{x, y}}, false}}), x > y
+ : Prop
+exists '({{{{x, y}}, true}} | {{{{x, y}}, false}}), x > y
+ : Prop
+∀ '({{{{x, y}}, true}} | {{{{x, y}}, false}}), x > y
+ : Prop
diff --git a/test-suite/output/Notations3.v b/test-suite/output/Notations3.v
index 9ec459ed6..9f6302f6f 100644
--- a/test-suite/output/Notations3.v
+++ b/test-suite/output/Notations3.v
@@ -376,3 +376,10 @@ Check fun '((x,y) as z) => x+y=0/\z=z. (* Primitive fun/forall *)
Check myexists ((x,y) as z), x+y=0/\z=z. (* Isolated binding pattern *)
Check exists '((x,y) as z), x+y=0/\z=z. (* Applicative recursive binder *)
Check ∀ '((x,y) as z), x+y=0/\z=z. (* Other example of recursive binder, now treated as the exists case *)
+
+(* Check parsability and printability of irrefutable disjunctive patterns *)
+
+Check fun '(((x,y),true)|((x,y),false)) => x+y.
+Check myexists (((x,y),true)|((x,y),false)), x>y.
+Check exists '(((x,y),true)|((x,y),false)), x>y.
+Check ∀ '(((x,y),true)|((x,y),false)), x>y.