diff options
author | Dan Liew <daniel.liew@imperial.ac.uk> | 2014-05-07 18:55:10 +0100 |
---|---|---|
committer | Dan Liew <daniel.liew@imperial.ac.uk> | 2014-05-07 18:55:10 +0100 |
commit | 8ac64d0cc88dc65859d2cd579d2917b05e931c07 (patch) | |
tree | c1838827358a50fb0f4eec12aef551e72a8b352f /Test/aitest1/ineq.bpl.expect | |
parent | 7b38052a21916c67a75f57da3482276dcdf26ab1 (diff) |
Enable Linear inequality lit tests.
Diffstat (limited to 'Test/aitest1/ineq.bpl.expect')
-rw-r--r-- | Test/aitest1/ineq.bpl.expect | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/Test/aitest1/ineq.bpl.expect b/Test/aitest1/ineq.bpl.expect new file mode 100644 index 00000000..d6c36bdd --- /dev/null +++ b/Test/aitest1/ineq.bpl.expect @@ -0,0 +1,133 @@ +procedure SimpleLoop(); + + + +implementation SimpleLoop() +{ + var i: int; + + start: + assume {:inferred} true; + i := 0; + assume {:inferred} i == 0; + goto test; + + test: // cut point + assume {:inferred} 0 <= i && i < 11; + assume {:inferred} 0 <= i && i < 11; + goto Then, Else; + + Else: + assume {:inferred} 0 <= i && i < 11; + assume !(i < 10); + assume {:inferred} 0 <= i && i < 11; + return; + + Then: + assume {:inferred} 0 <= i && i < 11; + assume i < 10; + i := i + 1; + assume {:inferred} 1 <= i && i < 11; + goto test; +} + + + +procedure VariableBoundLoop(n: int); + + + +implementation VariableBoundLoop(n: int) +{ + var i: int; + + start: + assume {:inferred} true; + i := 0; + assume {:inferred} i == 0; + goto test; + + test: // cut point + assume {:inferred} 0 <= i; + assume {:inferred} 0 <= i; + goto Then, Else; + + Else: + assume {:inferred} 0 <= i; + assume !(i < n); + assume {:inferred} 0 <= i; + return; + + Then: + assume {:inferred} 0 <= i; + assume i < n; + i := i + 1; + assume {:inferred} 1 <= i && 1 <= n; + goto test; +} + + + +procedure Foo(); + + + +implementation Foo() +{ + var i: int; + + start: + assume {:inferred} true; + i := 3 * i + 1; + i := 3 * (i + 1); + i := 1 + 3 * i; + i := (i + 1) * 3; + assume {:inferred} true; + return; +} + + + +procedure FooToo(); + + + +implementation FooToo() +{ + var i: int; + + start: + assume {:inferred} true; + i := 5; + i := 3 * i + 1; + i := 3 * (i + 1); + i := 1 + 3 * i; + i := (i + 1) * 3; + assume {:inferred} i == 465; + return; +} + + + +procedure FooTooStepByStep(); + + + +implementation FooTooStepByStep() +{ + var i: int; + + L0: + assume {:inferred} true; + i := 5; + i := 3 * i + 1; + i := 3 * (i + 1); + i := 1 + 3 * i; + i := (i + 1) * 3; + assume {:inferred} i == 465; + return; +} + + + +Boogie program verifier finished with 0 verified, 0 errors |