defpred S1[ set , set ] means ex g0 being Function of NAT, the carrier of G ex h being Element of G st
( $1 = h & g0 = $2 & g0 . 0 = 1_ G & ( for n being Nat holds g0 . (n + 1) = (g0 . n) * h ) );
A1:
for x being set st x in the carrier of G holds
ex y being set st S1[x,y]
consider f being Function such that
dom f = the carrier of G
and
A4:
for x being set st x in the carrier of G holds
S1[x,f . x]
from CLASSES1:sch 1(A1);
defpred S2[ Element of G, Element of NAT , set ] means ex g0 being Function of NAT, the carrier of G st
( g0 = f . $1 & $3 = g0 . $2 );
A5:
for a being Element of G
for n being Element of NAT ex b being Element of G st S2[a,n,b]
consider F being Function of [: the carrier of G,NAT:], the carrier of G such that
A7:
for a being Element of G
for n being Element of NAT holds S2[a,n,F . (a,n)]
from BINOP_1:sch 3(A5);
take
F
; for h being Element of G holds
( F . (h,0) = 1_ G & ( for n being Element of NAT holds F . (h,(n + 1)) = (F . (h,n)) * h ) )
let h be Element of G; ( F . (h,0) = 1_ G & ( for n being Element of NAT holds F . (h,(n + 1)) = (F . (h,n)) * h ) )
A8:
ex g2 being Function of NAT, the carrier of G ex b being Element of G st
( h = b & g2 = f . h & g2 . 0 = 1_ G & ( for n being Nat holds g2 . (n + 1) = (g2 . n) * b ) )
by A4;
ex g1 being Function of NAT, the carrier of G st
( g1 = f . h & F . (h,0) = g1 . 0 )
by A7;
hence
F . (h,0) = 1_ G
by A8; for n being Element of NAT holds F . (h,(n + 1)) = (F . (h,n)) * h
let n be Element of NAT ; F . (h,(n + 1)) = (F . (h,n)) * h
A9:
ex g2 being Function of NAT, the carrier of G ex b being Element of G st
( h = b & g2 = f . h & g2 . 0 = 1_ G & ( for n being Nat holds g2 . (n + 1) = (g2 . n) * b ) )
by A4;
( ex g0 being Function of NAT, the carrier of G st
( g0 = f . h & F . (h,n) = g0 . n ) & ex g1 being Function of NAT, the carrier of G st
( g1 = f . h & F . (h,(n + 1)) = g1 . (n + 1) ) )
by A7;
hence
F . (h,(n + 1)) = (F . (h,n)) * h
by A9; verum