Definition size := length (A:=Term A n).Definition sizel m := match m with
                      | (l1, l2) => size l1 + size l2
                      end.Definition lessP m1 m2 := sizel m1 < sizel m2.

Theorem canonicalp1 : forall a, ~ zeroP (A:=A) A0 eqA (n:=n) a -> canonical A0 eqA ltM (pX a (pO A n)).