unfold colineaire in |- *.
intros u v u' v' H H0 H1; try assumption.
apply
transitive with (double (plus (cons v u) (plus (cons u u') (cons u' v'))));
auto.
apply
transitive
with (plus (double (cons v u)) (double (plus (cons u u') (cons u' v'))));
auto.
apply
transitive
with
(plus (double (cons v u))
(plus (double (cons u u')) (double (cons u' v'))));
auto.
apply compatible; auto.
apply transitive with (plus pi (plus zero pi)); auto.
apply compatible; auto.
cut (orthogonal v u); (intros; auto).
apply compatible; auto.
apply transitive with (plus pi pi); auto.
apply compatible; auto.
Qed.

(* Specifications: *)
Theorem reciproque_cocyclique :
forall M A B M' : PO,
~ colineaire (vec M A) (vec M B) ->
R (double (cons (vec M' A) (vec M' B))) (double (cons (vec M A) (vec M B))) ->
sont_cocycliques M A B M'.