consider X being set such that
A1: for x being object holds
( x in X iff ( x in Funcs (D,NAT) & S1[x] ) ) from XBOOLE_0:sch 1();
take X ; :: thesis: for f being object holds
( f in X iff f is Function of D,NAT )

let f be object ; :: thesis: ( f in X iff f is Function of D,NAT )
thus ( f in X implies f is Function of D,NAT ) by A1; :: thesis: ( f is Function of D,NAT implies f in X )
assume A2: f is Function of D,NAT ; :: thesis: f in X
then f in Funcs (D,NAT) by FUNCT_2:8;
hence f in X by A1, A2; :: thesis: verum