intros a b c d; try assumption.
apply transitive with (plus a (plus (plus b c) (plus d d))); auto.
apply compatible; auto.
apply transitive with (plus (plus b d) (plus c d)); auto.
apply calcul4.
apply compatible; auto.
Qed.

(* Specifications: *)
Lemma construction_circonscrit_vecteur :
forall M A B : PO,
ex
(fun u : V =>
ex
(fun v : V =>
ex
(fun w : V =>
(R (cons u v) (double (cons (vec M A) (vec M B))) /\
R (cons u w) (double (cons (vec B A) (vec B M))) /\
R (cons v w) (double (cons (vec A B) (vec A M)))) /\
R (cons (vec A B) u) (cons v (vec B A)) /\
R (cons w (vec M B)) (cons (vec B M) v) /\
R (cons (vec M A) w) (cons u (vec A M))))).
Lemma construction_circonscrit_vecteur :
forall M A B : PO,
ex
(fun u : V =>
ex
(fun v : V =>
ex
(fun w : V =>
(R (cons u v) (double (cons (vec M A) (vec M B))) /\
R (cons u w) (double (cons (vec B A) (vec B M))) /\
R (cons v w) (double (cons (vec A B) (vec A M)))) /\
R (cons (vec A B) u) (cons v (vec B A)) /\
R (cons w (vec M B)) (cons (vec B M) v) /\
R (cons (vec M A) w) (cons u (vec A M))))).