reserve i,j,n,n1,n2,m,k,l,u for Nat,
        i1,i2,i3,i4,i5,i6 for Element of n,
        p,q for n-element XFinSequence of NAT,
        a,b,c,d,e,f for Integer;

theorem Th16:
  for p being INT -valued Polynomial of 2+n+k,F_Real,
      X being n-element XFinSequence of NAT,
      x be Element of NAT holds
( for z being Element of NAT st z <= x
   ex y being k-element XFinSequence of NAT st
        eval(p,@(<%z,x%>^X^y)) = 0) iff
    ex Y being k-element XFinSequence of NAT,
       Z,e,K being Element of NAT st
          K > x & K >= (sum_of_coefficients |.p.|)*
              ((x^2+1) * (Product (1+X))*e)|^degree p &
          (for i being Nat st i in k holds Y.i > e) &
           e > x &
            1+(Z+1)*(K!) = Product (1+(K! * idseq (x+1)))&
    eval(p,@(<%Z,x%>^X^Y)),0 are_congruent_mod (1+(Z+1)*(K!)) &
     (for i being Nat st i in k holds
         Product ((Y.i + 1)+(-idseq e)),0 are_congruent_mod (1+(Z+1)*(K!)))
proof
  let p be INT -valued Polynomial of 2+n+k,F_Real,
      X be n-element XFinSequence of NAT,
      x be Element of NAT;
  set x1=x+1;
  thus ( for z be Element of NAT st z <= x
           ex y be k-element XFinSequence of NAT st
        eval(p,@(<%z,x%>^X^y)) = 0) implies
    ex Y be k-element XFinSequence of NAT,
       Z,e,K be Element of NAT st
          K>x & K >= (sum_of_coefficients |.p.|)*
           ((x^2+1) * (Product (1+X))*e)|^(degree p) &
          (for i be Nat st i in k holds Y.i > e) &
           e > x &
            1+(Z+1)*(K!) = Product (1+(K! * idseq (x+1)))&
    eval(p,@(<%Z,x%>^X^Y)),0 are_congruent_mod (1+(Z+1)*(K!)) &
     (for i be Nat st i in k holds
         Product ((Y.i+1)+(-idseq e)),0 are_congruent_mod (1+(Z+1)*(K!)))
  proof
    assume
A1: for z be Element of NAT  st z <= x
    ex y be k-element XFinSequence of NAT st
    eval(p,@(<%z,x%>^X^y)) = 0;
    defpred P[object,object] means
      $1 in NAT & $2 is k-element XFinSequence of NAT &
        for z be Element of NAT,y be k-element XFinSequence of NAT st
          z=$1 & y=$2 holds eval(p,@(<%z,x%>^X^y)) = 0;
A2: for i be Nat st i in x1 ex g be object st P[i,g]
    proof
      let i be Nat; assume i in x1;
      then
A3:     i in Segm (x1);
      reconsider z = i as Element of NAT by ORDINAL1:def 12;
      i <x1 by A3,NAT_1:44;
      then i<= x by NAT_1:13;
      then consider y be k-element XFinSequence of NAT such that
A4:   eval(p,@(<%z,x%>^X^y)) = 0 by A1;
      take y;
      thus thesis by A4,ORDINAL1:def 12;
    end;
    consider YY be XFinSequence such that
A5:   dom YY = x1 & for i be Nat st i in x+1 holds P[i,YY.i]
      from AFINSQ_1:sch 1(A2);
    YY is XFinSequence-yielding by A5;
    then reconsider YY as XFinSequence-yielding  XFinSequence;
    defpred Q[object,object] means not contradiction;
    set M = {YY.i.j where i,j is Nat : Q[i,j]};
A6:   M is finite from SCH1;
A7:   M is natural-membered
    proof
      let x be object;
      assume x in M;
      then consider i,j be Nat such that
