(* The query is true because the communication on channel c
   between out(c,a) and in(c,=a) is always public by the setting
   set privateCommOnPublicTerms = false,
   so the attacker cannot have b without having a *)

set privateCommOnPublicTerms = false.

free c:channel.
free a:bitstring [private].
free b:bitstring [private].

query x:bitstring; attacker(b) ==> attacker(a).

set verboseClauses = short.

nounif attacker(a).

process
  (out(c,a) | in(c,=a); out(c,b))

(* EXPECTPV
RESULT attacker(b[]) ==> attacker(a[]) is true.
0.008s (user 0.004s + system 0.004s), max rss 7108K
END *)
