Definition twoP_ind :
  forall P : list (Term A n) -> list (Term A n) -> Prop,
  (forall p q : list (Term A n),
   (forall r s : list (Term A n), lessP A n (r, s) (p, q) -> P r s) -> P p q) ->
  forall p q : list (Term A n), P p q.

(* Specifications: *)
Theorem mults_dist_pluspf : forall (p q : list (Term A n)) (a : Term A n), canonical A0 eqA ltM p -> canonical A0 eqA ltM q -> ~ zeroP (A:=A) A0 eqA (n:=n) a -> eqP A eqA n (mults a (pluspf (A:=A) A0 (eqA:=eqA) plusA eqA_dec (n:=n) (ltM:=ltM) ltM_dec p q)) (pluspf (A:=A) A0 (eqA:=eqA) plusA eqA_dec (n:=n) (ltM:=ltM) ltM_dec (mults a p) (mults a q)).