reserve d,i,j,k,m,n,p,q,x,k1,k2 for Nat,
  a,c,i1,i2,i3,i5 for Integer;

theorem Th35:
  p > 1 & i mod p = 1 implies (i |^ n) mod p = 1
proof
  assume that
A1: p > 1 and
A2: i mod p = 1;
  defpred P[Nat] means (i |^ $1) mod p = 1;
A3: for k holds P[k] implies P[k+1]
  proof
    let k;
    assume
A4: (i |^ k) mod p = 1;
    (i |^ (k + 1)) mod p = ((i |^ k)*i) mod p by NEWTON:6
      .= (((i |^ k) mod p)*i) mod p by EULER_2:8
      .= 1 by A2,A4;
    hence thesis;
  end;
  1 mod p = 1 by A1,NAT_D:24;
  then
A5: P[0] by NEWTON:4;
  for n holds P[n] from NAT_1:sch 2(A5,A3);
  hence thesis;
end;
