reserve a,b,m,x,n,l,xi,xj for Nat,
  t,z for Integer;

theorem
  a <> 0 & m <> 0 & a,m are_coprime implies
  for b holds a |^ b,m are_coprime
proof
  defpred P[Nat] means (a |^ $1),m are_coprime;
  assume
A1: a <> 0 & m <> 0 & a,m are_coprime;
A2: for b be Nat holds P[b] implies P[b+1]
  proof
    let b be Nat;
    (a |^ (b+1)) = (a |^ b)*(a |^ 1) by NEWTON:8
      .= (a |^ b)*a;
    hence thesis by A1,EULER_1:14;
  end;
  (a |^ 0) gcd m = 1 gcd m & m gcd 1 = 1 by NEWTON:4,51;
  then
A4: P[0] by INT_2:def 3;
  for b be Nat holds P[b] from NAT_1:sch 2(A4,A2);
  hence thesis;
end;
