Require Export A1_Plan.
Section CLOCKWISE.
Parameter Clockwise : Point -> Point -> Point -> Prop.
Definition HalfPlane (A B : Point) : Figure := Clockwise A B.
Definition EquiOriented (A B C D: Point) : Prop  :=
SubFigure (HalfPlane A B) (HalfPlane C D).
Definition EquiDirected := fun A B C D : Point =>
EquiOriented A B C D \/ EquiOriented A B D C \/
EquiOriented B A C D \/ EquiOriented B A D C \/
EquiOriented C D A B \/ EquiOriented C D B A \/
EquiOriented D C A B \/ EquiOriented D C B A.
Definition HalfLine (A B : Point) : Figure  :=
fun C : Point => EquiOriented A B A C.
Definition Collinear (A B C : Point) := ~Clockwise A B C /\ ~Clockwise B A C.
Definition Between (A B C : Point) :=
A <> B /\ EquiOriented A B B C.

(* Specifications: *)
Axiom ClockwiseAntisym : forall A B C, ~Clockwise A B C \/ ~Clockwise B A C.
Axiom ClockwisePerm : forall A B C, Clockwise A B C -> Clockwise B C A.
Axiom FourCases : forall A B C,
Clockwise A B C \/ Clockwise B A C \/ HalfLine A B C \/ HalfLine B A C.
Axiom FourthPoint : forall A B C D,
Clockwise A B C ->
Clockwise A B D \/ Clockwise A D C \/ Clockwise D B C.
Axiom ChangeSense : forall A B C,
EquiOriented A B A C ->
EquiOriented B A C A.
Axiom ChangeSide : forall A B C D,
EquiOriented A B C D ->
A <> B ->
EquiOriented D C B A.