Definition Qpositive_mult (w w' : Qpositive) :=
  match Qpositive_i w with
  | (p, q) =>
      match Qpositive_i w' with
      | (p', q') => Qpositive_c (p * p') (q * q') (p * p' + q * q')
      end
  end.

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