set predicatesImplementable = nocheck.

fun enc(bitstring, bitstring): bitstring.
reduc forall x:bitstring, y:bitstring; dec(enc(x,y),y) = x.

pred time(bitstring) [block].

event e(bitstring, bitstring).

query x:bitstring, y:bitstring; event(e(x,y)).

channel c.

process
  in(c, x:bitstring);
  let k: bitstring suchthat time(dec(x,k)) in
     event e(x,k)

(* EXPECTPV
Error: Variables <vars> bound by "let <vars> suchthat <fact>" should only occur under constructors in <fact>.
xtime: error in child process (status : 2)
END *)
