diff options
author | Dan Liew <daniel.liew@imperial.ac.uk> | 2015-06-28 01:44:30 +0100 |
---|---|---|
committer | Dan Liew <daniel.liew@imperial.ac.uk> | 2015-06-28 01:44:30 +0100 |
commit | 962f8d5252b3f5ec4d19e0cd2a430934bd55cc6d (patch) | |
tree | 27d5f9b0d130c6c1a6758bc0b7456b0aa51e34e0 /Test/test21/HeapAxiom.bpl | |
parent | e11d65009d0b4ba1327f5f5dd6b26367330611f0 (diff) |
Normalise line endings using a .gitattributes file. Unfortunately
this required that this commit globally modify most files. If you
want to use git blame to see the real author of a line use the
``-w`` flag so that whitespace changes are ignored.
Diffstat (limited to 'Test/test21/HeapAxiom.bpl')
-rw-r--r-- | Test/test21/HeapAxiom.bpl | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/Test/test21/HeapAxiom.bpl b/Test/test21/HeapAxiom.bpl index 691c97f9..a49ddd36 100644 --- a/Test/test21/HeapAxiom.bpl +++ b/Test/test21/HeapAxiom.bpl @@ -1,33 +1,33 @@ -// RUN: %boogie -typeEncoding:n -logPrefix:0n "%s" > "%t"
-// RUN: %diff "%s.n.expect" "%t"
-// RUN: %boogie -typeEncoding:p -logPrefix:0p "%s" > "%t"
-// RUN: %diff "%s.p.expect" "%t"
-// RUN: %boogie -typeEncoding:a -logPrefix:0a "%s" > "%t"
-// RUN: %diff "%s.a.expect" "%t"
-
-
-type Field a, Heap = <a>[ref, Field a]a;
-
-function IsHeap(Heap) returns (bool);
-const alloc : Field bool;
-
-axiom (forall H:Heap, o:ref, f:Field ref ::
- IsHeap(H) && H[o,alloc] ==> H[H[o,f], alloc]);
-
-procedure P() returns () {
- var h : Heap, o : ref, g : Field ref, i : Field ref, o2 : ref;
- assume IsHeap(h) && h[o, alloc];
-
- o2 := h[o, g];
- assert h[o2, alloc];
-
- o2 := h[o2, g];
- assert h[o2, alloc];
-
- h[o2, alloc] := false;
-
- o2 := h[o2, g];
- assert h[o2, alloc]; // should not be provable
-}
-
-type ref;
+// RUN: %boogie -typeEncoding:n -logPrefix:0n "%s" > "%t" +// RUN: %diff "%s.n.expect" "%t" +// RUN: %boogie -typeEncoding:p -logPrefix:0p "%s" > "%t" +// RUN: %diff "%s.p.expect" "%t" +// RUN: %boogie -typeEncoding:a -logPrefix:0a "%s" > "%t" +// RUN: %diff "%s.a.expect" "%t" + + +type Field a, Heap = <a>[ref, Field a]a; + +function IsHeap(Heap) returns (bool); +const alloc : Field bool; + +axiom (forall H:Heap, o:ref, f:Field ref :: + IsHeap(H) && H[o,alloc] ==> H[H[o,f], alloc]); + +procedure P() returns () { + var h : Heap, o : ref, g : Field ref, i : Field ref, o2 : ref; + assume IsHeap(h) && h[o, alloc]; + + o2 := h[o, g]; + assert h[o2, alloc]; + + o2 := h[o2, g]; + assert h[o2, alloc]; + + h[o2, alloc] := false; + + o2 := h[o2, g]; + assert h[o2, alloc]; // should not be provable +} + +type ref; |