intros Q p q H' H'0.
apply
reduceplus_mults_invr_lem
with
(p := mults (A:=A) multA (n:=n) (invTerm (A:=A) invA (n:=n) (T1 A1 n)) p);
auto.
Qed.

(* Specifications: *)
Theorem reduceplus_mults_invf0 :
forall a : Term A n,
~ zeroP (A:=A) A0 eqA (n:=n) a ->
eqT a (T1 A1 n) ->
forall (Q : list (poly A0 eqA ltM)) (p q : list (Term A n)),
reduceplus Q p q ->
canonical A0 eqA ltM p ->
forall r s : list (Term A n),
canonical A0 eqA ltM r ->
eqP A eqA n p (mults (A:=A) multA (n:=n) a r) ->
eqP A eqA n q (mults (A:=A) multA (n:=n) a s) -> reduceplus Q r s.