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