
theorem Th30:
  for a be Integer,x,n be Nat holds a|^x mod n = (a mod n)|^x mod n
proof
  let a be Integer;
  let x, n be Nat;
  defpred P[Nat] means a|^$1 mod n = (a mod n)|^$1 mod n;
A1: for x be Nat st P[x] holds P[x+1]
  proof
    let x be Nat;
A2: a|^(x+1) mod n = (a|^x)*a mod n by NEWTON:6
      .= (a|^x mod n)*(a mod n) mod n by NAT_D:67;
A3: (a mod n)|^(x+1) mod n = ((a mod n)|^x)*(a mod n) mod n by NEWTON:6
      .= ((a mod n)|^x mod n)*((a mod n) mod n) mod n by NAT_D:67
      .= ((a mod n)|^x mod n)*(a mod n) mod n by NAT_D:65;
    assume a|^x mod n = (a mod n)|^x mod n;
    hence thesis by A2,A3;
  end;
  a|^0 = 1 by NEWTON:4;
  then
A4: P[0] by NEWTON:4;
  for n be Nat holds P[n] from NAT_1:sch 2(A4,A1);
  hence thesis;
end;
