defpred S1[ object , object ] means ex g being Function st
( g = $1 & $2 = v . (g * f) );
defpred S2[ object ] means ex g being Function st
( g = $1 & g * f in dom v );
defpred S3[ object , object ] means ex g being Function st
( $1 = g & $2 = rng g );
A11:
for x, y, z being object st S3[x,y] & S3[x,z] holds
y = z
;
consider X being set such that
A12:
for x being object holds
( x in X iff ex y being object st
( y in dom v & S3[y,x] ) )
from TARSKI:sch 1(A11);
set Y = union X;
consider D being set such that
A13:
for x being object holds
( x in D iff ( x in Funcs (N,(union X)) & S2[x] ) )
from XBOOLE_0:sch 1();
A14:
for x being object st x in D holds
ex y being object st S1[x,y]
proof
let x be
object ;
( x in D implies ex y being object st S1[x,y] )
assume
x in D
;
ex y being object st S1[x,y]
then consider y being
Function such that A15:
y = x
and
y * f in dom v
by A13;
take
v . (y * f)
;
S1[x,v . (y * f)]
thus
S1[
x,
v . (y * f)]
by A15;
verum
end;
consider F being Function such that
A16:
( dom F = D & ( for g being object st g in D holds
S1[g,F . g] ) )
from CLASSES1:sch 1(A14);
take
F
; ( ex Y being set st
( ( for y being set holds
( y in Y iff ex h being Function st
( h in dom v & y in rng h ) ) ) & ( for a being set holds
( a in dom F iff ( a in Funcs (N,Y) & ex g being Function st
( a = g & g * f in dom v ) ) ) ) ) & ( for g being Function st g in dom F holds
F . g = v . (g * f) ) )
let g be Function; ( g in dom F implies F . g = v . (g * f) )
assume
g in dom F
; F . g = v . (g * f)
then
S1[g,F . g]
by A16;
hence
F . g = v . (g * f)
; verum