summaryrefslogtreecommitdiff
path: root/Test
diff options
context:
space:
mode:
Diffstat (limited to 'Test')
-rw-r--r--Test/dafny4/Bug58.dfy17
-rw-r--r--Test/dafny4/Bug58.dfy.expect2
2 files changed, 19 insertions, 0 deletions
diff --git a/Test/dafny4/Bug58.dfy b/Test/dafny4/Bug58.dfy
new file mode 100644
index 00000000..4ffc5a58
--- /dev/null
+++ b/Test/dafny4/Bug58.dfy
@@ -0,0 +1,17 @@
+// RUN: %dafny /compile:0 "%s" > "%t"
+// RUN: %diff "%s.expect" "%t"
+
+function M1(f:map<int, bool>, i:int):bool
+
+function M2(f:map<int, bool>, i:int):bool
+{
+ M1(map j | j in f :: f[j], i)
+}
+
+lemma L(f:map<int, bool>, i:int)
+ requires i in f;
+ requires M2(f, i);
+ requires forall j:int, f:map<int, bool> :: M1(f, j) == (j in f && f[j]);
+{
+ assert f[i];
+} \ No newline at end of file
diff --git a/Test/dafny4/Bug58.dfy.expect b/Test/dafny4/Bug58.dfy.expect
new file mode 100644
index 00000000..73ba063c
--- /dev/null
+++ b/Test/dafny4/Bug58.dfy.expect
@@ -0,0 +1,2 @@
+
+Dafny program verifier finished with 4 verified, 0 errors