set verboseDestructors = true.

const a,b,ok:bitstring.

fun commit(bitstring,bitstring):bitstring.
fun coll_a(bitstring):bitstring.
fun coll_b(bitstring):bitstring.

equation forall s,x:bitstring;
    commit(coll_a(s),x) = commit(coll_b(s),x).

reduc forall x1,x2,x3,y1,y2,y3:bitstring;
  g1(commit(x1,y1),commit(x2,y2),commit(x3,y3)) = ok.

reduc forall x1,x2,x3,y1,y2,y3:bitstring;
  g2(commit(x1,y1),commit(x1,y1),commit(x3,y3)) = ok.

reduc forall x1,x2,x3,y1,y2,y3:bitstring;
  g3(commit(x1,y1),commit(x1,y1),commit(x1,y1)) = ok.

process 0

(* EXPECTPV
0.004s (user 0.000s + system 0.004s), max rss 7580K
END *)
