let f be Function; :: thesis: for n being Nat holds iter (f,(n + 1)) = f * (iter (f,n))
let n be Nat; :: thesis: iter (f,(n + 1)) = f * (iter (f,n))
defpred S1[ Nat] means iter (f,($1 + 1)) = f * (iter (f,$1));
A1: for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be Nat; :: thesis: ( S1[k] implies S1[k + 1] )
assume A2: iter (f,(k + 1)) = f * (iter (f,k)) ; :: thesis: S1[k + 1]
thus f * (iter (f,(k + 1))) = f * ((iter (f,k)) * f) by Th71
.= (f * (iter (f,k))) * f by RELAT_1:55
.= iter (f,((k + 1) + 1)) by A2, Th71 ; :: thesis: verum
end;
iter (f,(0 + 1)) = f by Th72
.= f * (id ((dom f) \/ (rng f))) by Lm3
.= f * (iter (f,0)) by Th70 ;
then A3: S1[ 0 ] ;
for k being Nat holds S1[k] from NAT_1:sch 2(A3, A1);
hence iter (f,(n + 1)) = f * (iter (f,n)) ; :: thesis: verum