split; [ red in |- * | idtac ].
simpl in |- *; auto with algebra.
red in |- *.
intros y; exists y; try assumption; auto with algebra.
Qed.
Hint Resolve Id_is_bijective: algebra.
Comments "Some properties of composition:".

(* Specifications: *)
Lemma comp_injective :
forall (A B C : Setoid) (f : MAP A B) (g : MAP B C),
injective (comp_map_map g f) -> injective f.