intros a b c nZc p q H' H'0 H'1 H'2.
cut (divP A A0 eqA multA divA n b c); [ intros H'3 | auto ].
unfold spminusf in |- *; auto.
apply divP_eqTerm_comp with (1 := cs) (a := a); auto.
Qed.

(* Specifications: *)
Theorem eqp_spminusf_com :
forall (a b c : Term A n) (nZc : ~ zeroP (A:=A) A0 eqA (n:=n) c)
(p q r : list (Term A n)),
canonical A0 eqA ltM p ->
canonical A0 eqA ltM q ->
canonical A0 eqA ltM r ->
eqP A eqA n p q ->
eqTerm (A:=A) eqA (n:=n) a b ->
divP A A0 eqA multA divA n a c ->
eqP A eqA n (spminusf a c nZc p r) (spminusf b c nZc q r).