(SIG (a -> o) (b -> o) (f o o -> o) ) (RULES a -> a a -> b a -> f(a,a) f(b,b) -> f(a,a) f(x0,a) -> f(a,b) )