diff options
Diffstat (limited to 'Test')
-rw-r--r-- | Test/dafny4/Bug58.dfy | 17 | ||||
-rw-r--r-- | Test/dafny4/Bug58.dfy.expect | 2 |
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
|