cut (exists v : V, R (double (cons u v)) pi).
intros H; try assumption.
elim H; intros v H0; clear H; try exact H0.
exists v.
auto.
elim angle_cons with (a := pisurdeux) (u := u); intros v H0; try exact H0.
exists v.
apply transitive with (double pisurdeux).
auto.
auto.
Qed.

(* Specifications: *)
Lemma unicite_circonscrit :
forall M A B O O' : PO,
isocele O A B ->
isocele O M B ->
isocele O M A ->
isocele O' A B ->
isocele O' M B ->
isocele O' M A ->
(colineaire (vec O A) (vec O' A) /\ colineaire (vec O B) (vec O' B)) /\
colineaire (vec O M) (vec O' M).
Lemma unicite_circonscrit :
forall M A B O O' : PO,
isocele O A B ->
isocele O M B ->
isocele O M A ->
isocele O' A B ->
isocele O' M B ->
isocele O' M A ->
(colineaire (vec O A) (vec O' A) /\ colineaire (vec O B) (vec O' B)) /\
colineaire (vec O M) (vec O' M).