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