(* Julien Narboux *)
(* Formalization of *)
(* Tarski's axiomatic *)
Require Export  Ch01_tarski_axioms.
(** Some basic properties about Cong. *)
Hint Resolve cong_reflexivity : Tarski.
Hint Immediate cong_symmetry : sTarski.
Ltac sTarski := auto with Tarski sTarski.
Ltac esTarski := eauto with Tarski sTarski.
(* The following hint has been disabled since it isn't necessary (cf. cong_inner_transitivity + cong_symmetry) and it may interact badly with cong_inner_transitivity to create proofs with remaining evars *)
(*Hint Resolve cong_transitivity : Tarski.*)
Hint Resolve cong_left_commutativity cong_right_commutativity : sTarski.
Hint Resolve cong_trivial_identity : Tarski.
Proof with eTarski.
intros.
assert (Cong C D A A)...
Qed.
Hint Resolve cong_reverse_identity : Tarski.

Lemma cong_commutativity : forall A B C D, Cong A B C D -> Cong B A D C.