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}.

(* Specifications: *)
Lemma perp_not_par : forall A B X Y, Perp A B X Y -> ~ Par A B X Y.
Lemma cong_conga_perp : forall A B C P, TS B P A C -> Cong A B C B -> CongA A B P C B P -> Perp A C B P.
Lemma perp_inter_exists : forall A B C D, Perp A B C D -> exists P, Col A B P /\ Col C D P.
Lemma perp_inter_perp_in : forall A B C D, Perp A B C D -> exists P, Col A B P /\ Col C D P /\ Perp_at P A B C D.
End T12_3.