node f(x : bool) returns (y : bool) contract var c, cx : bool; let c = not y; cx = not (x & false fby x); tel assume cx enforce c let automaton state A do y = x unless x then B state B do y = false fby x until x then A end tel node g(x : bool) returns (last y : bool) contract var ok : bool; let automaton state No_x do ok = true until x then One_x state One_x do ok = not x until x then Error | not x then One_no_x state One_no_x do ok = not x until x then Error | not x then No_x state Error do ok = false end tel assume ok enforce not y let automaton state Idle do y = false -> last y until x then Active state Active var c : int; do y = f(x); c = 1 fby c + 1; until c = 20 then Idle end tel