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