reserve a,b,c,h for Integer;
reserve k,m,n for Nat;
reserve i,j,z for Integer;
reserve p for Prime;

theorem
  for D,m being positive Integer st D = m^2+1 holds
  { [x,y] where x,y is positive Integer: x^2 - D*y^2 = 1 } is infinite
  proof
    let D,m be positive Integer such that
A1: D = m^2+1;
    set f = exampleSierpinski150(m,D);
    defpred R[Complex,Complex] means $1^2-D*$2^2 = 1;
    set A = {[x,y] where x,y is positive Integer: R[x,y]};
A2: R[2*m^2+1,2*m] by A1;
    then [2*m^2+1,2*m] in A;
    then reconsider A as non empty set;
    deffunc F(Real,Real) = $1^2+D*$2^2;
    deffunc G(Real,Real) = 2*$1*$2;
A3: dom f = NAT by PARTFUN1:def 2;
    defpred N[Nat] means f.$1 in A;
    f.0 = [2*m^2+1,2*m] by Def19;
    then
A4: N[0] by A2;
A5: for a being Nat holds N[a] implies N[a+1]
    proof
      let a be Nat;
      assume N[a];
      then consider x,y being positive Integer such that
A6:   f.a = [x,y] & R[x,y];
A7:   f.(a+1) = [F((f.a)`1,(f.a)`2),G((f.a)`1,(f.a)`2)] by Def19;
      (x^2+D*y^2)^2 - D*(2*x*y)^2 = (x^2-D*y^2)^2;
      hence thesis by A6,A7;
    end;
A8: for a being Nat holds N[a] from NAT_1:sch 2(A4,A5);
    rng f c= A
    proof
      let y be object;
      assume y in rng f;
      then ex k being object st k in dom f & f.k = y by FUNCT_1:def 3;
      hence thesis by A8;
    end;
    hence thesis by A3,CARD_1:59;
  end;
