(* The query is true because the communication on channel c
   between out(c,a) and in(c,x) is always public by the setting
   set privateCommOnPublicTerms = false,
   so when a message is sent on c, the attacker has it. *)

set privateCommOnPublicTerms = false.

free c:channel.

query x:bitstring; mess(c,x) ==> attacker(x).

set verboseClauses = short.

process
  new a:bitstring;
  new b:bitstring;
  (out(c,a) | in(c,x:bitstring); out(c,b))

(* EXPECTPV
RESULT mess(c[],x_1) ==> attacker(x_1) is true.
0.008s (user 0.000s + system 0.008s), max rss 7124K
END *)
