intros a b c d H H0; try assumption.
elim non_vide_V; intros u H1; clear H1.
elim angle_cons with (a := a) (u := u); intros v H1; try exact H1.
elim angle_cons with (a := c) (u := u); intros w H2; try exact H2.
elim angle_cons with (a := b) (u := v); intros t H3; try exact H3.
elim angle_cons with (a := d) (u := w); intros s H4; try exact H4.
cut (R (cons v t) (cons w s)); intros.
apply transitive with (cons v t).
try exact H3.
apply transitive with (cons w s).
try exact H5.
apply symetrique; auto.
apply regulier_cons with u.
apply transitive with a.
apply symetrique; auto.
apply transitive with c; auto.
apply transitive with (plus (cons u v) (cons v t)).
apply symetrique; auto.
apply Chasles.
apply transitive with (plus a b).
apply compatible.
apply symetrique; auto.
apply symetrique; auto.
apply transitive with (plus c d).
try exact H0.
apply transitive with (plus (cons u w) (cons w s)).
apply compatible.
try exact H2.
try exact H4.
apply Chasles.
Qed.

(* Specifications: *)
Axiom plus_sym : forall a b : AV, R (plus a b) (plus b a).
Lemma calcul : forall a b c : AV, R (plus a (plus b c)) (plus b (plus a c)).
intros a b c; try assumption.