deffunc H1( object ) -> Nat = F1();
defpred S1[ object ] means $1 = 0 ;
A3: for x being object 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 sequence of F2() st
for x being object 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 sequence of F2() such that
A4: for x being object 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() & ( for x being non zero Element of NAT holds f . x = F3(x) ) ) by A4; :: thesis: verum