reserve i,j,n,n1,n2,m,k,l,u for Nat,
        r,r1,r2 for Real,
        x,y for Integer,
        a,b for non trivial Nat,
        F for XFinSequence,
        cF,cF1,cF2 for complex-valued XFinSequence,
        c,c1,c2 for Complex;
reserve x,y,x1,u,w for Nat;
reserve n,m,k for Nat,
        p,q for n-element XFinSequence of NAT,
        i1,i2,i3,i4,i5,i6 for Element of n,
        a,b,d,f for Integer;

theorem
  for n,i1,i2,i3 holds {p: 1+(p.i1+1)*(p.i2!) = p.i3}
    is diophantine Subset of n -xtuples_of NAT
proof
  deffunc F1(Nat,Nat,Nat) = 1*$1+ (-1);
A1: for i1,i2,i3,i4,a holds {p: F1(p.i1,p.i2,p.i3) = a* p.i4}
      is diophantine Subset of n -xtuples_of NAT by HILB10_3:6;
  defpred P1[Nat,Nat,Integer] means 1*$1*$2 = $3;
A2: for i1,i2,i3,a holds {p: P1[p.i1,p.i2,a* p.i3]}
      is diophantine Subset of n -xtuples_of NAT by HILB10_3:9;
A3: for i1,i2,i3,i4,i5 holds {p: P1[p.i1,p.i2,F1(p.i3,p.i4,p.i5)]}
      is diophantine Subset of n -xtuples_of NAT from HILB10_3:sch 5(A2,A1);
  deffunc F2(Nat,Nat,Nat) = $1!;
A4: for i1,i2,i3,i4 holds {p : F2(p.i1,p.i2,p.i3) = p.i4}
     is diophantine Subset of n -xtuples_of NAT by Th32;
  defpred P2[Nat,Nat,natural object,Nat,Nat,Nat] means 1*$1*$3 = (1*$2-1);
A5: now let n,i1,i3,i2,i4,i5,i6;
    defpred Q1[XFinSequence of NAT] means P1[$1.i1,$1.i2,1*($1.i3)+-1];
    defpred Q2[XFinSequence of NAT] means
      P2[$1.i1,$1.i3,$1.i2,$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 : P2[p.i1,p.i3,p.i2,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: 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(A5,A4);
  defpred P3[Nat,Nat,natural object,Nat,Nat,Nat] means 1*$3*($1!) = (1*$2-1);
A8:for n,i1,i4,i2,i3,i5,i6 holds {p : P3[p.i1,p.i4,p.i2,p.i3,p.i5,p.i6]}
    is diophantine Subset of n -xtuples_of NAT by A7;
  deffunc F3(Nat,Nat,Nat) = 1*$1+1;
A9: for n for i1,i2,i3,i4 holds {p : F3(p.i1,p.i2,p.i3) = p.i4}
    is diophantine Subset of n -xtuples_of NAT by HILB10_3:15;
A10: for n for i1,i2,i3,i4,i5 holds
    {p : P3[p.i1,p.i2,F3(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(A8,A9);
  let n,i1,i2,i3;
  defpred Q1[XFinSequence of NAT] means
    P3[$1.i2,$1.i3,1*$1.i1+1,$1.i3,$1.i3,$1.i3];
  defpred Q2[XFinSequence of NAT] means 1+ ($1.i1+1)*($1.i2!) = $1.i3;
  A11: for p holds Q1[p] iff Q2[p];
  {p : Q1[p]} = {q :Q2[q]} from HILB10_3:sch 2(A11);
  hence thesis by A10;
end;
