diff options
Diffstat (limited to 'Test/houdini/houd5.bpl')
-rw-r--r-- | Test/houdini/houd5.bpl | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/Test/houdini/houd5.bpl b/Test/houdini/houd5.bpl index b6ee32dd..73f7143e 100644 --- a/Test/houdini/houd5.bpl +++ b/Test/houdini/houd5.bpl @@ -1,31 +1,31 @@ -// RUN: %boogie -noinfer -contractInfer -printAssignment "%s" > "%t"
-// RUN: %diff "%s.expect" "%t"
-const {:existential true} b1:bool;
-const {:existential true} b2:bool;
-const {:existential true} b3:bool;
-const {:existential true} b4:bool;
-const {:existential true} b5:bool;
-
-var array:[int]int;
-
-procedure foo (i:int)
-requires b1 ==> i == 0;
-requires b2 ==> i > 0;
-requires b3 ==> i < 0;
-ensures b4 ==> array[i] > 0;
-modifies array;
-ensures (forall x:int :: {array[x]} x == i || array[x] == old(array)[x]);
-{
- array[i] := 2 * i;
-}
-
-procedure bar (j:int) returns (result:int)
-requires b5 ==> j > 0;
-modifies array;
-{
- call foo(j);
- result := array[j];
-}
-
-// expected outcome: Correct
-// expected assigment: b1->False,b2->true,b3->False,b4->True,b5->True
+// RUN: %boogie -noinfer -contractInfer -printAssignment "%s" > "%t" +// RUN: %diff "%s.expect" "%t" +const {:existential true} b1:bool; +const {:existential true} b2:bool; +const {:existential true} b3:bool; +const {:existential true} b4:bool; +const {:existential true} b5:bool; + +var array:[int]int; + +procedure foo (i:int) +requires b1 ==> i == 0; +requires b2 ==> i > 0; +requires b3 ==> i < 0; +ensures b4 ==> array[i] > 0; +modifies array; +ensures (forall x:int :: {array[x]} x == i || array[x] == old(array)[x]); +{ + array[i] := 2 * i; +} + +procedure bar (j:int) returns (result:int) +requires b5 ==> j > 0; +modifies array; +{ + call foo(j); + result := array[j]; +} + +// expected outcome: Correct +// expected assigment: b1->False,b2->true,b3->False,b4->True,b5->True |