End T12_2'.
Hint Resolve col_par par_strict_par : par.
Hint Resolve l12_6 pars__os3412 : side.
(* Ltac finish := repeat match goal with | |- Bet ?A ?B ?C => Between | |- Col ?A ?B ?C => Col | |- ~ Col ?A ?B ?C => Col | |- Par ?A ?B ?C ?D => Par | |- Par_strict ?A ?B ?C ?D => Par | |- Perp ?A ?B ?C ?D => Perp | |- Perp_at ?A ?B ?C ?D ?E => Perp | |- Per ?A ?B ?C => Perp | |- Cong ?A ?B ?C ?D => Cong | |- Midpoint ?A ?B ?C => Midpoint | |- ?A<>?B => apply swap_diff;assumption | |- _ => try assumption end. *)
Section T12_3.
Context `{TnEQD:Tarski_neutral_dimensionless_with_decidable_point_equality}.

Lemma perp_inter_exists : forall A B C D, Perp A B C D -> exists P, Col A B P /\ Col C D P.