unfold injective in |- *.
intros A B C f g H' x y H'0; try assumption.
apply H'.
unfold comp_map_map in |- *; simpl in |- *.
unfold comp_map_fun in |- *.
auto with algebra.
Qed.
Hint Resolve comp_injective: algebra.

Lemma comp_surjective :
forall (A B C : Setoid) (f : MAP A B) (g : MAP B C),
surjective (comp_map_map g f) -> surjective g.