summaryrefslogtreecommitdiff
path: root/Test/dafny0/LitTriggers.dfy
diff options
context:
space:
mode:
authorGravatar Clément Pit--Claudel <clement.pitclaudel@live.com>2015-07-16 14:27:28 -0700
committerGravatar Clément Pit--Claudel <clement.pitclaudel@live.com>2015-07-16 14:27:28 -0700
commit9f8cb23ad0662cea28f681872236277c2af2432e (patch)
treec23226ced682798fda75936dde21cadd2488084e /Test/dafny0/LitTriggers.dfy
parent7a739b4e396554ee004abc42829351f126a224b7 (diff)
Strip literals from triggers
Diffstat (limited to 'Test/dafny0/LitTriggers.dfy')
-rw-r--r--Test/dafny0/LitTriggers.dfy35
1 files changed, 35 insertions, 0 deletions
diff --git a/Test/dafny0/LitTriggers.dfy b/Test/dafny0/LitTriggers.dfy
new file mode 100644
index 00000000..14880d68
--- /dev/null
+++ b/Test/dafny0/LitTriggers.dfy
@@ -0,0 +1,35 @@
+// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t"
+// RUN: %diff "%s.expect" "%t"
+
+// Imported from bug 76. LitInt would be triggered on, causing matching failures.
+
+predicate P(x:int, y:int)
+
+lemma L1(x:int, y:int)
+ requires y == 2;
+ requires forall i :: P(i, 3);
+{
+ assert P(x, y + 1);
+}
+
+lemma L2(x:int, y:int)
+ requires y == 2;
+ requires forall i {:trigger P(i, 3)} :: P(i, 3);
+{
+ assert P(x, y + 1);
+}
+
+lemma L3(x:int, y:int)
+ requires y == 2;
+ requires forall i :: P(i, 3);
+{
+ var dummy := 3;
+ assert P(x, y + 1);
+}
+
+lemma L4(x:int, y:int)
+ requires y == 2;
+ requires forall i, j :: j == 3 ==> P(i, j);
+{
+ assert P(x, y + 1);
+}