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 Th11:
  for k,n1,n2,i,j,l,m,n,i1,i2,i3,i4 st n1+n2 <= n holds
    {p: p.i1 >= k *
      (((p.i2)^2+1)* (Product (1+((p/^n1)|n2) ))*(l*p.i3+m)) |^
        (i*(p.i4)+j)}
  is diophantine Subset of n -xtuples_of NAT
proof
  let k,n1,n2,i,j,l,m;
  deffunc F0(Nat,Nat,Nat) = $1|^$2;
A1:for n,i1,i2,i3,i4 holds {p:F0(p.i1,p.i2,p.i3)=p.i4}
    is diophantine Subset of n -xtuples_of NAT by HILB10_3:24;
  defpred P0[Nat,Nat,natural object,Nat,Nat,Nat] means 1* $1 >= k * $3 +0;
A2: for n,i1,i2,i3,i4,i5,i6 holds {p:P0[p.i1,p.i2,p.i3,p.i4,p.i5,p.i6]}
    is diophantine Subset of n -xtuples_of NAT by HILB10_3:8;
A3: for i1,i2,i3,i4,i5 holds
    {p: P0[p.i1,p.i2,F0(p.i3,p.i4,p.i5),p.i3,p.i4,p.i5]}
    is diophantine Subset of n -xtuples_of NAT from HILB10_3:sch 4(A2,A1);
  deffunc F1(Nat,Nat,Nat) = i*$1+j;
A4:for n,i1,i2,i3,i4 holds {p:F1(p.i1,p.i2,p.i3)=p.i4}
    is diophantine Subset of n -xtuples_of NAT by HILB10_3:15;
  defpred P1[Nat,Nat,natural object,Nat,Nat,Nat] means
    $1 >= k * ($2|^$3);
A5: now let n,i1,i2,i3,i4,i5,i6;
    defpred Q1[XFinSequence of NAT] means
    P0[$1.i1,$1.i2,$1.i2|^$1.i3,$1.i4,$1.i5,$1.i6];
    defpred Q2[XFinSequence of NAT] means
      P1[$1.i1,$1.i2,$1.i3,$1.i4,$1.i5,$1.i6];
    A6: for p holds Q1[p] iff Q2[p];
    {p : Q1[p]} = {q :Q2[q]} from HILB10_3:sch 2(A6);
    hence {p:P1[p.i1,p.i2,p.i3,p.i4,p.i5,p.i6]}
      is diophantine Subset of n -xtuples_of NAT by A3;
  end;
A7: for i1,i2,i3,i4,i5 holds
    {p: P1[p.i1,p.i2,F1(p.i3,p.i4,p.i5),p.i3,p.i4,p.i5]}
    is diophantine Subset of n -xtuples_of NAT from HILB10_3:sch 4(A5,A4);
  deffunc F2(Nat,Nat,Nat) = 1* $1*$2;
A8:for n,i1,i2,i3,i4 holds {p: F2(p.i1,p.i2,p.i3)=p.i4}
    is diophantine Subset of n -xtuples_of NAT by HILB10_4:26;
  defpred P2[Nat,Nat,natural object,Nat,Nat,Nat] means
    $1 >= k * ($3|^(i*$2+j));
A9:for n,i1,i3,i2,i4,i5,i6 holds {p:P2[p.i1,p.i3,p.i2,p.i4,p.i5,p.i6]}
    is diophantine Subset of n -xtuples_of NAT by A7;
A10: for i1,i2,i3,i4,i5 holds
    {p: P2[p.i1,p.i2,F2(p.i3,p.i4,p.i5),p.i3,p.i4,p.i5]}
    is diophantine Subset of n -xtuples_of NAT from HILB10_3:sch 4(A9,A8);
  defpred P3[Nat,Nat,natural object,Nat,Nat,Nat] means
    $1 >= k * (($6*$3)|^(i*$2+j));
A11: now let n,i1,i2,i4,i5,i6,i3;
    defpred Q1[XFinSequence of NAT] means
    P2[$1.i1,$1.i2,1 * $1.i3 * $1.i4,$1.i4,$1.i5,$1.i5];
    defpred Q2[XFinSequence of NAT] means
      P3[$1.i1,$1.i2,$1.i4,$1.i5,$1.i6,$1.i3];
A12:  for p holds Q1[p] iff Q2[p];
    {p : Q1[p]} = {q :Q2[q]} from HILB10_3:sch 2(A12);
    hence {p:P3[p.i1,p.i2,p.i4,p.i5,p.i6,p.i3]}
      is diophantine Subset of n -xtuples_of NAT by A10;
  end;
