defpred S1[ object , object ] means ( ( P1[$1] & $2 = TRUE ) or ( P1[$1] & $2 = FALSE ) );
A2: for d being object st d in F2() holds
ex z being object st
( z in BOOLEAN & S1[d,z] )
proof
let d be object ; :: thesis: ( d in F2() implies ex z being object st
( z in BOOLEAN & S1[d,z] ) )

assume d in F2() ; :: thesis: ex z being object st
( z in BOOLEAN & S1[d,z] )

per cases ( S1[d, TRUE ] or S1[d, FALSE ] ) ;
suppose A3: S1[d, TRUE ] ; :: thesis: ex z being object st
( z in BOOLEAN & S1[d,z] )

take TRUE ; :: thesis: ( TRUE in BOOLEAN & S1[d, TRUE ] )
thus ( TRUE in BOOLEAN & S1[d, TRUE ] ) by A3; :: thesis: verum
end;
suppose A4: S1[d, FALSE ] ; :: thesis: ex z being object st
( z in BOOLEAN & S1[d,z] )

take FALSE ; :: thesis: ( FALSE in BOOLEAN & S1[d, FALSE ] )
thus ( FALSE in BOOLEAN & S1[d, FALSE ] ) by A4; :: thesis: verum
end;
end;
end;
consider p being Function of F2(),BOOLEAN such that
A5: for d being object st d in F2() holds
S1[d,p . d] from FUNCT_2:sch 1(A2);
A6: p in PFuncs (F2(),BOOLEAN) by PARTFUN1:45;
PFuncs (F2(),BOOLEAN) c= PFuncs (F1(),BOOLEAN) by A1, PARTFUN1:50;
then reconsider p = p as PartialPredicate of F1() by A6, PARTFUN1:46;
take p ; :: thesis: ( dom p = F2() & ( for d being object st d in dom p holds
( ( P1[d] implies p . d = TRUE ) & ( P1[d] implies p . d = FALSE ) ) ) )

dom p = F2() by FUNCT_2:def 1;
hence ( dom p = F2() & ( for d being object st d in dom p holds
( ( P1[d] implies p . d = TRUE ) & ( P1[d] implies p . d = FALSE ) ) ) ) by A5; :: thesis: verum