let f1, f2 be Function; :: thesis: ( dom f1 = f " (SubFuncs (rng f)) & ( for x being set st x in f " (SubFuncs (rng f)) holds
f1 . x = proj1 (f . x) ) & dom f2 = f " (SubFuncs (rng f)) & ( for x being set st x in f " (SubFuncs (rng f)) holds
f2 . x = proj1 (f . x) ) implies f1 = f2 )

assume that
A1: dom f1 = f " (SubFuncs (rng f)) and
A2: for x being set st x in f " (SubFuncs (rng f)) holds
f1 . x = proj1 (f . x) and
A3: dom f2 = f " (SubFuncs (rng f)) and
A4: for x being set st x in f " (SubFuncs (rng f)) holds
f2 . x = proj1 (f . x) ; :: thesis: f1 = f2
now
let x be set ; :: thesis: ( x in f " (SubFuncs (rng f)) implies f1 . x = f2 . x )
assume A5: x in f " (SubFuncs (rng f)) ; :: thesis: f1 . x = f2 . x
then f1 . x = proj1 (f . x) by A2;
hence f1 . x = f2 . x by A4, A5; :: thesis: verum
end;
hence f1 = f2 by A1, A3, FUNCT_1:2; :: thesis: verum