unfold Qpositive_plus in |- *.
replace (Qpositive_i One) with (1, 1).
rewrite Heq.
rewrite mult_1_r; rewrite mult_1_l.
rewrite (plus_comm (S q)).
replace (S p + S q + S q) with (S (p + S q + S q)).
rewrite (Qpositive_c_unfold1 p q).
rewrite (construct_correct w); auto with *.
auto.
auto.
auto.
Qed.

Theorem Qpositive_plus_sym :
forall w w' : Qpositive, Qpositive_plus w w' = Qpositive_plus w' w.