summaryrefslogtreecommitdiff
path: root/Test
diff options
context:
space:
mode:
authorGravatar Rustan Leino <unknown>2016-03-01 15:37:54 -0800
committerGravatar Rustan Leino <unknown>2016-03-01 15:37:54 -0800
commit1f38d2d252aaac3d55191e6c3dad46ecffdfee2c (patch)
treed5464a61a72688259cd85ae36063ec2f31fe5fdb /Test
parent9f4d81cb7056501547a5116796a3112da8054433 (diff)
Revised the $Is and $IsAlloc axioms for arrow terms. It is now possible to
derived these predicates. More things can now be verified (including the problem reported in Issue #49).
Diffstat (limited to 'Test')
-rw-r--r--Test/hofs/OneShot.dfy9
-rw-r--r--Test/hofs/VectorUpdate.dfy2
2 files changed, 5 insertions, 6 deletions
diff --git a/Test/hofs/OneShot.dfy b/Test/hofs/OneShot.dfy
index 286be898..e920530a 100644
--- a/Test/hofs/OneShot.dfy
+++ b/Test/hofs/OneShot.dfy
@@ -10,16 +10,15 @@ method OneShot() {
var i : Ref<int>;
i := new Ref;
- g := () -> true;
-
+ g := () reads i -> true; // using a (deprecated) one-shot arrow here means "g" acquires
+ // a precondition that says it can only be applied in this heap
assert g();
i.val := i.val + 1; // heap changes
if * {
- assert g(); // should fail
+ assert g(); // error: precondition violation
} else {
- assert !g(); // should fail
+ assert !g(); // error: precondition violation
}
}
-
diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy
index ca6b20b3..6fb25a87 100644
--- a/Test/hofs/VectorUpdate.dfy
+++ b/Test/hofs/VectorUpdate.dfy
@@ -1,4 +1,4 @@
-// RUN: %dafny /compile:3 "%s" > "%t"
+// RUN: %dafny /compile:3 /autoTriggers:1 "%s" > "%t"
// RUN: %diff "%s.expect" "%t"
// this is a rather verbose version of the VectorUpdate method