deffunc H1( set ) -> set = f . $1; defpred S1[ set ] means $1 indom f; set y = the Element of Y; deffunc H2( set ) -> Element of Y = the Element of Y; A3:
for x being set st x in X holds ( ( S1[x] implies H1(x) in Y ) & ( not S1[x] implies H2(x) in Y ) )
byA2, PARTFUN1:4; consider g being Function of X,Y such that A4:
for x being set st x in X holds ( ( S1[x] implies g . x = H1(x) ) & ( not S1[x] implies g . x = H2(x) ) )
fromFUNCT_2:sch 5(A3); 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
byA4; :: thesis: verum