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