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