blob: 089293a2ba7b776754bcc6c9ab37bba1e791e90f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
const bound: int = 7;
node updown() returns(probe x: int)
var last_x: int;
let
last_x = 0 -> pre x;
guarantee x_bounded: x >= -bound and x <= bound;
automaton
initial state UP
let x = last_x + 1; tel
until if x >= bound resume DOWN;
state DOWN
let x = last_x - 1; tel
until if x <= -bound resume UP;
returns x;
tel
node test(i: int) returns(a, b, c: int; exit: bool)
let
exit = i >= 30;
a = updown();
b = 0;
c = 0;
tel
|