intros.
congruence.
Qed.
intros.
congruence.
Qed.
(* 15=0 /\ 10=0 /\ 6=0 -> 0=1 *)
intros.
congruence.
Qed.
(* Examples that fail due to dependencies *)
(* yields transitivity problem *)
intros;  dependent rewrite e; exact e0.
Qed.
(* yields congruence problem *)
intros;  rewrite e; reflexivity.
Qed.
(* example that Congruence. can solve (dependent function applied to the same argument)*)
congruence.
Qed.
(* Examples with injection rule *)
intros.
split;  congruence.
Qed.
intros.
congruence.
Qed.
(* Examples with discrimination rule *)
intros.
congruence.
Qed.
intros.
congruence.
Qed.
(* example with implications *)

Theorem arrow : forall (A B: Prop) (C D:Set) , A=B -> C=D  ->
(A -> C) = (B -> D).