A8:   x= YY.i.j & Q[i,j];
      per cases;
      suppose
        i in dom YY;
        then P[i,YY.i] by A5;
        hence x is natural by A8;
      end;
      suppose not i in dom YY;
        then YY.i= {} by FUNCT_1:def 2;
        hence thesis by A8;
      end;
    end;
    then reconsider Mx=M\/{x,1} as non empty natural-membered finite set by A6;
    set e = 1+max Mx;
    set K = x1+e+(sum_of_coefficients |.p.|)*
     ((x^2+1) * (Product (1+X))*e)|^(degree p);
    set h=1+(K! * idseq x1);
A9:  len h = x1 by CARD_1:def 7;
A10: for i st i in dom h holds h.i = (K!)*i +1
    proof
      let i such that
A11:    i in dom h;
A12:  dom h = dom (K! * idseq x1) =dom idseq x1 by VALUED_1:def 2,def 5;
      thus h.i = 1 + (K! * idseq x1).i by A11,VALUED_1:def 2
      .= 1+(K! * ((idseq x1).i)) by A11,A12,VALUED_1:def 5
      .= (K!)*i +1 by A11,A12,FINSEQ_2:49;
    end;
A13:  x1+e <=K & x1 <= x1+e & e <= x1+e by NAT_1:11;
    then
A14:  K >= x1 > 0 by XXREAL_0:2;
    then reconsider h as CR_Sequence by Th2;
    rng h c= NAT by VALUED_0:def 6;
    then
A15:  h is FinSequence of NAT by FINSEQ_1:def 4;
    0+1<=x1 by NAT_1:13;
    then h.1 divides Product h & h.1 = K!*1+1
      by A10,A15,INT_4:32,A9,FINSEQ_3:25;
    then h.1 <= Product h & h.1 > K! by INT_2:27,NAT_1:13;
    then K <= K! & K! < Product h by XXREAL_0:2,NEWTON:38;
    then e <= K & K < Product h by A13,XXREAL_0:2;
    then
A16:  e < Product h by XXREAL_0:2;
    defpred Q[object,object] means
      $1 in NAT & $2 in NAT & for i,z be Nat st i = $1 & z= $2 holds
      e < z & for j,F being Nat st j in x1 & F = YY.j.i
      holds z,F are_congruent_mod h.(j+1);
