(** * Group IV Congruence *)

(** The cong predicate of Hilbert is the same as the one of Tarski: *)

Definition outH := fun P A B => Between_H P A B \/ Between_H P B A \/ (P <> A /\ A = B).

(* Specifications: *)
Lemma out_outH : forall P A B, Out P A B -> outH P A B.
Lemma axiom_hcong_1_existence : forall A B A' P l, A <> B -> A' <> P -> IncidentL A' l -> IncidentL P l -> exists B', IncidentL B' l /\ outH A' P B' /\ Cong A' B' A B.
Lemma axiom_hcong_1_uniqueness : forall A B l M A' B' A'' B'', A <> B -> IncidentL M l -> IncidentL A' l -> IncidentL B' l -> IncidentL A'' l -> IncidentL B'' l -> Between_H A' M B' -> Cong M A' A B -> Cong M B' A B -> Between_H A'' M B'' -> Cong M A'' A B -> Cong M B'' A B -> (A' = A'' /\ B' = B'') \/ (A' = B'' /\ B' = A'').