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