blob: 43589d0123cdc6017d80cf9af828d8100ddeb230 (
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
27
28
29
30
31
|
node abro(a, b, r: bool) returns(o: bool)
var
ha, hb: bool;
let
automaton initial state G let
automaton
initial state N ha = false; until if a resume M;
state M ha = true;
returns ha;
automaton
initial state N hb = false; until if b resume M;
state M hb = true;
returns hb;
tel until if r restart G;
returns ha, hb;
o = ha and hb and (false -> not pre(ha and hb));
tel
node test(i: int) returns(a, b, c: int; exit: bool)
var xa, xb, xr: bool;
let
xa = (i mod 3 = 2);
xb = (i mod 5 = 3);
xr = (i mod 9 = 4);
a = if xa then 1 else 0;
b = if xb then 1 else 0;
c = (if abro(xa, xb, xr) then 1 else 0) + (if xr then 2 else 0);
exit = (i >= 128);
tel
|