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; event(A(x)) ==> event(B(x)) && x <> a [fullSat].


process
  (in(c,(x:bitstring,y:bitstring));
   event B(x);
   event A(y);
   out(d,x))
  | in(d,x:bitstring); if x = a then out(c,choice[a,b])

(* EXPECTPV
RESULT Diff-equivalence cannot be proved.
0.028s (user 0.028s + system 0.000s), max rss 8836K
END *)
