Ltac Col := auto 3 with col.Ltac line A B l Hdiff := let H:=fresh in (assert(H:= line_existence A B Hdiff); destruct H as [l]; spliter).Ltac ColHR :=
 let tpoint := constr:(Point) in
 let col := constr:(ColH) in
   Col_refl tpoint col.Ltac two_points l X Y := assert(_H := two_points_on_line l); destruct _H as [X _H]; destruct _H as [Y _H]; spliter.

Lemma not_cut3 : forall A B C l p, IncidP A p -> IncidP B p -> IncidP C p -> IncidLP l p -> ~ IncidL A l -> ~ ColH A B C -> ~ cut l A B -> ~ cut l A C -> ~ cut l B C.