let G2 be _Graph; for V being Subset of (the_Vertices_of G2)
for G1 being addLoops of G2,V
for v1 being Vertex of G1
for v2 being Vertex of G2 st v1 = v2 & v1 in V holds
ex e being object st
( e DJoins v1,v1,G1 & not e in the_Edges_of G2 & v1 .edgesIn() = (v2 .edgesIn()) \/ {e} & v1 .edgesOut() = (v2 .edgesOut()) \/ {e} & v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e} )
let V be Subset of (the_Vertices_of G2); for G1 being addLoops of G2,V
for v1 being Vertex of G1
for v2 being Vertex of G2 st v1 = v2 & v1 in V holds
ex e being object st
( e DJoins v1,v1,G1 & not e in the_Edges_of G2 & v1 .edgesIn() = (v2 .edgesIn()) \/ {e} & v1 .edgesOut() = (v2 .edgesOut()) \/ {e} & v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e} )
let G1 be addLoops of G2,V; for v1 being Vertex of G1
for v2 being Vertex of G2 st v1 = v2 & v1 in V holds
ex e being object st
( e DJoins v1,v1,G1 & not e in the_Edges_of G2 & v1 .edgesIn() = (v2 .edgesIn()) \/ {e} & v1 .edgesOut() = (v2 .edgesOut()) \/ {e} & v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e} )
let v1 be Vertex of G1; for v2 being Vertex of G2 st v1 = v2 & v1 in V holds
ex e being object st
( e DJoins v1,v1,G1 & not e in the_Edges_of G2 & v1 .edgesIn() = (v2 .edgesIn()) \/ {e} & v1 .edgesOut() = (v2 .edgesOut()) \/ {e} & v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e} )
let v2 be Vertex of G2; ( v1 = v2 & v1 in V implies ex e being object st
( e DJoins v1,v1,G1 & not e in the_Edges_of G2 & v1 .edgesIn() = (v2 .edgesIn()) \/ {e} & v1 .edgesOut() = (v2 .edgesOut()) \/ {e} & v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e} ) )
assume A1:
( v1 = v2 & v1 in V )
; ex e being object st
( e DJoins v1,v1,G1 & not e in the_Edges_of G2 & v1 .edgesIn() = (v2 .edgesIn()) \/ {e} & v1 .edgesOut() = (v2 .edgesOut()) \/ {e} & v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e} )
consider E being set , f being one-to-one Function such that
A2:
( E misses the_Edges_of G2 & the_Edges_of G1 = (the_Edges_of G2) \/ E )
and
A3:
( dom f = E & rng f = V & the_Source_of G1 = (the_Source_of G2) +* f )
and
A4:
the_Target_of G1 = (the_Target_of G2) +* f
by Def5;
consider e being object such that
A5:
( e in dom f & f . e = v1 )
by A1, A3, FUNCT_1:def 3;
take
e
; ( e DJoins v1,v1,G1 & not e in the_Edges_of G2 & v1 .edgesIn() = (v2 .edgesIn()) \/ {e} & v1 .edgesOut() = (v2 .edgesOut()) \/ {e} & v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e} )
A6:
e in the_Edges_of G1
by A2, A3, A5, XBOOLE_0:def 3;
A7:
(the_Source_of G1) . e = v1
by A3, A5, FUNCT_4:13;
(the_Target_of G1) . e = v1
by A4, A5, FUNCT_4:13;
hence A8:
e DJoins v1,v1,G1
by A6, A7, GLIB_000:def 14; ( not e in the_Edges_of G2 & v1 .edgesIn() = (v2 .edgesIn()) \/ {e} & v1 .edgesOut() = (v2 .edgesOut()) \/ {e} & v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e} )
thus
not e in the_Edges_of G2
( v1 .edgesIn() = (v2 .edgesIn()) \/ {e} & v1 .edgesOut() = (v2 .edgesOut()) \/ {e} & v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e} )
now for x being object holds
( ( x in v1 .edgesIn() implies x in (v2 .edgesIn()) \/ {e} ) & ( x in (v2 .edgesIn()) \/ {e} implies x in v1 .edgesIn() ) )let x be
object ;
( ( x in v1 .edgesIn() implies x in (v2 .edgesIn()) \/ {e} ) & ( x in (v2 .edgesIn()) \/ {e} implies b1 in v1 .edgesIn() ) )hereby ( x in (v2 .edgesIn()) \/ {e} implies b1 in v1 .edgesIn() )
assume
x in v1 .edgesIn()
;
x in (v2 .edgesIn()) \/ {e}then consider w being
set such that A9:
x DJoins w,
v1,
G1
by GLIB_000:57;
per cases
( x DJoins w,v1,G2 or not x in the_Edges_of G2 )
by A9, GLIB_006:71;
suppose A11:
not
x in the_Edges_of G2
;
x in (v2 .edgesIn()) \/ {e}
x in the_Edges_of G1
by A9, GLIB_000:def 14;
then A12:
x in E
by A2, A11, XBOOLE_0:def 3;
f . x =
(the_Target_of G1) . x
by A3, A4, A12, FUNCT_4:13
.=
v1
by A9, GLIB_000:def 14
;
then
x = e
by A3, A5, A12, FUNCT_1:def 4;
then
x in {e}
by TARSKI:def 1;
hence
x in (v2 .edgesIn()) \/ {e}
by XBOOLE_0:def 3;
verum end; end;
end; assume
x in (v2 .edgesIn()) \/ {e}
;
b1 in v1 .edgesIn() end;
hence A14:
v1 .edgesIn() = (v2 .edgesIn()) \/ {e}
by TARSKI:2; ( v1 .edgesOut() = (v2 .edgesOut()) \/ {e} & v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e} )
hence A20:
v1 .edgesOut() = (v2 .edgesOut()) \/ {e}
by TARSKI:2; v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e}
thus
v1 .edgesInOut() = (v2 .edgesInOut()) \/ {e}
by A14, A20, XBOOLE_1:5; verum