summaryrefslogtreecommitdiff
path: root/Test/aitest1/ineq.bpl.expect
diff options
context:
space:
mode:
authorGravatar Dan Liew <daniel.liew@imperial.ac.uk>2014-05-07 18:55:10 +0100
committerGravatar Dan Liew <daniel.liew@imperial.ac.uk>2014-05-07 18:55:10 +0100
commit8ac64d0cc88dc65859d2cd579d2917b05e931c07 (patch)
treec1838827358a50fb0f4eec12aef551e72a8b352f /Test/aitest1/ineq.bpl.expect
parent7b38052a21916c67a75f57da3482276dcdf26ab1 (diff)
Enable Linear inequality lit tests.
Diffstat (limited to 'Test/aitest1/ineq.bpl.expect')
-rw-r--r--Test/aitest1/ineq.bpl.expect133
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