Definition MidPoint (A B : Point) : A <> B -> Point.

(* Specifications: *)
Lemma CollinearEquidistantBetween : forall A B I : Point, A <> B -> Collinear A B I -> Distance I A = Distance I B -> Between A I B.
Lemma MidPointBetween : forall (A B : Point) (H : A <> B), Between A (MidPoint A B H) B.
Lemma TwoMidPointsNotClockwise : forall A B C I J : Point, A <> B -> Between A I B -> Distance I A = Distance I B -> Between A J B -> Distance J A = Distance J B -> Clockwise A B C -> ~Clockwise C I J.
Lemma UniqueMidPoint : forall (A B : Point) (H : A <> B) (C : Point), Collinear A B C -> Distance C A = Distance C B -> C = MidPoint A B H.
Lemma MidPointBetweenCD : forall (A B C D : Point) (H : A <> B), Distance C A = Distance C B -> Distance D A = Distance D B -> Clockwise A B C -> Clockwise B A D -> Between C (MidPoint A B H) D.