const a,b: bitstring.

reduc f(a) = b.

event e2.
event e(bitstring, bitstring).

query event(e2) ==> false.

process
     event e(f(b), (event e2; a))

(* According to the current semantics, 
the first argument of e fails, so its second argument should not be 
evaluated, hence e2 should not be executed.
This is not what ProVerif does.

I changed the semantics to match the implementation. *)

(* EXPECTPV
RESULT not event(e2) is false.
0.000s (user 0.000s + system 0.000s), max rss 7212K
END *)
