Definition spolyf :
  forall (p q : list (Term A n)) (Cp : canonical A0 eqA ltM p)
    (Cq : canonical A0 eqA ltM q), list (Term A n).

Theorem spolyf_com : forall (a b : list (Term A n)) (Ca : canonical A0 eqA ltM a) (Cb : canonical A0 eqA ltM b), eqP A eqA n (spolyf a b Ca Cb) (mults (A:=A) multA (n:=n) (invTerm (A:=A) invA (n:=n) (T1 A1 n)) (spolyf b a Cb Ca)).