let G2 be _Graph; :: thesis: for v being object
for V being set
for W being Subset of V
for G1 being addAdjVertexAll of G2,v,V st V c= the_Vertices_of G2 & not v in the_Vertices_of G2 holds
ex f being Function of W,(G1 .edgesBetween (W,{v})) st
( f is one-to-one & f is onto & ( for w being object st w in W holds
f . w Joins w,v,G1 ) )

let v be object ; :: thesis: for V being set
for W being Subset of V
for G1 being addAdjVertexAll of G2,v,V st V c= the_Vertices_of G2 & not v in the_Vertices_of G2 holds
ex f being Function of W,(G1 .edgesBetween (W,{v})) st
( f is one-to-one & f is onto & ( for w being object st w in W holds
f . w Joins w,v,G1 ) )

let V be set ; :: thesis: for W being Subset of V
for G1 being addAdjVertexAll of G2,v,V st V c= the_Vertices_of G2 & not v in the_Vertices_of G2 holds
ex f being Function of W,(G1 .edgesBetween (W,{v})) st
( f is one-to-one & f is onto & ( for w being object st w in W holds
f . w Joins w,v,G1 ) )

let W be Subset of V; :: thesis: for G1 being addAdjVertexAll of G2,v,V st V c= the_Vertices_of G2 & not v in the_Vertices_of G2 holds
ex f being Function of W,(G1 .edgesBetween (W,{v})) st
( f is one-to-one & f is onto & ( for w being object st w in W holds
f . w Joins w,v,G1 ) )

let G1 be addAdjVertexAll of G2,v,V; :: thesis: ( V c= the_Vertices_of G2 & not v in the_Vertices_of G2 implies ex f being Function of W,(G1 .edgesBetween (W,{v})) st
( f is one-to-one & f is onto & ( for w being object st w in W holds
f . w Joins w,v,G1 ) ) )

assume A1: ( V c= the_Vertices_of G2 & not v in the_Vertices_of G2 ) ; :: thesis: ex f being Function of W,(G1 .edgesBetween (W,{v})) st
( f is one-to-one & f is onto & ( for w being object st w in W holds
f . w Joins w,v,G1 ) )

then consider E being set such that
card V = card E and
( E misses the_Edges_of G2 & the_Edges_of G1 = (the_Edges_of G2) \/ E ) and
A2: for v1 being object st v1 in V holds
ex e1 being object st
( e1 in E & e1 Joins v1,v,G1 & ( for e2 being object st e2 Joins v1,v,G1 holds
e1 = e2 ) ) by Def4;
defpred S1[ object , object ] means $2 Joins $1,v,G1;
A3: for w being object st w in W holds
ex e being object st
( e in G1 .edgesBetween (W,{v}) & S1[w,e] )
proof
let w be object ; :: thesis: ( w in W implies ex e being object st
( e in G1 .edgesBetween (W,{v}) & S1[w,e] ) )

assume A4: w in W ; :: thesis: ex e being object st
( e in G1 .edgesBetween (W,{v}) & S1[w,e] )

then consider e being object such that
A5: ( e in E & e Joins w,v,G1 ) and
for e2 being object st e2 Joins w,v,G1 holds
e = e2 by A2;
take e ; :: thesis: ( e in G1 .edgesBetween (W,{v}) & S1[w,e] )
v in {v} by TARSKI:def 1;
then e SJoins W,{v},G1 by A4, A5, GLIB_000:17;
hence e in G1 .edgesBetween (W,{v}) by GLIB_000:def 30; :: thesis: S1[w,e]
thus S1[w,e] by A5; :: thesis: verum
end;
consider f being Function of W,(G1 .edgesBetween (W,{v})) such that
A6: for w being object st w in W holds
S1[w,f . w] from FUNCT_2:sch 1(A3);
take f ; :: thesis: ( f is one-to-one & f is onto & ( for w being object st w in W holds
f . w Joins w,v,G1 ) )

A7: ( G1 .edgesBetween (W,{v}) = {} implies W = {} ) by A1, Lm12;
for w1, w2 being object st w1 in W & w2 in W & f . w1 = f . w2 holds
w1 = w2
proof
let w1, w2 be object ; :: thesis: ( w1 in W & w2 in W & f . w1 = f . w2 implies w1 = w2 )
assume that
A8: ( w1 in W & w2 in W ) and
A9: f . w1 = f . w2 ; :: thesis: w1 = w2
( f . w1 Joins w1,v,G1 & f . w2 Joins w2,v,G1 ) by A6, A8;
per cases then ( ( w1 = w2 & v = v ) or ( w1 = v & v = w2 ) ) by A9, GLIB_000:15;
suppose ( w1 = w2 & v = v ) ; :: thesis: w1 = w2
hence w1 = w2 ; :: thesis: verum
end;
suppose ( w1 = v & v = w2 ) ; :: thesis: w1 = w2
hence w1 = w2 ; :: thesis: verum
end;
end;
end;
hence f is one-to-one by A7, FUNCT_2:19; :: thesis: ( f is onto & ( for w being object st w in W holds
f . w Joins w,v,G1 ) )

for e being object st e in G1 .edgesBetween (W,{v}) holds
e in rng f
proof
let e be object ; :: thesis: ( e in G1 .edgesBetween (W,{v}) implies e in rng f )
assume A11: e in G1 .edgesBetween (W,{v}) ; :: thesis: e in rng f
then A12: e SJoins W,{v},G1 by GLIB_000:def 30;
consider w being object such that
A13: ( w in W & e Joins w,v,G1 ) by A12, GLIB_000:102;
consider e1 being object such that
( e1 in E & e1 Joins w,v,G1 ) and
A14: for e2 being object st e2 Joins w,v,G1 holds
e1 = e2 by A2, A13;
( e1 = e & e1 = f . w ) by A13, A14, A6;
hence e in rng f by A13, FUNCT_2:4, A11; :: thesis: verum
end;
then G1 .edgesBetween (W,{v}) c= rng f by TARSKI:def 3;
hence f is onto by XBOOLE_0:def 10, FUNCT_2:def 3; :: thesis: for w being object st w in W holds
f . w Joins w,v,G1

thus for w being object st w in W holds
f . w Joins w,v,G1 by A6; :: thesis: verum