End T10_1.
Section T10_2D.
Context `{T2D:Tarski_2D}.

(* Specifications: *)
Lemma all_coplanar : forall A B C D, Coplanar A B C D.
Lemma per2__col : forall A B C X, Per A X C -> X <> C -> Per B X C -> Col A B X.
Lemma perp2__col : forall X Y Z A B,
Perp X Y A B -> Perp X Z A B -> Col X Y Z.
Lemma cong_on_bissect : forall A B M P X,
Midpoint M A B -> Perp_at M A B P M -> Cong X A X B ->
Col M P X.
Lemma cong_mid_perp__col : forall A B M P X, Cong A X B X -> Midpoint M A B -> Perp A B P M -> Col M P X.
Lemma image_in_col : forall A B P P' Q Q' M,
ReflectL_at M P P' A B -> ReflectL_at M Q Q' A B ->
Col M P Q.
Lemma cong_image__col : forall A B P P' X,
P <> P' -> Reflect P P' A B -> Cong P X P' X ->
Col A B X.
Lemma cong_per2_1 :
forall A B X Y, A <> B -> Per A B X -> Per A B Y ->
Cong B X B Y -> X = Y \/ Midpoint B X Y.
Lemma cong_per2 : forall A B X Y,
A <> B -> Per A B X -> Per A B Y -> Cong B X B Y ->
X = Y \/ ReflectL X Y A B.
Lemma cong_per2_gen : forall A B X Y,
A <> B -> Per A B X -> Per A B Y -> Cong B X B Y ->
X = Y \/ Reflect X Y A B.
Lemma not_two_sides_one_side :
forall A B X Y,
~ Col X A B ->
~ Col Y A B ->
~ TS A B X Y ->
OS A B X Y.
Lemma col_perp2__col :
forall A B X Y P,
Col A B P ->
Perp A B X P ->
Perp P A Y P ->
Col Y X P.
Lemma hilbert_s_version_of_pasch_2D : forall A B C P Q,
~ Col C Q P -> ~ Col A B P -> BetS A Q B ->
exists X, Col P Q X /\ (BetS A X C \/ BetS B X C).
Lemma not_one_side_two_sides :
forall A B X Y,
~ Col X A B ->
~ Col Y A B ->
~ OS A B X Y ->
TS A B X Y.
Lemma one_or_two_sides :
forall A B X Y,
~ Col X A B ->
~ Col Y A B ->
TS A B X Y \/ OS A B X Y.
Lemma not_par_other_side :
forall A B C D I P, C <> D -> Col A B I -> Col C D I -> ~ Col A B C -> ~ Col A B P ->
exists Q, Col C D Q /\ TS A B P Q.
Lemma not_par_same_side :
forall A B C D I P, C <> D -> Col A B I -> Col C D I -> ~ Col A B C -> ~ Col A B P ->
exists Q, Col C D Q /\ OS A B P Q.