reserve n,n1,n2,k,D for Nat,
        r,r1,r2 for Real,
        x,y for Integer;

theorem Th7:
  ex F be FinSequence of NAT st len F = n+1 &
  (for k st k in dom F holds
     F.k = [\ (k-1) * sqrt D /]+1) &
     (D is non square implies F is one-to-one)
  proof
    deffunc F(Nat) = [\ ($1-1) * sqrt D /]+1;
    consider p be FinSequence such that
    A1: len p = n+1 & for k st k in dom p holds p.k=F(k) from FINSEQ_1:sch 2;
    rng p c= NAT
    proof
      let y be object such that A2:y in rng p;
      consider x be object such that
      A3: x in dom p & p.x = y by A2,FUNCT_1:def 3;
      reconsider x as Nat by A3;
      1 <= x <= n+1 by A3,A1,FINSEQ_3:25;
      then A4: 1 -1 <= x -1 by XREAL_1:9;
      0 < D or D=0;
      then 0 < sqrt D or sqrt D = 0 by SQUARE_1:25;
      then 0 <= F(x) by A4, INT_1:29;
      then F(x) in NAT by INT_1:3;
      hence thesis by A3, A1;
    end;
    then reconsider p as FinSequence of NAT by FINSEQ_1:def 4;
    take p;
    thus len p = n+1 & (for k st k in dom p holds p.k =
      [\ (k-1) * sqrt D /]+1) by A1;
    assume A5: D is non square;
    let y1,y2 be object  such that A6:y1 in dom p & y2 in dom p & p.y1=p.y2;
    assume A7:y1<>y2;
    reconsider y1,y2 as Nat by A6;
    A8: p.y1 = F(y1) & p.y2=F(y2) by A6,A1;
    D is non trivial by A5;
    then A9: sqrt D > sqrt 1 & sqrt 1 = 1 by NEWTON03:def 1, SQUARE_1:27;
    per cases by A7,XXREAL_0:1;
    suppose A10: y1 <y2;
      A11:[\ (y2-1) * sqrt D /]+1 <= (y1-1) * sqrt D+1
      by A6,A8,XREAL_1:6,INT_1:def 6;
      (y2-1) * sqrt D < (y1-1) * sqrt D+1 by INT_1:29, A11,XXREAL_0:2;
      then A12: (y2-1) * sqrt D - (y1-1) * sqrt D <=1 by XREAL_1:19;
      A13:  (y2-y1)* (sqrt D /sqrt D) = (y2-y1)* sqrt D /sqrt D <= 1/sqrt D
      by A12, A9, XREAL_1:72, XCMPLX_1:74;
      A14: 1 / sqrt D < sqrt D / sqrt D & sqrt D / sqrt D =1
      by XCMPLX_1:60,A9,XREAL_1:74;
      A15: y1 - y1 < y2 - y1 by XREAL_1:9, A10;
      y2-y1 < 1 by XXREAL_0:2, A13,A14;
      hence contradiction by NAT_1:14, A15;
    end;
    suppose A16: y1 > y2;
      A17:[\ (y1-1) * sqrt D /]+1 <= (y2-1) * sqrt D+1
      by A6, A8,XREAL_1:6,INT_1:def 6;
      (y1-1) * sqrt D < (y2-1) * sqrt D+1 by INT_1:29, A17,XXREAL_0:2;
      then A18: (y1-1) * sqrt D - (y2-1) * sqrt D <=1 by XREAL_1:19;
      A19:  (y1-y2)* (sqrt D /sqrt D) =
        (y1-y2)* sqrt D /sqrt D <= 1/sqrt D
      by A18, A9, XREAL_1:72, XCMPLX_1:74;
      A20: 1 / sqrt D < sqrt D / sqrt D & sqrt D / sqrt D =1
        by XCMPLX_1:60, A9, XREAL_1:74;
      A21: y2 - y2 < y1 - y2 by XREAL_1:9, A16;
      y1-y2 < 1 by XXREAL_0:2, A19, A20;
      hence contradiction by NAT_1:14, A21;
    end;
  end;
