reserve k, m, n, p, K, N for Nat;
reserve i for Integer;
reserve x, y, eps for Real;
reserve seq, seq1, seq2 for Real_Sequence;
reserve sq for FinSequence of REAL;

theorem Th31:
  x is rational implies ex n st n >= 2 & n!*x is integer
proof
  assume x is rational;
  then consider i, n such that
A1: n>0 and
A2: x=i/n by RAT_1:8;
  per cases;
  suppose
A3: n<1+1;
A4: n>=0+1 by A1,NAT_1:13;
    n<=1 by A3,NAT_1:13;
    then n=1 by A4,XXREAL_0:1;
    then reconsider x1 = x as Integer by A2;
    take n = 2;
    n!*x1 is integer;
    hence thesis;
  end;
  suppose
A5: n>=2;
    take n;
    thus n>=2 by A5;
    reconsider m = n-1 as Element of NAT by A5,INT_1:5,XXREAL_0:2;
    n!*x = (m+1)*(m!)*x by NEWTON:15
      .= (n*x)*(m!)
      .= i*(m!) by A1,A2,XCMPLX_1:87;
    hence thesis;
  end;
end;
