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.Axiom A3a : forall A B C : Point, S A B C = S C A B.Axiom A3b : forall A B C : Point, S A B C = - S B A C.Axiom A4 : {A : Point &  {B : Point &  {C : Point | ~ Col A B C}}}.Axiom A5 : forall A B C D : Point, S A B C = S A B D + S A D C + S D B C.(** We assume that the field is not of characteristic two *)
Axiom chara_not_2 : 2 <> 0.

(* Specifications: *)
Lemma eq_dec_points : forall A B:Point, A=B \/ A<>B.
Lemma col_dec : forall A B C:Point, Col A B C \/ ~ Col A B C.
Lemma parallel_dec : forall A B C D, parallel A B C D \/ ~ parallel A B C D.
Lemma number_dec : forall r: F, r=0 \/ r<>0.