(* Contribution to the Coq Library   V6.3 (July 1999)                    *)
(****************************************************************************)
(*                                                                          *)
(*                          Constructive Geometry                           *)
(*                             according to                                 *)
(*                            Jan von Plato                                 *)
(*                                                                          *)
(*                               Coq V5.10                                  *)
(*									    *)
(*			        Gilles Kahn 				    *)
(*				   INRIA                                    *)
(*		              Sophia-Antipolis		 	            *)
(*									    *)
(*                                                                          *)
(* Acknowledgments: This work started in Turin in May 95 with Yves Bertot.  *)
(* Thanks to the Newton Institute for providing an exceptional work         *)
(* environment in Summer 1995 so that I could complete this.                *)
(****************************************************************************)
(****************************************************************************)
(*                       orthogonality.v                                    *)
(****************************************************************************)
Parameter Unort : Line -> Line -> Prop.
Definition Ort := Negation Line Unort.
Axiom
constructed_orthogonal :
forall (l : Line) (a : Point), {l' : Line | Ort l' l /\ Incident a l'}.
Definition ort : Line -> Point -> Line.
Hint Resolve O3_i O3_ii.

Theorem Uniqueness_of_orthogonality :
forall (l m : Line) (a : Point), Incident a l /\ Ort l m -> EqLn l (ort m a).