let n, p be Nat; ( n <> 0 & p <> 0 implies n |^ p = n * (n |^ (p -' 1)) )
assume A1:
( n <> 0 & p <> 0 )
; n |^ p = n * (n |^ (p -' 1))
defpred S1[ Nat] means ( n <> 0 & $1 <> 0 implies n |^ $1 = n * (n |^ ($1 -' 1)) );
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]
hence
S1[
m + 1]
;
verum
end;
A5:
S1[ 0 ]
;
for m being Nat holds S1[m]
from NAT_1:sch 2(A5, A2);
hence
n |^ p = n * (n |^ (p -' 1))
by A1; verum