proposition: Lemma cut_exists : forall A l, ~IncidL A l -> exists B, cut l A B.
proof: Proof. intros. assert(HH:= two_points_on_line l). ex_and HH X. ex_and p Y. assert(A <> X). intro. subst X. contradiction. assert(HH:= between_out A X H3). destruct HH as [P]. exists P. unfold cut. repeat split; auto. intro. apply betH_expand in H4. spliter. assert(ColH X Y P). line_col X Y P. assert(ColH A X Y). apply (colH_trans X P); Col. unfold ColH in H11. ex_and H11 m. lines_eq l m. contradiction. exists X. split; auto; subst X. Qed.
imports: Setoid Coq.Classes.Morphisms Coq.Classes.Morphisms_Prop GeoCoq.Axioms.gupta_inspired_variant_axioms GeoCoq.Meta_theory.Models.gupta_inspired_to_tarski GeoCoq.Tactics.Coinc.tactics_axioms GeoCoq.Tactics.Coinc.ColR GeoCoq.Meta_theory.Dimension_axioms.upper_dim_3 GeoCoq.Meta_theory.Parallel_postulates.parallel_postulates GeoCoq.Axioms.hilbert_axioms