A17: for i be Nat st i in k ex Y be object st Q[i,Y]
    proof
      let i be Nat such that i in k;
      deffunc H(Nat) = YY.($1-'1).i;
      consider X be FinSequence such that
A18:  len X = x1 & for k be Nat st k in dom X holds X.k=H(k)
        from FINSEQ_1:sch 2;
      rng X c= NAT
      proof
        let y be object;
        assume y in rng X;
        then consider x be object such that
A19:      x in dom X & X.x=y by FUNCT_1:def 3;
        reconsider x as Nat by A19;
        X.x = YY.(x-'1).i by A18,A19;
        then X.x in M;
        then X.x is natural by A7;
        hence thesis by A19;
      end;
      then reconsider X as FinSequence of NAT by FINSEQ_1:def 4;
      consider z be Integer such that
A20:    0 <= z & z < Product h and
A21:    for i being Nat st i in dom X holds z,X.i are_congruent_mod h.i
        by INT_6:41,A18,A9;
      take Y= z+Product h;
      thus i in NAT & Y in NAT by A20,ORDINAL1:def 12;
      let I,Z be Nat such that
A22:    I=i & Z=Y;
      Y >= Product h by A20,NAT_1:11;
      hence e < Z by A22,A16,XXREAL_0:2;
      let j,F be Nat such that
A23:    j in x1 & F = YY.j.I;
      x1= Segm x1;
      then j < x1 by A23,NAT_1:44;
      then
A24:    1 <= j+1 <= x1 by NAT_1:11,13;
      then
A25:    z,X.(j+1) are_congruent_mod h.(j+1) by A21,A18,FINSEQ_3:25;
      j+1 in dom h by A24,A9,FINSEQ_3:25;
      then h.(j+1) divides (Product h)-0 by A15,INT_4:32;
      then Product h,0 are_congruent_mod h.(j+1) by INT_1:def 4;
      then
A26:    Y,(X.(j+1)) +0 are_congruent_mod h.(j+1) by A25,INT_1:16;
      X.(j+1) =YY.(j+1-'1).i by A18,A24,FINSEQ_3:25;
      hence thesis by A26,A23,A22,NAT_D:34;
    end;
    consider YC be XFinSequence such that
A27:  dom YC = k & for i be Nat st i in k holds Q[i,YC.i]
      from AFINSQ_1:sch 1(A17);
    rng YC c= NAT
    proof
      let y be object;
      assume y in rng YC;
      then ex x be object st x in dom YC & YC.x=y by FUNCT_1:def 3;
      hence thesis by A27;
    end;
    then reconsider YC as k-element XFinSequence of NAT
      by A27,CARD_1:def 7,RELAT_1:def 19;
    consider Z be Nat such that
A29:   Product (1+(K! * idseq x1)) = 1 + (K!)*Z & (x1>0 implies Z>0) by Lm1;
    reconsider Z1=Z-1 as Element of NAT by NAT_1:20,A29;
    reconsider e,K as Element of NAT by ORDINAL1:def 12;
    take YC,Z1,e,K;
    thus K > x & K >= (sum_of_coefficients |.p.|)*
      ((x^2+1) * (Product (1+X))*e)|^(degree p) by NAT_1:11,A14,NAT_1:13;
    thus for i be Nat st i in k holds YC.i > e by A27;
    x in {x,1} by TARSKI:def 2;
    then x in Mx by XBOOLE_0:def 3;
    then x <= max Mx by XXREAL_2:def 8;
    hence x < e by NAT_1:13;
    thus 1+(Z1+1)*(K!) = Product (1+(K! * idseq x1)) by A29;
A30: for b,c be Element of NAT st b in dom h & c in dom h & b<>c
      holds h.b gcd h.c =1 by INT_2:def 3,INT_6:def 2;
    reconsider E=eval(p,@(<%Z1,x%>^X^YC)) as Integer;
A31: for b be Element of NAT st b in dom h holds h.b divides E
    proof
      let b be Element of NAT such that
A32:  b in dom h;
A33:  h.b = (K!)*b+1 by A32,A10;
      1<= b <= x1 by A9,A32,FINSEQ_3:25;
      then reconsider b1=b-1 as Element of NAT by NAT_1:21;
      b1+1<=x1 by A9,A32,FINSEQ_3:25;
      then b1 < Segm x1 by NAT_1:13;
      then
A34:  b1 in x1 by NAT_1:44;
      then reconsider YYb=YY.b1 as k-element XFinSequence of NAT by A5;
A35:   eval(p,@(<%b1,x%>^X^YYb)) = 0 by A34,A5;
      for i st i in 2+n+k holds h.b divides ((<%Z1,x%>^X^YC).i -
        (<%b1,x%>^X^YYb).i)
      proof
        let i;
A36:    len (<%Z1,x%>^X^YC) = 2+n+k by CARD_1:def 7;
A37:    len <%Z1,x%> = 1+1 & len <%b1,x%> = 1+1 by CARD_1:def 7;
A38:    len (<%Z1,x%>^X) = len <%Z1,x%> + len X &
          len (<%b1,x%>^X) = len <%b1,x%> + len X by AFINSQ_1:17;
A39:    len YC = k = len YYb by CARD_1:def 7;
        assume i in 2+n+k;
        then per cases by A36,AFINSQ_1:20;
        suppose
A40:        i in dom (<%Z1,x%>^X);
          then
A41:       (<%Z1,x%>^X^YC).i = (<%Z1,x%>^X).i & (<%b1,x%>^X^YYb).i
            = (<%b1,x%>^X).i by A38,A37,AFINSQ_1:def 3;
          per cases by A40,AFINSQ_1:20;
          suppose
A42:          i in dom <%Z1,x%>;
            then
A43:          i in Segm 2 by CARD_1:def 7;
A44:        (<%Z1,x%>^X).i = <%Z1,x%>.i & (<%b1,x%>^X).i = <%b1,x%>.i
              by A42,A37,AFINSQ_1:def 3;
            per cases by A43,NAT_1:23,NAT_1:44;
            suppose i=0;
              then
A45:            (<%Z1,x%>^X^YC).i = Z1 & (<%b1,x%>^X^YYb).i = b1
                by A40,A38,A37,AFINSQ_1:def 3,A44;
A46:          (K!+1) gcd (K!)= ((b1 * (K!))+(K!+1)) gcd (K!) by EULER_1:8;
A47:          (K!+1) gcd K! = 1 by INT_2:def 3,PEPIN:1;
A48:          h.b divides Product h by A15,A32,INT_4:32;
A49:          (Z1-b1)*(K!) = Product (1+(K! * idseq x1)) - h.b by A29,A33;
              h.b divides (Z1-b1)*(K!) by A48,A49,INT_5:1;
              hence thesis by A45,A47,A46,INT_2:def 3,A33,INT_2:25;
            end;
            suppose i=1;
              hence thesis by INT_2:12,A41,A44;
            end;
          end;
          suppose ex j st j in dom X & i = len (<%Z1,x%>)+j;
            then consider j such that
A50:        j in dom X & i = 2+j by A37;
            (<%Z1,x%>^X).i = X.j&(<%b1,x%>^X).i = X.j
              by A37,A50,AFINSQ_1:def 3;
            hence thesis by A41,INT_2:12;
          end;
        end;
        suppose ex j st j in dom YC & i = len (<%Z1,x%>^X)+j;
          then consider j such that
A51:      j in dom YC & i = len (<%Z1,x%>^X)+j;
A52:      (<%Z1,x%>^X^YC).i = YC.j by A51,AFINSQ_1:def 3;
A53:      (<%b1,x%>^X^YYb).i = YYb.j by A39,A37,A38,A51,AFINSQ_1:def 3;
          reconsider J=j, YCj=YC.j as Element of NAT by A51;
          YC.j,YYb.j are_congruent_mod h.(b1+1) by A34,A27,A51;
          hence thesis by A52,A53,INT_1:def 4;
        end;
      end;
      then h.b divides E-0 by A32,A35,Th1;
      hence thesis;
    end;
    Product h divides E
    proof
      per cases;
      suppose E>=0;
        hence thesis by A30,A31,A15,INT_4:38;
      end;
      suppose E <0;
        then reconsider mE=-E as Element of NAT by INT_1:3;
        for b be Element of NAT st b in dom h holds h.b divides mE
          by A31,INT_2:10;
        hence thesis by INT_2:10,A30,A15,INT_4:38;
      end;
    end;
    then Product h divides E-0;
    hence eval(p,@(<%Z1,x%>^X^YC)),0 are_congruent_mod (1+(Z1+1)*(K!))
      by A29,INT_1:def 4;
    let i be Nat such that
A54:  i in k;
    set YCe = ((YC.i+1)+(-idseq e));
A55:  dom YCe = dom (-idseq e) =dom idseq e by VALUED_1:def 2,8;
A56:  for j st j in dom YCe holds YCe.j = (YC.i+1) - j
    proof
      let j such that
A57:    j in dom YCe;
      thus YCe.j = (YC.i+1) + (- idseq e).j by A57,VALUED_1:def 2
      .= (YC.i+1) +-((idseq e).j) by VALUED_1:8
      .= (YC.i+1) +- j by A57,A55,FINSEQ_2:49
      .= (YC.i+1) - j;
    end;
    rng YCe c= NAT
    proof
      let b be Integer;
      assume b in rng YCe;
      then consider a be object such that
A58:  a in dom YCe & YCe.a=b by FUNCT_1:def 3;
      reconsider a as Nat by A58;
A59:  YCe.a = (YC.i+1)-a by A56,A58;
      YC.i > e>= a by A27,A54,A55,A58,FINSEQ_1:1;
      then YC.i > a by XXREAL_0:2;
      then YC.i +1 > a by NAT_1:13;
      then (YC.i+1)-a is Nat by NAT_1:21;
      hence thesis by A58,A59,ORDINAL1:def 12;
    end;
    then
    reconsider YCe as FinSequence of NAT by FINSEQ_1:def 4;
    reconsider PP=Product YCe as Element of NAT;
A60: for b be Element of NAT st b in dom h holds h.b divides PP
    proof
      let b be Element of NAT such that
A61:  b in dom h;
      1<= b <= x1 by A61,A9,FINSEQ_3:25;
      then reconsider b1=b-1 as Nat;
A62:  YY.b1.i in M;
      then reconsider YYb1i= YY.b1.i as Nat by A7;
      b1+1<=x1 by A61,A9,FINSEQ_3:25;
      then b1 < Segm x1 by NAT_1:13;
      then b1 in x1 by NAT_1:44;
      then YC.i,YYb1i are_congruent_mod h.(b1+1) by A27,A54;
      then
A63:  h.b divides (YC.i - YYb1i) by INT_1:def 4;
      YYb1i in Mx by A62,XBOOLE_0:def 3;
      then YYb1i <= max Mx by XXREAL_2:def 8;
      then 0+1 <= YYb1i+1 <= e by XREAL_1:7;
      then
A64:  YYb1i+1 in dom YCe by A55;
      then
A65:  YCe.(YYb1i+1) = (YC.i+1) - (YYb1i+1) by A56;
      YCe.(YYb1i+1) divides PP by A64,INT_4:32;
      hence thesis by A65,A63,INT_2:9;
    end;
    Product h divides PP-0 by A30,A60,A15,INT_4:38;
    hence Product ((YC.i+1)+(-idseq e)),0 are_congruent_mod (1+(Z1+1)*(K!))
      by INT_1:def 4,A29;
  end;
  given Y be k-element XFinSequence of NAT,Z,e,K be Element of NAT such that
A66: K> x & K >= (sum_of_coefficients |.p.|)* ((x^2+1) *
     (Product (1+X))*e)|^(degree p) and
A67: for i be Nat st i in k holds Y.i > e and
A68: e > x & 1+(Z+1)*(K!) = Product (1+(K! * idseq (x+1)))&
     eval(p,@(<%Z,x%>^X^Y)),0 are_congruent_mod (1+(Z+1)*(K!)) and
A69: for i be Nat st i in k holds
       Product ((Y.i+1)+(-idseq e)),0 are_congruent_mod (1+(Z+1)*(K!));
  let z be Element of NAT such that
A70:z <= x;
  set z1=z+1,K1 = K!,ZZ = 1+(z+1)*K1;
A71: ZZ >1 +0 by XREAL_1:8;
  consider prim be Element of NAT such that
A72: prim divides ZZ & prim <= ZZ & prim is prime by A71, NAT_4:13;
  deffunc P(object) = Y.$1 mod prim;
  consider Yz be XFinSequence such that
A73:  len Yz = k & for i be Nat st i in k holds Yz.i = P(i)
    from AFINSQ_1:sch 2;
  rng Yz c= NAT
  proof
    let y be object;
    assume y in rng Yz;
    then consider x be object such that
A74:  x in dom Yz & Yz.x=y by FUNCT_1:def 3;
    y = P(x) by A73,A74;
    hence thesis by ORDINAL1:def 12;
  end;
  then reconsider Yz as k-element XFinSequence of NAT
    by A73,RELAT_1:def 19,CARD_1:def 7;
  1<=z1 <=x1 by A70,NAT_1:11,XREAL_1:6;
  then
A75:  z1 in Seg (x1);
  K>=x1 by A66,NAT_1:13;
  then
  reconsider h=1+(K1 * idseq (x1)) as CR_Sequence by Th2;
  rng h c= NAT by VALUED_0:def 6;
  then
A76: h is FinSequence of NAT by FINSEQ_1:def 4;
A77: dom h = dom (K1 * idseq (x+1)) =dom idseq (x+1) by VALUED_1:def 2,def 5;
A78: h.z1 = 1 + (K1 * idseq (x+1)).z1 by A75,A77,VALUED_1:def 2
    .= 1+K1 * ((idseq (x+1)).z1) by A75,A77,VALUED_1:def 5
    .=ZZ by A75,FINSEQ_2:49;
  ZZ divides (1+(Z+1)*K1) by A78,A68,A76,INT_4:32,A75,A77;
  then
A79: prim divides (1+(Z+1)*K1) by A72,INT_2:9;
  1+(Z+1)*K1 divides eval(p,@(<%Z,x%>^X^Y)) - 0 by A68,INT_1:def 4;
  then
A80: prim divides eval(p,@(<%Z,x%>^X^Y)) by A79,INT_2:9;
  reconsider E1=eval(p,@(<%Z,x%>^X^Y)) as Integer;
A81: K < prim
    proof
      assume K >= prim;
      then prim divides (Z+1)*K1 by INT_2:2,A72,NEWTON:41;
      then prim divides 1 by A79,INT_2:1;
      then prim = 1 by INT_2:13;
      hence thesis by A72,INT_2:def 4;
    end;
A82:len <%z,x%> = 2 = len <%Z,x%> by CARD_1:def 7;
A83:len (<%z,x%>^X) = 2+n = len (<%Z,x%>^X) by CARD_1:def 7;
A84:len Y = k = len Yz by CARD_1:def 7;
A85:len (<%z,x%>^X^Yz) = 2+k+n by CARD_1:def 7;
    for i st i in 2+k+n holds prim divides ((<%Z,x%>^X^Y).i - (<%z,x%>^X^Yz).i)
    proof
      let i such that
A86:  i in 2+k+n;
      per cases by A86,A85,AFINSQ_1:20;
      suppose
A87:      i in dom (<%z,x%>^X);
        then
A88:     ((<%z,x%>^X^Yz)).i = (<%z,x%>^X).i & ((<%Z,x%>^X^Y)).i = (<%Z,x%>^X).i
          by A83,AFINSQ_1:def 3;
        per cases by A87,AFINSQ_1:20;
        suppose i in dom <%z,x%>;
          then
A89:        i in Segm 2 & (<%z,x%>^X).i = <%z,x%>.i &
            (<%Z,x%>^X).i = <%Z,x%>.i by A82,AFINSQ_1:def 3;
          per cases by A89,NAT_1:23,NAT_1:44;
          suppose i=0;
            then
A90:          (<%Z,x%>^X^Y).i =Z & (<%z,x%>^X^Yz).i = z
              by A87,A83,AFINSQ_1:def 3,A89;
A91:        K1,prim are_coprime
            proof
              assume not K1,prim are_coprime;
              then
A92:            K1 gcd prim <>1 by INT_2:def 3;
              K1 gcd prim divides prim by INT_2:def 2;
              then K1 gcd prim = prim by A92,A72,INT_2:def 4;
              then prim divides K1 by INT_2:def 2;
              hence thesis by A81,NAT_4:19,A72;
            end;
            prim divides (1+(Z+1)*K1) - (1+(z+1)*K1) by A79,A72,INT_5:1;
            then prim divides (Z-z)*K1;
            hence thesis by A90,A91,INT_2:25;
          end;
          suppose i=1;
            hence thesis by A88,A89,INT_2:12;
          end;
        end;
        suppose ex j be Nat st j in dom X & i = len (<%z,x%>)+j;
          then consider j such that
A93:      j in dom X & i = len (<%z,x%>)+j;
          (<%z,x%>^X).i = X.j & (<%Z,x%>^X).i = X.j by A82,A93,AFINSQ_1:def 3;
          hence thesis by INT_2:12,A88;
        end;
      end;
      suppose ex j be Nat st j in dom Yz & i = len (<%z,x%>^X)+j;
        then consider j such that
A94:      j in dom Yz & i = len (<%z,x%>^X)+j;
A95:    (<%Z,x%>^X^Y).i =Y.j & (<%z,x%>^X^Yz).i = Yz.j
          by A83,A84,A94,AFINSQ_1:def 3;
        Yz.j = Y.j mod prim by A73,A94;
        hence thesis by A95,A72,PEPIN:8;
      end;
    end;
    then prim divides E1 - eval(p,@(<%z,x%>^X^Yz)) by A72,Th1;
    then prim divides eval(p,@(<%z,x%>^X^Yz)) by INT_5:2,A80;
    then |.prim.| divides |.eval(p,@(<%z,x%>^X^Yz)).| by INT_2:16;
    then consider m be Nat such that
A96: |.eval(p,@(<%z,x%>^X^Yz)).| =prim *m by NAT_D:def 3;
A97: x^2=x*x by SQUARE_1:def 1;
    for i be object st i in dom @(<%z,x%>^X^Yz) holds |.(@(<%z,x%>^X^Yz)).i.|
    <= (x^2+1) * (Product (1+X))*e
    proof
      let i be object;assume i in dom @(<%z,x%>^X^Yz);
      then
A98: i in dom (<%z,x%>^X^Yz) & (<%z,x%>^X^Yz) = @(<%z,x%>^X^Yz)
        by HILB10_2:def 1;
      reconsider i as Nat by A98;
      per cases by A98,AFINSQ_1:20;
      suppose
A99:     i in dom (<%z,x%>^X);
        then
A100:     (@(<%z,x%>^X^Yz)).i = (<%z,x%>^X).i by A98,AFINSQ_1:def 3;
        per cases by A99,AFINSQ_1:20;
        suppose i in dom <%z,x%>;
          then
A101:     i in Segm 2 & (<%z,x%>^X).i = <%z,x%>.i
            by CARD_1:def 7,AFINSQ_1:def 3;
A102:     (Product (1+X))*e>= 1 by A68,NAT_1:14;
          x^2 >= x*1 by NAT_1:14,A97, XREAL_1:64;
          then x^2+1 >= x+0 by XREAL_1:7;
          then
A103:     (x^2+1)* ((Product (1+X))*e)>= x*1 by A102,XREAL_1:66;
          per cases by A101,NAT_1:23,NAT_1:44;
          suppose i=0;
            hence thesis by A103,A70,XXREAL_0:2,A100,A101;
          end;
          suppose i=1;
            hence thesis by A103,A100,A101;
          end;
        end;
        suppose ex j be Nat st j in dom X & i = len (<%z,x%>)+j;
          then consider j such that
A104:     j in dom X & i = len (<%z,x%>)+j;
A105:     dom (1+X) = dom X by VALUED_1:def 2;
          then
A106:     (1+X).j <= Product (1+X) by A104,HILB10_4:11;
          (1+X).j = 1+(X.j) by A104,A105,VALUED_1:def 2;
          then
A107:     X.j <= Product (1+X) by A106,NAT_1:13;
          e*(x^2+1)>=1 by NAT_1:14,A68;
          then 1*(X.j) <= e*(x^2+1) * Product (1+X) by A107,XREAL_1:66;
          hence thesis by A104,AFINSQ_1:def 3,A100;
        end;
      end;
      suppose ex j be Nat st j in dom Yz & i = len (<%z,x%>^X)+j;
        then consider j such that
A108:   j in dom Yz & i = len (<%z,x%>^X)+j;
        set YE = (Y.j+1)+(-idseq e);
A109:   (<%z,x%>^X^Yz).i = Yz.j by A108,AFINSQ_1:def 3;
A110:   Yz.j = Y.j mod prim by A108,A73;
A111:   1+(Z+1)*K1 divides Product YE - 0 by INT_1:def 4,A69,A108,A73;
A112:   len YE = len idseq e = e by CARD_1:def 7;
A113:   for w be Nat st w in dom YE holds
          ((Y.j+1)+(-idseq e)).w = (Y.j) +1-w
        proof
          let w be Nat;
          assume
A114:       w in dom YE;
          then w in dom (-idseq e) by VALUED_1:def 2;
          then w in dom idseq e by VALUED_1:8;
          then (idseq e).w=w by FINSEQ_2:49;
          then (- idseq e).w = -w by VALUED_1:8;
          then YE.w = (Y.j) +1+ -w by A114,VALUED_1:def 2;
          hence thesis;
        end;
A115:   now let a be Nat;
          assume
A116:     a in dom YE;
          1<= a <= e by A116,A112,FINSEQ_3:25;
          then reconsider a1=a-1 as Nat;
          a1+1 <=e by A116,A112,FINSEQ_3:25;
          then a1 < e by NAT_1:13;
          then
A117:       e-a1 >0 by XREAL_1:50;
          YE.a = Y.j +1-a by A116,A113;
          then YE.a+a1 > e by A67,A84,A108;
          hence YE.a >0 by A117,XREAL_1:19;
        end;
        now let r be object;
          assume r in rng YE;
          then consider a be object such that
A118:     a in dom YE & YE.a = r by FUNCT_1:def 3;
          reconsider a as Nat by A118;
          YE.a >0 by A115,A118;
          hence r in NAT by A118,INT_1:3;
        end;
        then
A119:     YE is FinSequence of NAT by FINSEQ_1:def 4,TARSKI:def 3;
        YE is positive-yielding
        proof
          let r be Real;
          assume r in rng YE;
          then consider a be object such that
A120:       a in dom YE & YE.a = r by FUNCT_1:def 3;
          thus thesis by A115,A120;
        end;
        then consider w be Nat such that
A121:   w in dom YE & prim divides YE.w by A111,A79,INT_2:9,Th12,A72,A119;
A122:   1 <= w <= e by A112,A121,FINSEQ_3:25;
        then reconsider w1=w-1 as Nat;
        prim divides Y.j+ 1 -w by A121,A113;
        then prim divides Y.j -w1;
        then Yz.j = w1 mod prim by A110,INT_4:23,A72;
        then Yz.j < w1+1 by NAT_1:13,NEWTON05:11;
        then
A123:     Yz.j < e by A122,XXREAL_0:2;
        (x^2+1) * Product (1+X)>=1 by NAT_1:14;
        then 1*(Yz.j) <= e*((x^2+1) * Product (1+X)) by A123,XREAL_1:66;
        hence thesis by A109,A98;
      end;
    end;
    then |.eval(p,@(<%z,x%>^X^Yz)).| <= (sum_of_coefficients |.p.|) *
      (((x^2+1) * (Product (1+X))*e)|^ degree p) by A68,NAT_1:14,Th10;
    then |.eval(p,@(<%z,x%>^X^Yz)).| <= K by A66,XXREAL_0:2;
    then prim*m < prim*1 by A96,A81,XXREAL_0:2;
    then m < 1 by XREAL_1:66;
    then m=0 by NAT_1:14;
    then eval(p,@(<%z,x%>^X^Yz))=0 by A96;
    hence thesis;
end;