A13: for i1,i2,i3,i4,i5 holds
    {p: P3[p.i1,p.i2,F2(p.i3,p.i4,p.i5),p.i3,p.i4,p.i5]}
    is diophantine Subset of n -xtuples_of NAT from HILB10_3:sch 4(A11,A8);
  deffunc F5(Nat,Nat,Nat) = 1* $1 +1;
A14:for n,i1,i2,i3,i4 holds {p: F5(p.i1,p.i2,p.i3)=p.i4}
    is diophantine Subset of n -xtuples_of NAT by HILB10_3:15;
  defpred P5[Nat,Nat,natural object,Nat,Nat,Nat] means
    $1 >= k * (($3*$5*$6)|^(i*$2+j));
A15:now let n,i1,i2,i4,i3,i5,i6;
    defpred Q1[XFinSequence of NAT] means
      P3[$1.i1,$1.i2,1*$1.i4*$1.i5,$1.i4,$1.i5,$1.i6];
    defpred Q2[XFinSequence of NAT] means
      P5[$1.i1,$1.i2,$1.i4,$1.i3,$1.i5,$1.i6];
A16:  for p holds Q1[p] iff Q2[p];
    {p : Q1[p]} = {q :Q2[q]} from HILB10_3:sch 2(A16);
    hence {p:P5[p.i1,p.i2,p.i4,p.i3,p.i5,p.i6]}
      is diophantine Subset of n -xtuples_of NAT by A13;
  end;
A17: for i1,i2,i3,i4,i5 holds
    {p: P5[p.i1,p.i2,F5(p.i3,p.i4,p.i5),p.i3,p.i4,p.i5]}
    is diophantine Subset of n -xtuples_of NAT from HILB10_3:sch 4(A15,A14);
  deffunc G1(Nat,Nat,Nat) = l*$1+m;
A18:for n,i1,i2,i3,i4 holds {p:G1(p.i1,p.i2,p.i3)=p.i4}
    is diophantine Subset of n -xtuples_of NAT by HILB10_3:15;
  defpred R1[Nat,Nat,natural object,Nat,Nat,Nat] means
    $1 >= k * (($3*$5*($6+1))|^(i*$2+j));
A19: now let n,i1,i2,i6,i4,i5,i3;
    defpred Q1[XFinSequence of NAT] means
      P5[$1.i1,$1.i2,1*$1.i3+1,$1.i4,$1.i5,$1.i6];
    defpred Q2[XFinSequence of NAT] means
      R1[$1.i1,$1.i2,$1.i6,$1.i4,$1.i5,$1.i3];
A20:  for p holds Q1[p] iff Q2[p];
    {p : Q1[p]} = {q :Q2[q]} from HILB10_3:sch 2(A20);
    hence {p:R1[p.i1,p.i2,p.i6,p.i4,p.i5,p.i3]}
      is diophantine Subset of n -xtuples_of NAT by A17;
  end;
A21: for i1,i2,i3,i4,i5 holds
  {p: R1[p.i1,p.i2,G1(p.i3,p.i4,p.i5),p.i3,p.i4,p.i5]}
  is diophantine Subset of n -xtuples_of NAT from HILB10_3:sch 4(A19,A18);
  defpred P6[Nat,Nat,natural object,Nat,Nat,Nat] means
    $1 >= k * ((($3+1)*$5*(l*$6+m))|^(i*$2+j));
  deffunc F6(Nat,Nat,Nat) = 1* $1*$1;
A22:for n,i1,i2,i3,i4 holds {p: F6(p.i1,p.i2,p.i3)=p.i4}
    is diophantine Subset of n -xtuples_of NAT by HILB10_4:26;
A23: now let n,i1,i2,i6,i4,i5,i3;
    defpred Q1[XFinSequence of NAT] means
      R1[$1.i1,$1.i2,l*$1.i3+m,$1.i4,$1.i5,$1.i6];
    defpred Q2[XFinSequence of NAT] means
      P6[$1.i1,$1.i2,$1.i6,$1.i4,$1.i5,$1.i3];
A24:  for p holds Q1[p] iff Q2[p];
    {p : Q1[p]} = {q :Q2[q]} from HILB10_3:sch 2(A24);
    hence {p:P6[p.i1,p.i2,p.i6,p.i4,p.i5,p.i3]}
    is diophantine Subset of n -xtuples_of NAT by A21;
  end;
A25: for n,i1,i2,i3,i4,i5 holds
    {p: P6[p.i1,p.i2,F6(p.i3,p.i4,p.i5),p.i3,p.i4,p.i5]}
    is diophantine Subset of n -xtuples_of NAT from HILB10_3:sch 4(A23,A22);
  let n,i1,i2,i3,i4 such that
A26: n1+n2 <= n;
  set X=n+1;
