(** Axiom of Pasch, (Hilbert version). *)

(** First we define a predicate which means that the line l intersects the segment AB. *)

Definition cut := fun l A B =>
  ~ IncidentL A l /\ ~ IncidentL B l /\ exists I, IncidentL I l /\ Between_H A I B.

(* Specifications: *)
Lemma cut_two_sides : forall l A B, cut l A B <-> TS (P1 l) (P2 l) A B.
Lemma cop_plane_aux : forall A B C D, Coplanar A B C D -> A <> B -> exists p, IncidentP A p /\ IncidentP B p /\ IncidentP C p /\ IncidentP D p.
Lemma cop_plane : forall A B C D, Coplanar A B C D -> exists p, IncidentP A p /\ IncidentP B p /\ IncidentP C p /\ IncidentP D p.
Lemma plane_cop: forall A B C D p, IncidentP A p -> IncidentP B p -> IncidentP C p -> IncidentP D p -> Coplanar A B C D.
Lemma axiom_pasch : forall A B C l p, ~ Col_H A B C -> IncidentP A p -> IncidentP B p -> IncidentP C p -> IncidentLP l p -> ~ IncidentL C l -> cut l A B -> cut l A C \/ cut l B C.
Lemma Incid_line : forall P A B l, A<>B -> IncidentL A l -> IncidentL B l -> Col P A B -> IncidentL P l.