Library RulerCompassGeometry.B3_Alignes_Prop
Require Export B2_Orient_Prop.
Section COLLINEAR_PROPERTIES.
Lemma CollinearAAB : forall A B, Collinear A A B.
Proof.
split; apply NotClockwiseAAB.
Qed.
Lemma CollinearABA : forall A B, Collinear A B A.
Proof.
split.
apply NotClockwiseABA.
apply NotClockwiseBAA.
Qed.
Lemma CollinearABB : forall A B, Collinear A B B.
Proof.
split.
apply NotClockwiseBAA.
apply NotClockwiseABA.
Qed.
Lemma NotCollinearDistinctAB : forall A B C : Point,
~Collinear A B C ->
A <> B.
Proof.
canonize.
subst; elim H1; apply NotClockwiseAAB.
Qed.
Lemma NotCollinearDistinctCA : forall A B C : Point,
~Collinear A B C ->
C <> A.
Proof.
canonize.
subst; elim H1.
apply NotClockwiseABA.
apply NotClockwiseBAA.
Qed.
Lemma NotCollinearDistinctBC : forall A B C : Point,
~Collinear A B C ->
B <> C.
Proof.
canonize.
subst; elim H1.
apply NotClockwiseBAA.
apply NotClockwiseABA.
Qed.
Lemma CollinearBCA : forall A B C,
Collinear A B C -> Collinear B C A.
Proof.
unfold Collinear in |- *; intros.
decompose [and] H; split.
intro; elim H0.
apply ClockwiseCAB; trivial.
intro; elim H1.
apply ClockwiseBCA; trivial.
Qed.
Lemma CollinearCAB : forall A B C,
Collinear A B C -> Collinear C A B.
Proof.
intros; do 2 apply CollinearBCA; trivial.
Qed.
Lemma CollinearBAC : forall A B C,
Collinear A B C -> Collinear B A C.
Proof.
unfold Collinear in |- *; intuition.
Qed.
Lemma CollinearACB : forall A B C,
Collinear A B C -> Collinear A C B.
Proof.
intros; apply CollinearBAC; apply CollinearCAB; trivial.
Qed.
Lemma CollinearCBA : forall A B C,
Collinear A B C -> Collinear C B A.
Proof.
intros; apply CollinearBAC; apply CollinearBCA; trivial.
Qed.
Lemma CollinearNotClockwiseABC : forall A B C,
Collinear A B C -> ~Clockwise A B C.
Proof.
intros A B C H; destruct H; intuition.
Qed.
Lemma CollinearNotClockwiseBAC : forall A B C,
Collinear A B C -> ~Clockwise B A C.
Proof.
intros A B C H; destruct H; intuition.
Qed.
Lemma ClockwiseNotCollinear : forall A B C,
Clockwise A B C ->
~Collinear A B C.
Proof.
unfold Collinear in |- *; intuition.
Qed.
Lemma CollinearClockwiseDistinct : forall A B C D,
Collinear A B C ->
Clockwise A B D ->
C <> D.
Proof.
intros A B C D H H0 H1; subst.
elim (ClockwiseNotCollinear A B D H0); trivial.
Qed.
End COLLINEAR_PROPERTIES.
Section COLLINEAR_PROPERTIES.
Lemma CollinearAAB : forall A B, Collinear A A B.
Proof.
split; apply NotClockwiseAAB.
Qed.
Lemma CollinearABA : forall A B, Collinear A B A.
Proof.
split.
apply NotClockwiseABA.
apply NotClockwiseBAA.
Qed.
Lemma CollinearABB : forall A B, Collinear A B B.
Proof.
split.
apply NotClockwiseBAA.
apply NotClockwiseABA.
Qed.
Lemma NotCollinearDistinctAB : forall A B C : Point,
~Collinear A B C ->
A <> B.
Proof.
canonize.
subst; elim H1; apply NotClockwiseAAB.
Qed.
Lemma NotCollinearDistinctCA : forall A B C : Point,
~Collinear A B C ->
C <> A.
Proof.
canonize.
subst; elim H1.
apply NotClockwiseABA.
apply NotClockwiseBAA.
Qed.
Lemma NotCollinearDistinctBC : forall A B C : Point,
~Collinear A B C ->
B <> C.
Proof.
canonize.
subst; elim H1.
apply NotClockwiseBAA.
apply NotClockwiseABA.
Qed.
Lemma CollinearBCA : forall A B C,
Collinear A B C -> Collinear B C A.
Proof.
unfold Collinear in |- *; intros.
decompose [and] H; split.
intro; elim H0.
apply ClockwiseCAB; trivial.
intro; elim H1.
apply ClockwiseBCA; trivial.
Qed.
Lemma CollinearCAB : forall A B C,
Collinear A B C -> Collinear C A B.
Proof.
intros; do 2 apply CollinearBCA; trivial.
Qed.
Lemma CollinearBAC : forall A B C,
Collinear A B C -> Collinear B A C.
Proof.
unfold Collinear in |- *; intuition.
Qed.
Lemma CollinearACB : forall A B C,
Collinear A B C -> Collinear A C B.
Proof.
intros; apply CollinearBAC; apply CollinearCAB; trivial.
Qed.
Lemma CollinearCBA : forall A B C,
Collinear A B C -> Collinear C B A.
Proof.
intros; apply CollinearBAC; apply CollinearBCA; trivial.
Qed.
Lemma CollinearNotClockwiseABC : forall A B C,
Collinear A B C -> ~Clockwise A B C.
Proof.
intros A B C H; destruct H; intuition.
Qed.
Lemma CollinearNotClockwiseBAC : forall A B C,
Collinear A B C -> ~Clockwise B A C.
Proof.
intros A B C H; destruct H; intuition.
Qed.
Lemma ClockwiseNotCollinear : forall A B C,
Clockwise A B C ->
~Collinear A B C.
Proof.
unfold Collinear in |- *; intuition.
Qed.
Lemma CollinearClockwiseDistinct : forall A B C D,
Collinear A B C ->
Clockwise A B D ->
C <> D.
Proof.
intros A B C D H H0 H1; subst.
elim (ClockwiseNotCollinear A B D H0); trivial.
Qed.
End COLLINEAR_PROPERTIES.
