intros w w'; elim (interp_non_zero w); intros p Hex; elim Hex; intros q Heq;
clear Hex.
elim (interp_non_zero w'); intros p' Hex; elim Hex; intros q' Heq'; clear Hex.
unfold Qpositive_plus in |- *.
rewrite Heq; rewrite Heq'.
repeat rewrite (mult_comm (S q')).
repeat rewrite (mult_comm (S p')).
repeat rewrite (plus_comm (S p * S q')).
auto.
Qed.

(* Specifications: *)
Theorem Qpositive_plus_assoc :
forall w w' w'' : Qpositive,
Qpositive_plus (Qpositive_plus w w') w'' =
Qpositive_plus w (Qpositive_plus w' w'').