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 ; :: thesis: ( f . 0 = F1() & ( for x being non zero Element of NAT holds f . x = F3(x) ) )
thus f . 0 = F1() by A4; :: thesis: for x being non zero Element of NAT holds f . x = F3(x)
let x be non zero Element of NAT ; :: thesis: f . x = F3(x)
thus f . x = F3(x) by A4; :: thesis: verum