let m, n be Nat; ( m > 0 implies (n |^ m) mod n = 0 )
assume A1:
m > 0
; (n |^ m) mod n = 0
defpred S1[ Nat] means ( $1 > 0 implies (n |^ $1) mod n = 0 );
A2:
for m being Nat st S1[m] holds
S1[m + 1]
proof
let m be
Nat;
( S1[m] implies S1[m + 1] )
assume
S1[
m]
;
S1[m + 1]
S1[
m + 1]
hence
S1[
m + 1]
;
verum
end;
A3:
S1[ 0 ]
;
for n being Nat holds S1[n]
from NAT_1:sch 2(A3, A2);
hence
(n |^ m) mod n = 0
by A1; verum