split; intros n m p || intros n m || intros n; solve
[ first
[ apply Qplus_sym
| apply Qplus_assoc
| apply Qmult_sym
| apply Qmult_assoc
| apply Qplus_zero_left
| apply Qmult_one_left
| apply Q_opp_def
| apply Q_distr_left
| reflexivity ]].
Defined.

(* Specifications: *)
Lemma Qinv_defT : forall n : Q, n <> Zero -> Qmult (Qinv n) n = Qone.