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: p.i3 = Product (1+((p.i1)! * idseq (1+p.i2)))}
  is diophantine Subset of n -xtuples_of NAT
proof
  deffunc F1(Nat,Nat,Nat) = $1!;
A1: for i1,i2,i3,i4 holds {p : F1(p.i1,p.i2,p.i3) = p.i4}
    is diophantine Subset of n -xtuples_of NAT by Th32;
  defpred P1[Nat,Nat,natural object,Nat,Nat,Nat] means
    $1 = Product (1+(($3) * idseq ($2))) & $3 >= 1;
A2: for i1,i2,i3,i4,i5,i6 holds {p : P1[p.i1,p.i2,p.i3,p.i4,p.i5,p.i6]}
    is diophantine Subset of n -xtuples_of NAT by Th35;
A3: 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(A2,A1);
  deffunc F2(Nat,Nat,Nat) = 1*$1+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 HILB10_3:15;
  defpred P2[Nat,Nat,natural object,Nat,Nat,Nat] means
    $1 = Product (1+(($2!) * idseq ($3))) & $2! >= 1;
A5: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 A3;
A6: 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);
  let n,i1,i2,i3;
  defpred Q1[XFinSequence of NAT] means
    P2[$1.i3,$1.i1,1*$1.i2+1,1*$1.i3,$1.i3,$1.i3];
  defpred Q2[XFinSequence of NAT] means
    $1.i3 = Product (1+(($1.i1)! * idseq (1+$1.i2)));
  A7: for p holds Q1[p] iff Q2[p] by NAT_1:14;
  {p : Q1[p]} = {q :Q2[q]} from HILB10_3:sch 2(A7);
  hence thesis by A6;
end;
