Require Export GeoCoq.Meta_theory.Decidability.equivalence_between_decidability_properties_of_basic_relations.
Section T5.
Context `{TnEQD:Tarski_neutral_dimensionless_with_decidable_point_equality}.

(* Specifications: *)
Lemma l5_1 : forall A B C D,
A<>B -> Bet A B C -> Bet A B D -> Bet A C D \/ Bet A D C.
Lemma l5_2 : forall A B C D,
A<>B -> Bet A B C -> Bet A B D -> Bet B C D \/ Bet B D C.
Lemma segment_construction_2 :
forall A Q B C, A<>Q -> exists X, (Bet Q A X \/ Bet Q X A) /\ Cong Q X B C.
Lemma l5_3 : forall A B C D,
Bet A B D -> Bet A C D -> Bet A B C \/ Bet A C B.
Lemma bet3__bet : forall A B C D E, Bet A B E -> Bet A D E -> Bet B C D -> Bet A C E.
Lemma le_bet : forall A B C D, Le C D A B -> exists X, Bet A X B /\ Cong A X C D.
Lemma l5_5_1 : forall A B C D,
Le A B C D -> exists x, Bet A B x /\ Cong A x C D.
Lemma l5_5_2 : forall A B C D,
(exists x, Bet A B x /\ Cong A x C D) -> Le A B C D.
Lemma l5_6 : forall A B C D A' B' C' D',
Le A B C D -> Cong A B A' B' -> Cong C D C' D' -> Le A' B' C' D'.
Lemma le_reflexivity : forall A B, Le A B A B.
Lemma le_transitivity : forall A B C D E F, Le A B C D -> Le C D E F -> Le A B E F.
Lemma between_cong : forall A B C, Bet A C B -> Cong A C A B -> C=B.
Lemma cong3_symmetry : forall A B C A' B' C' : Tpoint , Cong_3 A B C A' B' C' -> Cong_3 A' B' C' A B C.
Lemma between_cong_2 : forall A B D E, Bet A D B -> Bet A E B -> Cong A D A E -> D = E.
Lemma between_cong_3 :
forall A B D E, A <> B -> Bet A B D -> Bet A B E -> Cong B D B E -> D = E.
Lemma le_anti_symmetry : forall A B C D, Le A B C D -> Le C D A B -> Cong A B C D.
Lemma cong_dec : forall A B C D,
Cong A B C D \/ ~ Cong A B C D.
Lemma bet_dec : forall A B C, Bet A B C  \/  ~ Bet A B C.
Lemma col_dec : forall A B C, Col A B C \/ ~ Col A B C.
Lemma le_trivial : forall A C D, Le A A C D .
Lemma le_cases : forall A B C D, Le A B C D \/ Le C D A B.
Lemma le_zero : forall A B C, Le A B C C -> A=B.
Lemma le_diff : forall A B C D, A <> B -> Le A B C D -> C <> D.
Lemma lt_diff : forall A B C D, Lt A B C D -> C <> D.
Lemma bet_cong_eq :
forall A B C D,
Bet A B C ->
Bet A C D ->
Cong B C A D ->
C = D /\ A = B.
Lemma cong__le : forall A B C D, Cong A B C D -> Le A B C D.
Lemma cong__le3412 : forall A B C D, Cong A B C D -> Le C D A B.
Lemma le1221 : forall A B, Le A B B A.
Lemma le_left_comm : forall A B C D, Le A B C D -> Le B A C D.
Lemma le_right_comm : forall A B C D, Le A B C D -> Le A B D C.
Lemma le_comm : forall A B C D, Le A B C D -> Le B A D C.
Lemma ge_left_comm : forall A B C D, Ge A B C D -> Ge B A C D.
Lemma ge_right_comm : forall A B C D, Ge A B C D -> Ge A B D C.
Lemma ge_comm :  forall A B C D, Ge A B C D -> Ge B A D C.
Lemma lt_right_comm : forall A B C D, Lt A B C D -> Lt A B D C.
Lemma lt_left_comm : forall A B  C D, Lt A B C D -> Lt B A C D.
Lemma lt_comm : forall A B  C D, Lt A B C D -> Lt B A D C.
Lemma gt_left_comm : forall A B C D, Gt A B C D -> Gt B A C D.
Lemma gt_right_comm : forall A B C D, Gt A B C D -> Gt A B D C.
Lemma gt_comm : forall A B C D, Gt A B C D -> Gt B A D C.
Lemma cong2_lt__lt : forall A B C D A' B' C' D',
Lt A B C D -> Cong A B A' B' -> Cong C D C' D' -> Lt A' B' C' D'.
Lemma fourth_point : forall A B C P, A <> B -> B <> C -> Col A B P -> Bet A B C ->
Bet P A B \/ Bet A P B \/ Bet B P C \/ Bet B C P.
Lemma third_point : forall A B P, Col A B P -> Bet P A B \/ Bet A P B \/ Bet A B P.
Lemma l5_12_a : forall A B C, Bet A B C -> Le A B A C /\ Le B C A C.
Lemma bet__le1213 : forall A B C, Bet A B C -> Le A B A C.
Lemma bet__le2313 : forall A B C, Bet A B C -> Le B C A C.
Lemma bet__lt1213 : forall A B C, B <> C -> Bet A B C -> Lt A B A C.
Lemma bet__lt2313 : forall A B C, A <> B -> Bet A B C -> Lt B C A C.
Lemma l5_12_b : forall A B C, Col A B C -> Le A B A C -> Le B C A C -> Bet A B C.
Lemma bet_le_eq : forall A B C, Bet A B C -> Le A C B C -> A = B.
Lemma or_lt_cong_gt : forall A B C D, Lt A B C D \/ Gt A B C D \/ Cong A B C D.
Lemma lt__le : forall A B C D, Lt A B C D -> Le A B C D.
Lemma le1234_lt__lt : forall A B C D E F, Le A B C D -> Lt C D E F -> Lt A B E F.
Lemma le3456_lt__lt : forall A B C D E F, Lt A B C D -> Le C D E F -> Lt A B E F.
Lemma lt_transitivity : forall A B C D E F, Lt A B C D -> Lt C D E F -> Lt A B E F.
Lemma not_and_lt : forall A B C D, ~ (Lt A B C D /\ Lt C D A B).
Lemma nlt : forall A B, ~ Lt A B A B.
Lemma le__nlt : forall A B C D, Le A B C D -> ~ Lt C D A B.
Lemma cong__nlt : forall A B C D,
Cong A B C D -> ~ Lt A B C D.
Lemma nlt__le : forall A B C D, ~ Lt A B C D -> Le C D A B.
Lemma lt__nle : forall A B C D, Lt A B C D -> ~ Le C D A B.
Lemma nle__lt : forall A B C D, ~ Le A B C D -> Lt C D A B.
Lemma lt1123 : forall A B C, B<>C -> Lt A A B C.
Lemma bet2_le2__le : forall O o A B a b, Bet a o b -> Bet A O B -> Le o a O A -> Le o b O B -> Le a b A B.
End T5.