defpred S1[ object , object ] means ( ( $1 is Element of F2() implies ex x being Element of F2() st
( x = $1 & $2 = F3(x) ) ) & ( $1 is not Element of F2() implies $2 = 0 ) );
A1:
for x being object st x in F1() holds
ex y being object st S1[x,y]
consider f being Function such that
A2:
dom f = F1()
and
A3:
for x being object st x in F1() holds
S1[x,f . x]
from CLASSES1:sch 1(A1);
take
f
; ( dom f = F1() & ( for x being Element of F2() st x in F1() holds
f . x = F3(x) ) )
thus
dom f = F1()
by A2; for x being Element of F2() st x in F1() holds
f . x = F3(x)
let x be Element of F2(); ( x in F1() implies f . x = F3(x) )
assume
x in F1()
; f . x = F3(x)
then
S1[x,f . x]
by A3;
hence
f . x = F3(x)
; verum