// only crisp operations with implicit signatures

f(a,b,a) \/ f(b,c,b);
#reset; // needed because the following uses a different implicit signature

p(f(X),h(Y,f(a)),Y) \/ p(Z,h(Z,W),f(W));

p(f(X),h(Y,f(a)),Y) /\ p(Z,h(Z,W),f(W));

p(f(X),h(f(a),f(a)),Y) \/ p(Z,h(f(b),f(b)),f(a));

p(f(X),h(f(a),f(a)),Y) /\ p(Z,h(f(b),f(b)),f(a));
