Ltac prolong A B x C D :=
 assert (sg:= segment_construction A B C D);
 ex_and sg x.

(* Specifications: *)
Lemma cong_reflexivity : forall A B, Cong A B A B.
Lemma cong_symmetry : forall A B C D : Tpoint, Cong A B C D -> Cong C D A B.
Lemma cong_transitivity : forall A B C D E F : Tpoint, Cong A B C D -> Cong C D E F -> Cong A B E F.
Lemma cong_left_commutativity : forall A B C D, Cong A B C D -> Cong B A C D.
Lemma cong_right_commutativity : forall A B C D, Cong A B C D -> Cong A B D C.
Lemma cong_3421 : forall A B C D, Cong A B C D -> Cong C D B A.
Lemma cong_4312 : forall A B C D, Cong A B C D -> Cong D C A B.
Lemma cong_4321 : forall A B C D, Cong A B C D -> Cong D C B A.
Lemma cong_trivial_identity : forall A B : Tpoint, Cong A A B B.
Lemma cong_reverse_identity : forall A C D, Cong A A C D -> C=D.
Lemma cong_commutativity : forall A B C D, Cong A B C D -> Cong B A D C.