(* Specifications: *)
Lemma HalfLineNotClockwiseABC : forall A B C, HalfLine A B C -> ~Clockwise A B C.
Lemma HalfLineNotClockwiseBAC : forall A B C, HalfLine A B C -> ~Clockwise B A C.
Lemma HalfLineCollinear : forall A B C, HalfLine A B C -> Collinear A B C.
Lemma HalfLineSym : forall A B C, A <> B -> HalfLine A B C -> HalfLine A C B.
Lemma ClockwiseNotHalfLine : forall A B C, Clockwise A B C -> ~HalfLine A B C.
Lemma HalfLineDistinct : forall A B C, A <> B -> HalfLine A B C -> A <> C.
Lemma EquiDirectedCollinearEquiDirected : forall A B C D E : Point, EquiDirected A B C D -> Collinear C D E -> C <> D -> C <> E -> EquiDirected A B C E.
Lemma EquiDirectedCollinearCollinearEquiDirected : forall A B C D E F : Point, EquiDirected A B C D -> Collinear C D E -> C <> D -> Collinear C D F -> E <> F -> EquiDirected A B E F.
Lemma TwoPointsSecantLines : forall A B : Point, forall F F' : Figure, forall D : Line F, forall D' : Line F', Clockwise (LineA F D) (LineB F D) A -> ~Clockwise (LineA F D) (LineB F D) B -> F' A -> F' B -> SecantLines F F' D D'.
Lemma EquiDirectedLineACollinear : forall A : Point, forall F F' : Figure, forall D : Line F, forall D' : Line F', EquiDirected (LineA F D) (LineB F D) (LineA F' D') (LineB F' D') -> F A -> F' A -> LineA F D <> A -> F' (LineA F D).
Lemma EquiDirectedLineBCollinear : forall A : Point, forall F F' : Figure, forall D : Line F, forall D' : Line F', EquiDirected (LineA F D) (LineB F D) (LineA F' D') (LineB F' D') -> F A -> F' A -> LineB F D <> A -> F' (LineB F D).
Lemma CollinearSuperimposed : forall A : Point, forall F F' : Figure, forall D : Line F, forall D' : Line F', EquiDirected (LineA F D) (LineB F D) (LineA F' D') (LineB F' D') -> F A -> F' A -> Superimposed F F'.
Lemma LSltNotRefl : forall A B : Point, ~LSlt (Distance A B) (Distance A B).
Lemma LSltNotEq : forall A B C D, LSlt (Distance A B) (Distance C D) -> (Distance A B) <> (Distance C D).
Lemma LSplusComm : forall A B C D : Point, A <> B -> C <> D -> LSplus (Distance A B) (Distance C D) = LSplus (Distance C D) (Distance A B).
Lemma LSplusAss : forall A B C D E F : Point, A <> B -> C <> D -> E <> F -> LSplus (Distance A B) (LSplus (Distance C D) (Distance E F)) = LSplus(LSplus (Distance A B) (Distance C D)) (Distance E F).
Lemma LSltLSplus : forall A B C D : Point, LSlt LS0 (Distance A B) -> LSlt LS0 (Distance C D) -> LSlt LS0 (LSplus (Distance A B) (Distance C D)).
Lemma ChaslesLSltTrans : forall A B C D : Point, A <> B -> HalfLine A B C -> HalfLine A C D -> LSlt (Distance A B) (Distance A C) -> LSlt (Distance A C) (Distance A D) -> LSlt (Distance A B) (Distance A D).
Lemma LSltTrans : forall A B C D E F : Point, A <> B -> C <> D -> E <> F -> LSlt (Distance A B) (Distance C D) -> LSlt (Distance C D) (Distance E F) -> LSlt (Distance A B) (Distance E F).
Lemma SumAnglesRec : forall A B C D E : Point, Clockwise A B C -> Clockwise A C D -> Between B A E -> Angle B A C = Angle A C D -> Angle D A E = Angle A D C.
Lemma SumAnglesCorollary : forall A B C D E A' B' C' : Point, Clockwise A' B' C' -> Clockwise A B C -> Clockwise A C D -> Angle B A C = Angle A' B' C' -> Angle C A D = Angle B' A' C' -> Between B A E -> Angle D A E = Angle A' C' B'.
Lemma TwoEmbeddedTriangles : forall A B C D E : Point, Clockwise A B C -> Between A D B -> Between A E C -> Angle A D E = Angle A B C -> Angle A E D = Angle A C B.
Lemma TwoEmbeddedSymTriangles : forall A B C D E : Point, Clockwise A B C -> Between A D B -> Between A E C -> Angle A E D = Angle A C B -> Angle A D E = Angle A B C.
Lemma ExternParallelogramm : forall A B C D E : Point, Parallelogramm A B C D -> Between D C E -> Angle A B C = Angle B C E.
Lemma ExternOppParallelogramm : forall A B C D E : Point, Parallelogramm A B C D -> Between B C E -> Angle A B C = Angle D C E.
Lemma ParallelogrammExtern : forall A B C D E : Point, Parallelogramm A B C D -> Clockwise C B E -> Angle A B C = Angle B C E -> Between D C E.
Theorem Parallel_exists : forall A : Point, forall (F : Figure) (D : Line F), exists F' : Figure, (exists D' : Line F', ParallelLines F F' D D' /\ F' A).
Theorem Parallel_unicity : forall A : Point, forall (F : Figure) (D : Line F), forall (F' F'' : Figure) (D' : Line F') (D'' : Line F''), ParallelLines F F' D D' -> F' A -> ParallelLines F F'' D D'' -> F'' A -> Superimposed F' F''.
Lemma ThreeEmbeddedTriangles : forall A B C D E F G : Point, Clockwise A B C -> HalfLine A B D -> HalfLine A C E -> Angle A B C = Angle A D E -> Angle A C B = Angle A E D -> Between A D F -> Between A E G -> Distance D F = Distance A B -> Distance E G = Distance A C -> Angle A B C = Angle A F G /\ Angle A C B = Angle A G F.
Lemma EmbeddedSimilarTriangles : forall A B C : Point, forall n : nat, Clockwise A B C -> n > 0 -> forall D E : Point, HalfLine A B D -> HalfLine A C E -> Distance A D = DistTimesn n A B -> Distance A E = DistTimesn n A C -> Angle A B C = Angle A D E /\ Angle A C B = Angle A E D.
Lemma ExistsClockwiseParallelogramm : forall A B C D E : Point, Parallelogramm A B C D -> Between D E A -> exists F : Point, Collinear C E F /\ Clockwise B A F.
Lemma ExistsClockwiseParallelogrammSym : forall A B C D E : Point, Parallelogramm A B C D -> Between A E C -> exists F : Point, Collinear D E F /\ Clockwise B A F.
Lemma SecantParallelogrammSecant : forall A B : Point, forall F F' : Figure, forall D : Line F, forall D' : Line F', Parallelogramm (LineA F D) (LineB F D) A B -> F' A -> ~F' B -> SecantLines F F' D D'.
Lemma ParallelogrammSuperimposed : forall A B C E : Point, forall F : Figure, forall D : Line F, Parallelogramm A B C E -> EquiDirected A B (LineA F D) (LineB F D) -> F C -> Superimposed F (Collinear C E).
Lemma I1 : forall A B : Point, exists L : Figure, exists D : Line L, L A /\ L B.
Lemma I1' : forall A B : Point, forall F1 F2 : Figure, forall D1 : Line F1, forall D2 : Line F2, A <> B -> F1 A -> F1 B -> F2 A -> F2 B -> Superimposed F1 F2.
Lemma I2 : forall F : Figure, forall D : Line F, exists A : Point, exists B : Point, A <> B /\ F A /\ F B.
Lemma I3 : exists A : Point, exists B : Point, exists C : Point, forall F : Figure, forall D : Line F, ~(F A /\ F B /\ F C).
Lemma EquiDirectedRefl : forall A B : Point, EquiDirected A B A B.
Lemma EquiDirectedSym : forall A B C D : Point, EquiDirected A B C D -> EquiDirected C D A B.
Lemma EquiDirectedPermut : forall A B C D : Point, EquiDirected A B C D -> EquiDirected B A C D.
Lemma EquiDirectedPermutCD: forall A B C D : Point, EquiDirected A B C D -> EquiDirected A B D C.
Lemma ParallelNotClockwiseABC : forall A B C D, EquiOriented A B C D -> ~Clockwise A B C.
Lemma ParallelNotClockwiseABD : forall A B C D, EquiOriented A B C D -> ~Clockwise A B D.
Lemma ParallelCollinearABD : forall A B C D, EquiOriented A B C D -> Collinear A B C -> Collinear A B D.
Lemma ParallelCollinearABC : forall A B C D, EquiOriented A B C D -> Collinear A B D -> Collinear A B C.
Lemma ParallelCollinearCDB : forall A B C D, EquiOriented A B C D -> Collinear C D A -> Collinear C D B.
Lemma ParallelCollinearCDA : forall A B C D, EquiOriented A B C D -> Collinear C D B -> Collinear C D A.
Lemma C1a : forall A B C D : Point, A <> B -> C <> D -> exists E : Point, HalfLine C D E /\ Distance A B = Distance C E.
Lemma C1b : forall A B C D E F : Point, A <> B -> C <> D -> HalfLine C D E -> Distance A B = Distance C E -> HalfLine C D F -> Distance A B = Distance C F -> E = F.
Lemma C2a : forall A B C D E F : Point, Distance A B = Distance C D -> Distance A B = Distance E F -> Distance C D = Distance E F.
Lemma C2b : forall A B : Point, Distance A B = Distance A B.
Lemma C3 : forall A B C D E F : Point, Between A B C -> Between D E F -> Distance A B = Distance D E -> Distance B C = Distance E F -> Distance A C = Distance D F.
Lemma C4a : forall A B C D F : Point, A <> B -> A <> C -> D <> F -> exists E : Point, D <> E /\ ~Clockwise D F E /\ Angle B A C = Angle E D F.
Lemma C4b : forall A B C D F : Point, A <> B -> A <> C -> D <> F -> exists E : Point, D <> E /\ ~Clockwise D E F /\ Angle B A C = Angle E D F.
Lemma C4c : forall A B C D F E E' : Point, A <> B -> A <> C -> D <> F -> D <> E -> D <> E' -> ~Clockwise D E F -> ~Clockwise D E' F -> Angle B A C = Angle E D F -> Angle B A C = Angle E' D F -> Superimposed (HalfLine D E) (HalfLine D E').
Lemma C4d : forall A B C D F E E' : Point, A <> B -> A <> C -> D <> F -> D <> E -> D <> E' -> ~Clockwise D F E -> ~Clockwise D F E' -> (Angle B A C) = (Angle E D F) -> (Angle B A C) = (Angle E' D F) -> Superimposed (HalfLine D E) (HalfLine D E').
Lemma C5a : forall A B C : Point, Angle B A C = Angle B A C.
Lemma C5b : forall A B C D E F G H J : Point, Angle B A C = Angle E D F -> Angle B A C = Angle H G J -> Angle E D F = Angle H G J.
Lemma C6a : forall A B C D E F : Point, A <> B -> A <> C -> Distance A B = Distance D E -> Distance A C = Distance D F -> Angle B A C = Angle E D F -> Distance B C = Distance E F.
Lemma C6b : forall A B C D E F : Point, A <> B -> A <> C -> B <> C -> Distance A B = Distance D E -> Distance A C = Distance D F -> Angle B A C = Angle E D F -> Angle A B C = Angle D E F.
Lemma C6c : forall A B C D E F : Point, A <> B -> A <> C -> B <> C -> Distance A B = Distance D E -> Distance A C = Distance D F -> Angle B A C = Angle E D F -> Angle A C B = Angle D F E.
Lemma ExistsHalfLineEquidistant : forall A B C D : Point, A <> B -> C <> D -> {E : Point | HalfLine A B E /\ Distance A E = Distance C D}.
Lemma HalfLineEquidistantEqual : forall A B C : Point, A <> B -> HalfLine A B C -> Distance A B = Distance A C -> B = C.
Lemma ExistsBetweenEquidistant : forall A B C D : Point, A <> B -> C <> D -> {E : Point | Between E A B /\ Distance A E = Distance C D}.
Lemma ExistsEquidistantBetween : forall A B C D : Point, A <> B -> C <> D -> {E : Point | Between A B E /\ Distance B E = Distance C D}.
Lemma CentralSymetPoint : forall A B : Point, A <> B -> {C : Point | Distance A B = Distance B C /\ Between A B C}.
Lemma CoordinatePoint : forall A B : Point, A <> B -> {C : Point | HalfLine Oo Uu C /\ Distance Oo C = Distance A B}.
Lemma FMCircle : forall F : Figure, forall G : Circle F, forall M : Point, F M -> Distance (Center F G) M = Radius F G.
Lemma CircleFM : forall F : Figure, forall G : Circle F, forall M : Point, Distance (Center F G) M = Radius F G -> F M.
Lemma CircleSuperimposedCr : forall F : Figure, forall G : Circle F, Superimposed F (fun M : Point => Distance (Center F G) M = Radius F G).
Lemma ExistsDParallelogramm : forall A B C : Point, Clockwise A B C -> {D : Point | Parallelogramm A B C D}.
Lemma ParallelogrammCenterClockwiseABI : forall A B C D I : Point, forall H : Parallelogramm A B C D, ParallelogrammCenter A B C D H I -> Clockwise A B I.
Lemma ParallelogrammCenterClockwiseAID : forall A B C D I : Point, forall H : Parallelogramm A B C D, ParallelogrammCenter A B C D H I -> Clockwise A I D.
Lemma ParallelogrammCenterClockwiseICD : forall A B C D I : Point, forall H : Parallelogramm A B C D, ParallelogrammCenter A B C D H I -> Clockwise I C D.
Lemma ParallelogrammCenterClockwiseIBC : forall A B C D I : Point, forall H : Parallelogramm A B C D, ParallelogrammCenter A B C D H I -> Clockwise I B C.
Lemma ParallelogrammCenterCongruentTriangles : forall A B C D I : Point, forall H : Parallelogramm A B C D, ParallelogrammCenter A B C D H I -> CongruentStrictTriangles A I B C I D.
Lemma ParallelogrammCenterBetweenBID : forall A B C D I : Point, forall H : Parallelogramm A B C D, ParallelogrammCenter A B C D H I -> Between B I D.
Lemma ParallelogrammCenterMidPointBD : forall A B C D I : Point, forall H : Parallelogramm A B C D, ParallelogrammCenter A B C D H I -> Distance I B = Distance I D.
Theorem ParallelHalfLine : forall A B C D E : Point, forall H : Parallelogramm A B C D, HalfLine C D E -> Clockwise A B E.
Theorem HalfLineParallel : forall A B C D E : Point, forall H : Parallelogramm A B C D, HalfLine D C E -> Clockwise A B E.
Theorem ParallelClockwise : forall A B C : Point, Clockwise A B C -> exists D : Point, EquiDirected A B C D /\ C <> D.
Lemma ParallelogrammParallelogrammBetween : forall A B C D E : Point, Parallelogramm A B C D -> Parallelogramm C A B E -> Between D C E.
Lemma ParallelogrammClockwiseBCD : forall A B C D : Point, Parallelogramm A B C D -> Clockwise B C D.
Lemma ParallelogrammClockwiseBDA : forall A B C D : Point, Parallelogramm A B C D -> Clockwise B D A.
Lemma ParallelogrammPermut : forall A B C D : Point, Parallelogramm A B C D -> Parallelogramm B C D A.
Lemma ParallelogrammSym : forall A B C D E : Point, Parallelogramm A B C D -> Distance D C = Distance C E -> Between D C E -> Parallelogramm A B E C.
Lemma BetweenDistinctAB : forall A B C, Between A B C -> A <> B.
Lemma BetweenNotClockwiseABC : forall A B C, Between A B C -> ~Clockwise A B C.
Lemma ClockwiseNotBetweenABC : forall A B C, Clockwise A B C -> ~Between A B C.
Lemma BetweenNotClockwiseBAC : forall A B C, Between A B C -> ~Clockwise B A C.
Lemma BetweenHalfLine : forall A B C, Between A B C -> HalfLine A B C.
Lemma BetweenSymHalfLine : forall A B C, Between A B C -> HalfLine C B A.
Lemma ThreeCases : forall A B C, Clockwise A B C \/ Clockwise B A C \/ Collinear A B C.
Lemma InOrOutLine : forall A : Point, forall F : Figure, forall D : Line F, F A \/ ~F A.
Lemma CollinearHalfLine : forall A B C, Collinear A B C -> HalfLine A B C \/ HalfLine B A C.
Lemma ExclusiveTwoCases : forall A B C, A <> C -> Collinear A B C -> HalfLine A B C \/ EquiOriented A B C A.
Lemma EquiOrientedSym : forall A B C, A<>B -> EquiOriented A B C A -> EquiOriented C A A B.
Lemma EquiOrientedRev : forall A B C, Between A B C -> EquiOriented B C A B.
Lemma BetweenTransC : forall A B C D : Point, Between A B C -> Between A C D -> Between B C D.
Lemma BetweenTransA : forall A B C D : Point, Between A B C -> Between A C D -> Between A B D.
Lemma NotFourBetween : forall A B C M P Q : Point, Clockwise A M P -> Between A M B -> Between A P C -> Between B Q C -> Between M P Q -> False.
Lemma ExclusiveCollinear : forall A B C, A <> B -> A <> C -> Collinear A B C -> HalfLine A B C \/ Between C A B.
Lemma CollinearTrans : forall A B C D, A <> B -> Collinear A B C -> Collinear A B D -> Collinear A C D.
Lemma MarkChange : forall A B C D, A <> B -> C <> D -> Collinear A B C -> Collinear A B D -> Superimposed (Collinear A B) (Collinear C D).
Lemma LineAB : forall A B : Point, forall F : Figure, forall D : Line F, A <> B -> F A -> F B -> Superimposed F (Collinear A B).
Lemma FLineA : forall F : Figure, forall D : Line F, F (LineA F D).
Lemma FLineB : forall F : Figure, forall D : Line F, F (LineB F D).
Lemma LineSuperimposedAB : forall F : Figure, forall D : Line F, Superimposed F (Collinear (LineA F D) (LineB F D)).
Lemma FLineIn : forall F : Figure, forall D : Line F, forall A : Point, F A -> Collinear (LineA F D) (LineB F D) A.
Lemma InFLine : forall F : Figure, forall D : Line F, forall A : Point, Collinear (LineA F D) (LineB F D) A -> F A.
Lemma TriangleSpecPerm : forall A B C : Point, TriangleSpec (Distance A B) (Distance B C) (Distance C A) -> TriangleSpec (Distance B C) (Distance C A) (Distance A B) .
Lemma ClockwiseTriangleSpec : forall A B C : Point, Clockwise A B C -> TriangleSpec (Distance A B) (Distance B C) (Distance C A).
Lemma B1a : forall A B C, Between A B C -> A <> B.
Lemma B1b : forall A B C, Between A B C -> B <> C.
Lemma B1c : forall A B C, Between A B C -> C <> A.
Lemma B1d : forall A B C, Between A B C -> Collinear A B C.
Lemma B1e : forall A B C, Between A B C -> Between C B A.
Lemma B2 : forall A B, A <> B -> {C : Point | Between A B C}.
Lemma B3a : forall A B C, A <> B -> B <> C -> C <> A -> Collinear A B C -> Between A B C \/ Between B C A \/ Between C A B.
Lemma B3b : forall A B C, Between A B C -> ~Between B A C.
Lemma B3c : forall A B C, Between A B C -> ~Between A C B.
Lemma B4a : forall A B C M N, ~Collinear A B C -> Between A M B -> ~Collinear A M N -> ~Collinear B M N -> ~Collinear C M N -> (exists P : Point, Collinear M N P /\ Between A P C) \/ (exists P : Point, Collinear M N P /\ Between B P C).
Lemma B4b : forall A B C M N P Q, ~Collinear A B C -> Between A M B -> ~Collinear A M N -> ~Collinear B M N -> ~Collinear C M N -> Collinear M N P -> Between A P C -> Collinear M N Q -> Between B Q C -> False.
Lemma StrictlyParallel : forall A B C D, EquiOriented A B C D -> ~Collinear A B C -> ~Collinear A B D.
Lemma NotClockwiseTwoCases : forall A B C : Point, ~Clockwise A B C -> Clockwise B A C \/ Collinear A B C.
Lemma FourPointsSecantLine : forall A B C D, Clockwise A B C -> ~Clockwise A B D -> ~EquiDirected A B C D.
Lemma NotEquidirectedDistinctAB : forall A B C D, ~EquiDirected A B C D-> A<>B.
Lemma NotEquidirectedDistinctCD : forall A B C D, ~EquiDirected A B C D-> C<>D.
Lemma LinesIntersectionPoint : forall A B C D, ~EquiDirected A B C D-> {I : Point | Collinear A B I /\ Collinear C D I}.
Lemma UniqueIntersectionLines : forall A B C D I J : Point, A <> B -> C <> D -> ~EquiDirected A B C D -> Collinear A B I -> Collinear A B J -> Collinear C D I -> Collinear C D J -> I = J.
Lemma FourPointsIntersectionPoint : forall A B C D, Clockwise A B C -> Clockwise B A D -> {I : Point | Collinear A B I /\ Between C I D}.
Lemma PaschABC : forall A B C M N, Clockwise A B C -> Between A M B -> ~Collinear A M N -> ~Collinear B M N -> ~Collinear C M N -> (exists P : Point, Collinear M N P /\ Between A P C) \/ (exists P : Point, Collinear M N P /\ Between B P C).
Lemma TriangleSpecComm : forall A B C : Point, A <> B -> B <> C -> C <> A -> TriangleSpec (Distance A B) (Distance B C) (Distance C A) -> TriangleSpec (Distance A B) (Distance C A) (Distance B C) .
Lemma EqualTriangleClockwise : forall A B C D E : Point, Clockwise A B C -> Distance A B = Distance D E -> {F : Point | Clockwise D E F /\ Distance B C = Distance E F /\ Distance C A = Distance F D}.
Lemma EqualTriangleAntiClockwise : forall A B C D E : Point, Clockwise A B C -> Distance A B = Distance D E -> {F : Point | Clockwise D F E /\ Distance B C = Distance E F /\ Distance C A = Distance F D}.
Lemma ExistsCongruentStrictTriangle : forall A B C D E : Point, Clockwise A B C -> Distance A B = Distance D E -> {F : Point | CongruentStrictTriangles A B C D E F /\ Clockwise D E F}.
Lemma ClockwiseBCA : forall A B C, Clockwise A B C -> Clockwise B C A.
Lemma ClockwiseCAB : forall A B C, Clockwise A B C -> Clockwise C A B.
Lemma NotClockwiseAAB : forall A B, ~Clockwise A A B.
Lemma NotClockwiseABA : forall A B , ~Clockwise A B A.
Lemma NotClockwiseBAA : forall A B , ~Clockwise B A A.
Lemma ClockwiseDistinctAB : forall A B C, Clockwise A B C -> A <> B.
Lemma ClockwiseDistinctBC : forall A B C, Clockwise A B C -> B <> C.
Lemma ClockwiseDistinctCA : forall A B C, Clockwise A B C -> C <> A.
Lemma ClockwiseNotClockwise : forall A B C, Clockwise A B C -> ~Clockwise B A C.
Lemma ClockwiseClockwiseDistinct : forall A B C D, Clockwise A B C -> Clockwise B A D -> C <> D.
Lemma ExclusiveFourCases : forall A B C, A <> C -> Clockwise A B C \/ Clockwise B A C \/ HalfLine A B C \/ EquiOriented A B C A.
Lemma BetweenHalfLineBetween : forall A B C D : Point, Between A B C -> HalfLine B C D -> Between A B D.
Lemma CongruentOppParallelogramm : forall A B C D E : Point, Between B A D -> Between C A E -> Distance A B = Distance A C -> Distance A B = Distance A D -> Distance A B = Distance A E -> ~Collinear A B C -> Angle B A C = Angle E A D.
Lemma CongruentOpp : forall A B C D E : Point, Between B A D -> Between C A E -> ~Collinear A B C -> Angle B A C = Angle E A D.
Lemma CongruentOpposedStrictTriangles : forall A B C D I : Point, Between A I C -> Between B I D -> Distance I A = Distance I C -> Distance I B = Distance I D -> ~Collinear A I B -> CongruentStrictTriangles A I B C I D.
Lemma AngleSym : forall A B C : Point, A <> B -> A <> C -> Angle B A C = Angle C A B.
Lemma HalfLineAngleB : forall A B C D : Point, A <> B -> A <> C -> HalfLine A B D -> Angle B A C = Angle D A C.
Lemma HalfLineAngleC : forall A B C D : Point, A <> B -> A <> C -> HalfLine A C D -> Angle B A C = Angle B A D.
Lemma HalfLineAngleBC : forall A B C D E : Point, A <> B -> A <> C -> HalfLine A B D -> HalfLine A C E -> Angle B A C = Angle D A E.
Lemma BetweenAngleBC : forall A B C D E : Point, Between A B D -> Between A C E -> Angle B A C = Angle D A E.
Lemma BetweenAngleC : forall A B C D : Point, A <> B -> Between A C D -> Angle B A C = Angle B A D.
Lemma BetweenAngleB : forall A B C D : Point, A <> C -> Between A B D -> Angle B A C = Angle D A C.
Lemma SASEqualBD : forall A B C D : Point, Clockwise A B C -> Clockwise A D C -> Distance A B = Distance A D -> Angle B A C = Angle D A C -> B = D.
Lemma SASEqualCD : forall A B C D : Point, Clockwise A B C -> Clockwise A B D -> Distance A C = Distance A D -> Angle B A C = Angle B A D -> C = D.
Lemma AngleBHalfLine : forall A B C D : Point, Clockwise A B C -> Clockwise A D C -> Angle B A C = Angle D A C -> HalfLine A B D.
Lemma AngleCHalfLine : forall A B C D : Point, Clockwise A B C -> Clockwise A B D -> Angle B A C = Angle B A D -> HalfLine A C D.
Lemma D1 : forall A B C D : Point, A <> B -> C <> D -> exists n : nat, exists E : Point, HalfLine A B E /\ Distance A E = DistTimesn n A B /\ LSlt (Distance C D) (Distance A E).
Lemma AS0diffASpi : AS0 <> ASpi.
Lemma ElongatedAngleBetween : forall A B C : Point, A <> B -> A <> C -> Angle B A C = ASpi -> Between B A C.
Lemma ProperAngle : forall A B C : Point, Clockwise B A C -> Angle B A C <> AS0 /\ Angle B A C <> ASpi.
Lemma EqualAngleHalfLineB : forall A B B' C : Point, A <> C -> A <> B -> A <> B' -> ~Clockwise A B C -> ~Clockwise A B' C -> (Angle B A C) = (Angle B' A C) -> HalfLine A B B'.
Lemma EqualAngleHalfLineC : forall A B C C' : Point, A <> B -> A <> C -> A <> C' -> ~Clockwise A B C -> ~Clockwise A B C' -> (Angle C A B) = (Angle C' A B) -> HalfLine A C C'.
Lemma CollinearAAB : forall A B, Collinear A A B.
Lemma CollinearABA : forall A B, Collinear A B A.
Lemma CollinearABB : forall A B, Collinear A B B.
Lemma NotCollinearDistinctAB : forall A B C : Point, ~Collinear A B C -> A <> B.
Lemma NotCollinearDistinctCA : forall A B C : Point, ~Collinear A B C -> C <> A.
Lemma NotCollinearDistinctBC : forall A B C : Point, ~Collinear A B C -> B <> C.
Lemma CollinearBCA : forall A B C, Collinear A B C -> Collinear B C A.
Lemma CollinearCAB : forall A B C, Collinear A B C -> Collinear C A B.
Lemma CollinearBAC : forall A B C, Collinear A B C -> Collinear B A C.
Lemma CollinearACB : forall A B C, Collinear A B C -> Collinear A C B.
Lemma CollinearCBA : forall A B C, Collinear A B C -> Collinear C B A.
Lemma CollinearNotClockwiseABC : forall A B C, Collinear A B C -> ~Clockwise A B C.
Lemma CollinearNotClockwiseBAC : forall A B C, Collinear A B C -> ~Clockwise B A C.
Lemma ClockwiseNotCollinear : forall A B C, Clockwise A B C -> ~Collinear A B C.
Lemma CollinearClockwiseDistinct : forall A B C D, Collinear A B C -> Clockwise A B D -> C <> D.
Lemma SuperimposedRefl : forall F : Figure, Superimposed F F.
Lemma SuperimposedSym : forall F1 F2 : Figure, Superimposed F1 F2 -> Superimposed F2 F1.
Lemma SuperimposedTrans : forall F1 F2 F3 : Figure, Superimposed F1 F2 -> Superimposed F2 F3 -> Superimposed F1 F3.
Lemma SuperimposedHalfLines : forall A B C : Point, A <> B -> HalfLine A B C -> Superimposed (HalfLine A B) (HalfLine A C).
Lemma BetweenDistinctBC : forall A B C, Between A B C -> B <> C.
Lemma BetweenSym : forall A B C, Between A B C -> Between C B A.
Lemma BetweenCollinear : forall A B C, Between A B C -> Collinear A B C.
Lemma BetweenDistinctCA : forall A B C, Between A B C -> C <> A.
Lemma HalfLineBetween : forall A B C, A <> B -> B <> C -> HalfLine A B C -> HalfLine C B A -> Between A B C.
Lemma BetweenAssocLeft : forall A B C D : Point, Between A B C -> Between B C D -> Between A B D.
Lemma BetweenAssocRight : forall A B C D : Point, Between A B C -> Between B C D -> Between A C D.
Lemma EquiOrientedCollinear : forall A B C, EquiOriented A B C A -> Collinear A B C.
Lemma HalfLineEquiOrientedHalfLine : forall A B C D : Point, A <> B -> HalfLine A B C -> EquiOriented A B C D -> HalfLine A B D.
Lemma ClockwiseBetweenClockwise : forall A B C D E : Point, Clockwise A B C -> Between A D B -> Between A E C -> Clockwise A D E.
Lemma NotCollinearBetweenNotCollinear : forall A B C D E : Point, ~Collinear A B C -> Between A D B -> Between A E C -> ~Collinear A D E.
Lemma NotCollinearBetweenDistinct : forall A B C D E : Point, ~Collinear A B C -> Between A D B -> Between A E C -> D <> E.
Lemma BetweenNotBetween : forall A B C : Point, Between A B C -> ~Between A C B.
Lemma ChaslesBetween : forall A B C : Point, Between A B C -> LSplus (Distance A B) (Distance B C) = Distance A C.
Lemma HalfLineEquidistantEqualPoints : forall A B C D E : Point, forall d : LS, HalfLine A C B -> Distance A C = d -> HalfLine A B D -> A <> C -> Distance A D = LSplus (Distance A B) d -> Between A C E -> Distance C E = Distance A B -> E = D.
Lemma BetweenClockwiseAMC : forall A B C M : Point, Clockwise A B C -> Between A M B -> Clockwise A M C.
Lemma BetweenClockwiseMBC : forall A B C M : Point, Clockwise A B C -> Between A M B -> Clockwise M B C.
Lemma ClockwiseBetweenAMC : forall A B C M : Point, Between A M B -> Clockwise A M C -> Clockwise A B C.
Lemma ClockwiseBetweenMBC : forall A B C M : Point, Between A M B -> Clockwise M B C -> Clockwise A B C.
Lemma TriangleAMN : forall A B C M N : Point, Clockwise A B C -> Between A M B -> Between A N C -> Clockwise A M N.
Lemma TriangleBNM : forall A B C M N : Point, Clockwise A B C -> Between A M B -> Between A N C -> Clockwise B N M.
Lemma TriangleCNM : forall A B C M N : Point, Clockwise A B C -> Between A M B -> Between A N C -> Clockwise C N M.
Lemma BetweenTriangle : forall A B C D M : Point, Clockwise A C D -> Clockwise B C D -> Between A M B -> Clockwise M C D.
Lemma TriangleMNP : forall A B C M N P : Point, Clockwise A B C -> Between A M B -> Between B N C -> Between C P A -> Clockwise M N P.
Lemma ClockwiseBetween : forall A B C D : Point, Clockwise A B D -> Clockwise B C D -> Collinear A B C -> Between A B C.