consider y being Element of Y; defpred S1[ set ] means $1 indom f; deffunc H1( set ) -> set = f . $1; deffunc H2( set ) -> Element of Y = y; A5:
for x being set st x in X holds ( ( S1[x] implies H1(x) in Y ) & ( not S1[x] implies H2(x) in Y ) )
by A4, PARTFUN1:27; consider g being Function of X,Y such that A6:
for x being set st x in X holds ( ( S1[x] implies g . x = H1(x) ) & ( not S1[x] implies g . x = H2(x) ) )
from FUNCT_2:sch 5(A5); take
g
; :: thesis: for x being set st x indom f holds g . x = f . x thus
for x being set st x indom f holds g . x = f . x
by A6; :: thesis: verum