deffunc H1( set ) -> Element of NAT = F1();
defpred S1[ set ] means $1 = 0 ;
A3:
for x being set st x in NAT holds
( ( S1[x] implies H1(x) in F2() ) & ( not S1[x] implies F3(x) in F2() ) )
by A1, A2;
ex f being Function of NAT ,F2() st
for x being set st x in NAT holds
( ( S1[x] implies f . x = H1(x) ) & ( not S1[x] implies f . x = F3(x) ) )
from FUNCT_2:sch 5(A3);
then consider f being Function of NAT ,F2() such that
A4:
for x being set st x in NAT holds
( ( S1[x] implies f . x = H1(x) ) & ( not S1[x] implies f . x = F3(x) ) )
;
take
f
; ( f . 0 = F1() & ( for x being non zero Element of NAT holds f . x = F3(x) ) )
thus
f . 0 = F1()
by A4; for x being non zero Element of NAT holds f . x = F3(x)
let x be non zero Element of NAT ; f . x = F3(x)
thus
f . x = F3(x)
by A4; verum