(SIG (f o -> o) (h o o -> o) (b -> o) (c -> o) (a -> o) ) (RULES f(h(b,c)) -> c a -> h(h(h(f(a),b),h(c,c)),f(b)) h(f(a),a) -> h(c,a) b -> b h(h(b,f(b)),h(a,c)) -> b )