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