node counter(res: bool; tick: bool) returns (o: int)
let
  o = if res then 0 else if tick then 1 -> pre o + 1 else 0 -> pre o;
tel

node counter3() returns (t: async bool)
var last async t: int; cpt: int;
let
  cpt = counter(false,true);
  automaton
    state I do
      t = async counter(false,true)));
      until true continue III
    state III do
      until cpt/3 = 0 continue I
  end;
  b = 0 fby cpt - 1 = 0 -> !t ;
tel