diff options
author | wuestholz <unknown> | 2013-05-30 09:12:51 -0700 |
---|---|---|
committer | wuestholz <unknown> | 2013-05-30 09:12:51 -0700 |
commit | d5574270cc5d424f1b3ec6a8021f9ef42c2c265b (patch) | |
tree | 6798976ea948b72f95e9c21b858d40d9c8d1f7de /Test/test2/Timeouts0.bpl | |
parent | 84670125bef08609d4c447c27f245fef530ebcd2 (diff) |
Changed the prover interface to report traces for time outs and out of memory.
Diffstat (limited to 'Test/test2/Timeouts0.bpl')
-rw-r--r-- | Test/test2/Timeouts0.bpl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Test/test2/Timeouts0.bpl b/Test/test2/Timeouts0.bpl new file mode 100644 index 00000000..c74e9320 --- /dev/null +++ b/Test/test2/Timeouts0.bpl @@ -0,0 +1,25 @@ +procedure TestTimeouts0(in: [int]int, len: int) returns (out: [int]int)
+ requires in[0] == 0 && (forall i: int :: 0 <= i ==> in[i + 1] == in[i] + 1);
+ requires 0 < len;
+ ensures (forall j: int :: 0 <= j && j < len ==> out[j] == j);
+{
+ var i : int;
+
+ i := 0;
+ out[i] := 0;
+ while (i < len)
+ invariant 0 <= i && i <= len;
+ invariant out[0] == 0 && (forall j: int :: 0 <= j && j < i ==> out[j + 1] == out[j] + 1);
+ {
+ out[i + 1] := out[i] + 1;
+ i := i + 1;
+ }
+
+ i := 0;
+ while (i < len)
+ invariant 0 <= i && i <= len;
+ invariant (forall j: int :: 0 <= j && j < i ==> out[j] == in[j]);
+ {
+ i := i + 1;
+ }
+}
|