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_mult in |- *; rewrite Heq; rewrite Heq';
repeat rewrite <- (mult_comm (S p)); repeat rewrite <- (mult_comm (S q));
auto.
Qed.

Theorem Qpositive_mult_assoc :
forall w w' w'' : Qpositive,
Qpositive_mult (Qpositive_mult w w') w'' =
Qpositive_mult w (Qpositive_mult w' w'').