Definition Qpositive_sub (w w' : 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_sub_assoc : forall w w' w'' : Qpositive, w <> w' -> Qpositive_le w' w -> Qpositive_plus (Qpositive_sub w w') w'' = Qpositive_sub (Qpositive_plus w w'') w'.