Definition Qpositive_plus (w w' : Qpositive) : Qpositive :=
  let (p, q) := Qpositive_i w in
  let (p', q') := Qpositive_i w' in
  Qpositive_c (p * q' + p' * q) (q * q') (p * q' + p' * q + q * q').

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