(SIG (a -> o) (h o o -> o) (f o -> o) (c -> o) ) (RULES a -> h(f(a),c) a -> f(c) )