defpred S1[ object , object ] means ex D being NonatomicND of V,A st
( D = $1 & $2 = denaming (v,D) );
A1:
for x being object st x in { d where d is NonatomicND of V,A : v in dom d } holds
ex y being object st
( y in ND (V,A) & S1[x,y] )
proof
let x be
object ;
( x in { d where d is NonatomicND of V,A : v in dom d } implies ex y being object st
( y in ND (V,A) & S1[x,y] ) )
assume
x in { d where d is NonatomicND of V,A : v in dom d }
;
ex y being object st
( y in ND (V,A) & S1[x,y] )
then consider d being
NonatomicND of
V,
A such that A2:
x = d
and
v in dom d
;
take
denaming (
v,
d)
;
( denaming (v,d) in ND (V,A) & S1[x, denaming (v,d)] )
thus
(
denaming (
v,
d)
in ND (
V,
A) &
S1[
x,
denaming (
v,
d)] )
by A2;
verum
end;
consider f being Function such that
A3:
dom f = { d where d is NonatomicND of V,A : v in dom d }
and
A4:
rng f c= ND (V,A)
and
A5:
for x being object st x in { d where d is NonatomicND of V,A : v in dom d } holds
S1[x,f . x]
from FUNCT_1:sch 6(A1);
{ d where d is NonatomicND of V,A : v in dom d } c= ND (V,A)
then reconsider f = f as PartFunc of (ND (V,A)),(ND (V,A)) by A3, A4, RELSET_1:4;
take
f
; ( dom f = { d where d is NonatomicND of V,A : v in dom d } & ( for D being NonatomicND of V,A st D in dom f holds
f . D = denaming (v,D) ) )
thus
dom f = { d where d is NonatomicND of V,A : v in dom d }
by A3; for D being NonatomicND of V,A st D in dom f holds
f . D = denaming (v,D)
let D be NonatomicND of V,A; ( D in dom f implies f . D = denaming (v,D) )
assume
D in dom f
; f . D = denaming (v,D)
then
S1[D,f . D]
by A3, A5;
hence
f . D = denaming (v,D)
; verum