A27: n < X by NAT_1:13;
  then n in Segm X by NAT_1:44;
  then reconsider N=n,I1=i1,I2=i2,I3=i3,I4=i4 as Element of X by HILB10_3:2;
  defpred P7[XFinSequence of NAT] means
    $1.I1 >= k * (((1*($1.I2)*($1.I2)+1) *
      ($1.N) * (l*$1.I3+m)) |^ (i*($1.I4)+j));
A28: {p where p is X-element XFinSequence of NAT:P7[p]}
    is diophantine Subset of X -xtuples_of NAT by A25;
  defpred Q7[XFinSequence of NAT] means $1.N = Product (1+(($1/^n1) | n2) );
A29: {p where p is X-element XFinSequence of NAT:Q7[p]}
    is diophantine Subset of X -xtuples_of NAT by HILB10_4:39;
  set PQ = {p where p is X-element XFinSequence of NAT:P7[p]&Q7[p]};
A30: PQ is diophantine Subset of X -xtuples_of NAT
    from HILB10_3:sch 3(A28,A29);
  set PQr = {p|n where p is X-element XFinSequence of NAT: p in PQ};
  defpred S[XFinSequence of NAT] means $1.i1 >= k * ((($1.i2)^2+1) *
  (Product (1+(($1/^n1) | n2) ))* (l*$1.i3+m)) |^ (i*($1.i4)+j);
  set S={p: S[p]};
A31: PQr is diophantine Subset of n -xtuples_of NAT by HILB10_3:5,A27,A30;
A32: n1 <=n1+n2 by NAT_1:11;
A33: n-'n1 = n-n1 by A32,A26,XXREAL_0:2,XREAL_1:233;
A34: n2 <= n-n1 by A26,XREAL_1:19;
  S c= n -xtuples_of NAT
  proof
    let y be object;
    assume y in S;
    then ex p st y=p & S[p];
    hence thesis by HILB10_2:def 5;
  end;
  then reconsider S as Subset of n -xtuples_of NAT;
  per cases;
  suppose
    n=0;
    then S is diophantine Subset of n -xtuples_of NAT;
    hence thesis;
  end;
  suppose
A35:  n<>0;
A36:  S c= PQr
    proof
      let y be object;assume y in S;
      then consider p such that
A37:    y=p & S[p];
A38:    len p=n by CARD_1:def 7;
      then
A39:    len (p/^n1) >= n2 by A34,A33,AFINSQ_2:def 2;
      reconsider P = Product(1+((p/^n1)|n2)) as Element of NAT
        by ORDINAL1:def 12;
      reconsider pP = p^<%P%> as X-element XFinSequence of NAT;
A40:    pP|n = p by A38,AFINSQ_1:57;
A41:    pP.N = P by A38,AFINSQ_1:36;
A42:    pP.I1 = p.i1 & pP.I2 = p.i2 & pP.I3 = p.i3 & pP.I4=p.i4
        by A35,A40,HILB10_3:4;
A43:  (pP /^n1) | n2 = ((p /^n1) ^ <%P%>) |n2
        by HILB10_4:10,A38,A32,A26,XXREAL_0:2
        .= (p/^n1)|n2 by AFINSQ_1:58,A39;
      P7[pP] & Q7[pP] by A43,A42,A41,A37,SQUARE_1:def 1;
      then pP in PQ;
      hence thesis by A37,A40;
    end;
    PQr c= S
    proof
      let y be object;assume y in PQr;
      then consider pP be X-element XFinSequence of NAT such that
A44:    y=pP|n & pP in PQ;
A45:    ex q be X-element XFinSequence of NAT st pP=q & P7[q] & Q7[q] by A44;
A46:    len pP=X by CARD_1:def 7;
      then
A47:    len (pP|n) = n by A27,AFINSQ_1:54;
      then reconsider p=pP|n as n-element XFinSequence of NAT by CARD_1:def 7;
A48:    len (p/^n1) >= n2 by A34,A33,A47,AFINSQ_2:def 2;
      set P = Product(1+((p/^n1) | n2));
A49:    pP = p ^<%pP.n%> by A46,AFINSQ_1:56;
A50:    (pP/^n1)|n2 = ((p/^n1)^<%pP.n%>)|n2
        by A49,HILB10_4:10,A47,A32,A26,XXREAL_0:2
        .= (p/^n1)|n2 by AFINSQ_1:58,A48;
A51:  pP.I1 = p.i1 & pP.I2 = p.i2 & pP.I3 = p.i3 & pP.I4 = p.i4
        by A35,HILB10_3:4;
      (p.i2)*(p.i2) = (p.i2)^2 by SQUARE_1:def 1;
      hence thesis by A44,A50,A51,A45;
    end;
    hence thesis by A31,A36,XBOOLE_0:def 10;
  end;
end;
