unfold double in |- *.
intros u v w t H; try assumption.
apply
regulier
with (a := plus (cons u v) (cons u v)) (c := plus (cons w t) (cons w t));
auto.
apply
transitive
with (plus (plus (cons u v) (cons v u)) (plus (cons u v) (cons v u)));
auto.
apply calcul4.
apply transitive with (plus zero zero); auto.
apply compatible; auto.
apply symetrique.
apply
transitive
with (plus (plus (cons w t) (cons t w)) (plus (cons w t) (cons t w)));
auto.
apply calcul4.
apply compatible; auto.
Qed.
Hint Resolve double_permute.

(* Specifications: *)
Lemma R_double : forall a b : AV, R a b -> R (double a) (double b).
unfold double in |- *.