Axiom non_vide_V : exists u : V, u = u.Axiom angle_cons : forall (a : AV) (u : V), exists v : V, R a (cons u v).Axiom
  compatible : forall a b c d : AV, R a b -> R c d -> R (plus a c) (plus b d).Parameter vR : V -> V -> Prop.Axiom v_refl : forall u : V, vR u u.Axiom v_sym : forall u v : V, vR u v -> vR v u.Axiom v_trans : forall u v w : V, vR u v -> vR v w -> vR u w.Axiom opp_compatible : forall u v : V, vR u v -> vR (opp u) (opp v).Axiom
  vR_R_compatible :
    forall u u' v v' : V, vR u u' -> vR v v' -> R (cons u v) (cons u' v').Parameter PO : Type.Parameter vec : PO -> PO -> V.Axiom opp_vect : forall A B : PO, vR (opp (vec A B)) (vec B A).Axiom non_vide_P : exists A : PO, A = A.Axiom v_vec : forall (u : V) (A : PO), exists B : PO, vR u (vec A B).

(* Specifications: *)
Lemma opp_opp : forall u : V, vR (opp (opp u)) u.
Lemma oppu_u : forall u : V, R (cons (opp u) u) pi.
Lemma pi_plus_pi : R (plus pi pi) zero.
Lemma u_oppv : forall u v : V, R (cons u (opp v)) (plus (cons u v) pi).
Lemma oppu_v : forall u v : V, R (cons (opp u) v) (plus pi (cons u v)).
Lemma Chasles_2 : forall u v w t : V, R (cons u t) (plus (cons u v) (plus (cons v w) (cons w t))).
Lemma plus_assoc : forall a b c : AV, R (plus a (plus b c)) (plus (plus a b) c).
Lemma compatible_croix : forall a b c d : AV, R a b -> R c d -> R (plus a d) (plus b c).
Lemma plus_zero : forall u v : V, R (plus (cons u v) zero) (cons u v).
Lemma zero_plus : forall u v : V, R (plus zero (cons u v)) (cons u v).
Lemma pi_plus_zero : R (plus pi zero) pi.
Lemma zero_plus_a : forall a : AV, R (plus zero a) a.
Lemma R_permute : forall u v w t : V, R (cons u v) (cons w t) -> R (cons v u) (cons t w).
Lemma regulier_cons : forall u v w t s : V, R (cons u v) (cons u w) -> R (cons u t) (cons u s) -> R (cons v t) (cons w s).
Lemma regulier : forall a b c d : AV, R a c -> R (plus a b) (plus c d) -> R b d.