Section T18.
Context `{T2D:Tarski_2D}.
Context `{TE:@Tarski_euclidean Tn TnEQD}.
Variable SS U1 U2 : Tpoint.
Variable orthonormal_grid : Cs O E SS U1 U2.
Definition F : Type := {P : Tpoint | Col O E P}.
Definition EqF (x y : F) := (proj1_sig x) = (proj1_sig y).
Instance eqF_Reflexive : Reflexive EqF.
Definition LeF (x y : F) := LeP O E E' (proj1_sig x) (proj1_sig y).
Instance leF_Antisymmetric : Antisymmetric F EqF LeF.
(* For 8.5 Instance leF_Antisymmetric : Antisymmetric eqF leF. *)
Definition MulF (x y : F) : F.
Add Ring GeometricRing : ringF.
Add Field GeometricField : fieldF.
Global Instance Fops: (@Ring_ops F OF OneF AddF MulF SubF OppF EqF) := {}.
Global Instance FRing : (Ring (Ro:=Fops)).
Global Instance Fintegral : (Integral_domain (Rcr:=Fcri)).
Definition sqrt3 := PythF 1 (PythF 1 1).

Lemma characterization_of_parallelism_F_aux : forall A B C D,
Par A B C D <->
A <> B /\ C <> D /\
exists P, Midpoint C A P /\ exists Q, Midpoint Q B P /\ Col C D Q.