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