reserve a,b,c,d,m,x,n,j,k,l for Nat,
  t,u,v,z for Integer,
  f,F for FinSequence of NAT;
reserve p,q,r,s for real number;
reserve a,b,c,d,m,x,n,k,l for Nat,
  t,z for Integer,
  f,F,G for FinSequence of REAL;
reserve q,r,s for real number;
reserve D for set;

theorem
  for n be odd Prime st n = 2*k + 1
  holds n divides (2|^k - 1) iff not n divides (2|^k + 1)
  proof
    let n be odd Prime such that
    A1: n = 2*k + 1;
    not 2 divides n; then
    A2: not n divides 2 by INT_2:28,30,PYTHTRIP:def 2;
    A3: n divides (2|^k - 1) or n divides (2|^k + 1)
    proof
      n divides (2|^(2*k+1) - 2) by A1,Th40; then
      n divides (2|^(2*k)*2 - 2) by NEWTON:6; then
      n divides 2*(2|^(2*k) - 1|^2); then
      n divides (2|^(2*k) - 1) by A2,INT_5:7; then
      n divides (2|^k)|^2 - 1|^2 by NEWTON:9; then
      n divides (2|^k-1)*(2|^k+1) by NEWTON01:1;
      hence thesis by INT_5:7;
    end;
    (2|^k + 1) - (2|^k - 1) = 2;
    hence thesis by A2,INT_5:1,A3;
  end;
