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