intros a H' p; elim p; simpl in |- *; auto.
intros a0 l H'0 H'1; inversion H'1; auto.
Qed.

(* Specifications: *)
Theorem mults_dist1 :
forall p a b,
eqT a b ->
~ zeroP (A:=A) A0 eqA (n:=n) a ->
~ zeroP (A:=A) A0 eqA (n:=n) b ->
~ zeroP (A:=A) A0 eqA (n:=n) (plusTerm (A:=A) plusA (n:=n) a b) ->
canonical A0 eqA ltM p ->
eqP A eqA n (mults (plusTerm (A:=A) plusA (n:=n) a b) p)
(pluspf (A:=A) A0 (eqA:=eqA) plusA eqA_dec (n:=n) (ltM:=ltM) ltM_dec
(mults a p) (mults b p)).