(***************************************************************************)
(* Formalization of the Chou, Gao and Zhang's decision procedure.          *)
(* Julien Narboux (Julien@narboux.fr)                                      *)
(* LIX/INRIA FUTURS 2004-2006                                              *)
(* University of Strasbourg 2008                                           *)
(***************************************************************************)
Require Export field.
Ltac Geometry := auto with Geom field_hints.
(*******************************************************)
(** Axioms                                                             *)
(*******************************************************)
(** The set of Points *)
Parameter Point : Set.
(** The signed area *)
Parameter S : Point -> Point -> Point -> F.
(** The signed distance *)
Parameter DSeg : Point -> Point -> F.
Infix "**" := DSeg (left associativity, at level 20) : F_scope.
Definition Col (A B C : Point) : Prop := S A B C = 0.
Definition S4 (A B C D : Point) : F := S A B C + S A C D.
Definition parallel (A B C D : Point) : Prop := S4 A C B D = 0.
(* Parallelogram axiom *)
Hint Unfold S4 parallel Col: Geom.
Hint Resolve chara_not_2 chasles A2a A2b A3a A3b A5 A6: Geom.
(** Decidability lemmmas *)

Lemma col_dec : forall A B C:Point, Col A B C \/ ~ Col A B C.