Require Export GeoCoq.Elements.OriginalProofs.lemma_collinear4.

Section Euclid.

Context `{Ax:euclidean_neutral_ruler_compass}.

Lemma lemma_rayimpliescollinear : 
   forall A B C, 
   Out A B C ->
   Col A B C.
Proof.
(* Goal: forall (A B C : @Point Ax0) (_ : @Out Ax0 A B C), @Col Ax0 A B C *)
intros.
let Tf:=fresh in
assert (Tf:exists J, (BetS J A C /\ BetS J A B)) by (conclude_def Out );destruct Tf as [J];spliter.
(* Goal: @Col Ax0 A B C *)
assert (neq J A) by (forward_using lemma_betweennotequal).
(* Goal: @Col Ax0 A B C *)
assert (Col J A B) by (conclude_def Col ).
(* Goal: @Col Ax0 A B C *)
assert (Col J A C) by (conclude_def Col ).
(* Goal: @Col Ax0 A B C *)
assert (Col A B C) by (conclude lemma_collinear4).
(* Goal: @Col Ax0 A B C *)
close.
Qed.

End Euclid.


