(** AB is tangent to the circle (O,P) iff they intersect at a point X such that AB is perpendicular to OX. *)

(* Specifications: *)
Lemma tangency_chara : forall A B O P, P <> O ->
(exists X, OnCircle X O P /\ Perp_at X A B O X) <-> Tangent A B O P.
Lemma tangency_chara2 : forall A B O P Q,
OnCircle Q O P -> Col Q A B ->
((forall X, Col A B X -> X = Q \/ OutCircleS X O P) <-> Tangent A B O P).
Lemma tangency_chara3 : forall A B O P Q, A <> B ->
OnCircle Q O P -> Col Q A B ->
((forall X, Col A B X -> OutCircle X O P) <-> Tangent A B O P).