source:
CIVL/examples/loop_invariants/loop_assigns_given/twoLoops.cvl
| Last change on this file was ea777aa, checked in by , 3 years ago | |
|---|---|
|
|
| File size: 327 bytes | |
| Rev | Line | |
|---|---|---|
| [9a23317] | 1 | #include <civlc.cvh> |
| [e93c797] | 2 | #pragma CIVL ACSL |
| [9a23317] | 3 | |
| 4 | int main() { | |
| 5 | int i = 0; | |
| 6 | ||
| 7 | /*@ loop invariant i >= 0 ; | |
| [2fa0abd] | 8 | @ loop assigns i; |
| [71d2f3f] | 9 | @ loop variant i; |
| [9a23317] | 10 | @*/ |
| 11 | while (1) { | |
| 12 | i++; | |
| [71d2f3f] | 13 | //@ assert i >= 0; |
| [9a23317] | 14 | } |
| 15 | ||
| 16 | // The second loop will never executes | |
| 17 | ||
| 18 | /*@ loop invariant i >= 0 ; | |
| [2fa0abd] | 19 | @ loop assigns i; |
| [9a23317] | 20 | @*/ |
| 21 | while(1) i--; | |
| 22 | } |
Note:
See TracBrowser
for help on using the repository browser.
