theorem Th12:
  for a,i1,i2 holds
    {p: p.i1 = a*p.i2} is diophantine Subset of n -xtuples_of NAT
proof
  let a be Integer,i1,i2;
  defpred P[XFinSequence of NAT] means $1.i1 = a * $1.i2;
  defpred Q[XFinSequence of NAT] means 1 * ($1.i1) = a * $1.i2+0;
  A1: {p: p.i1 = a*p.i2 } c=  {q: 1*q.i1 = a*q.i2+0}
  proof
    let y be object;
    assume y in {p: p.i1 = a*p.i2 };
    then consider p be n-element XFinSequence of NAT such that
    A2:y=p & p.i1 = a*p.i2;
    1*p.i1 = a*p.i2+0 by A2;
    hence thesis by A2;
  end;
  {q: 1*q.i1 = a*q.i2+0} c= {p: p.i1 = a*p.i2 }
  proof
  let y be object;
  assume y in {q: 1*q.i1 = a*q.i2+0};
  then ex q be n-element XFinSequence of NAT st
   y=q & 1*q.i1 = a*q.i2+0;
   hence thesis;
 end;
 then {q: 1*q.i1 = a*q.i2+0} = {p: p.i1 = a*p.i2 } by A1,XBOOLE_0:def 10;
 hence thesis by Th6;
end;
