summaryrefslogtreecommitdiff
path: root/Binaries
diff options
context:
space:
mode:
authorGravatar rustanleino <unknown>2009-09-14 20:43:33 +0000
committerGravatar rustanleino <unknown>2009-09-14 20:43:33 +0000
commit7429665eff7479892c2d17e3d0cb2146ad0c676e (patch)
tree3c20c3e1736ea3c8adbc8b6dca8f6e243368246b /Binaries
parent4ba12cfff31ffd1eaf381e98cd67885b7026d079 (diff)
Dafny:
* Added DeclType(f)==C axioms, which for each field f says which class declares it. Boogie: * Changed behavior of free loop invariants. Now, a free loop invariant is ignored on the checking side, just like for free requires and free ensures. The new switch /alwaysAssumeFreeLoopInvariants flag gives the previous behavior. * NOTE: I did NOT yet make the corresponding change for loop unrolling, but it is needed.
Diffstat (limited to 'Binaries')
-rw-r--r--Binaries/DafnyPrelude.bpl2
1 files changed, 2 insertions, 0 deletions
diff --git a/Binaries/DafnyPrelude.bpl b/Binaries/DafnyPrelude.bpl
index fa0d1529..9ff60f1b 100644
--- a/Binaries/DafnyPrelude.bpl
+++ b/Binaries/DafnyPrelude.bpl
@@ -181,6 +181,8 @@ const unique #loc.$Heap: $token;
const unique alloc: Field bool;
+function DeclType<T>(Field T) returns (ClassName);
+
function $HeapSucc(HeapType, HeapType) returns (bool);
axiom (forall h: HeapType, k: HeapType :: { $HeapSucc(h,k) }
$HeapSucc(h,k) ==> (forall o: ref :: { k[o,alloc] } h[o,alloc] ==> k[o,alloc]));