unfold colineaire in |- *; intros.
apply transitive with (double (plus (cons u v) (cons v w))); auto.
apply transitive with (plus (double (cons u v)) (double (cons v w))); auto.
apply transitive with (plus zero zero); auto.
apply compatible; auto.
Qed.

(* Specifications: *)
Lemma double_orthogonal :
forall u u' v v' : V,
orthogonal u u' ->
orthogonal v v' -> R (double (cons u v)) (double (cons u' v')).