free c:channel.
free d:channel [private].

fun h(bitstring):bitstring.

const a,b:bitstring.

event A(bitstring).
event B(bitstring).

const ok,ko,k:bitstring[private].

restriction x:bitstring,y:bitstring; event(A(x)) ==> event(B(x)) [fullSat].


query attacker(ok).

process
  (in(c,x:bitstring);
  if x = a
  then
    event A(a);
    out(d,k)
  else
    out(c,ko))

  | in(d,x:bitstring); out(c,ok)

(* EXPECTPV
RESULT not attacker(ok) cannot be proved.
0.008s (user 0.004s + system 0.004s), max rss 7348K
END *)
