let G1 be _Graph; :: thesis: for E being set
for G2 being removeEdges of G1,E
for v1 being Vertex of G1
for v2 being Vertex of G2 st v1 = v2 holds
( v2 .edgesIn() = (v1 .edgesIn()) \ E & v2 .edgesOut() = (v1 .edgesOut()) \ E & v2 .edgesInOut() = (v1 .edgesInOut()) \ E )

let E be set ; :: thesis: for G2 being removeEdges of G1,E
for v1 being Vertex of G1
for v2 being Vertex of G2 st v1 = v2 holds
( v2 .edgesIn() = (v1 .edgesIn()) \ E & v2 .edgesOut() = (v1 .edgesOut()) \ E & v2 .edgesInOut() = (v1 .edgesInOut()) \ E )

let G2 be removeEdges of G1,E; :: thesis: for v1 being Vertex of G1
for v2 being Vertex of G2 st v1 = v2 holds
( v2 .edgesIn() = (v1 .edgesIn()) \ E & v2 .edgesOut() = (v1 .edgesOut()) \ E & v2 .edgesInOut() = (v1 .edgesInOut()) \ E )

let v1 be Vertex of G1; :: thesis: for v2 being Vertex of G2 st v1 = v2 holds
( v2 .edgesIn() = (v1 .edgesIn()) \ E & v2 .edgesOut() = (v1 .edgesOut()) \ E & v2 .edgesInOut() = (v1 .edgesInOut()) \ E )

let v2 be Vertex of G2; :: thesis: ( v1 = v2 implies ( v2 .edgesIn() = (v1 .edgesIn()) \ E & v2 .edgesOut() = (v1 .edgesOut()) \ E & v2 .edgesInOut() = (v1 .edgesInOut()) \ E ) )
assume A1: v1 = v2 ; :: thesis: ( v2 .edgesIn() = (v1 .edgesIn()) \ E & v2 .edgesOut() = (v1 .edgesOut()) \ E & v2 .edgesInOut() = (v1 .edgesInOut()) \ E )
A2: the_Edges_of G2 = (the_Edges_of G1) \ E by Th53;
now :: thesis: for e being object holds
( ( e in v2 .edgesIn() implies e in (v1 .edgesIn()) \ E ) & ( e in (v1 .edgesIn()) \ E implies e in v2 .edgesIn() ) )
let e be object ; :: thesis: ( ( e in v2 .edgesIn() implies e in (v1 .edgesIn()) \ E ) & ( e in (v1 .edgesIn()) \ E implies e in v2 .edgesIn() ) )
hereby :: thesis: ( e in (v1 .edgesIn()) \ E implies e in v2 .edgesIn() ) end;
assume e in (v1 .edgesIn()) \ E ; :: thesis: e in v2 .edgesIn()
then A5: ( e in v1 .edgesIn() & not e in E ) by XBOOLE_0:def 5;
then A6: e in the_Edges_of G2 by A2, XBOOLE_0:def 5;
v1 = (the_Target_of G1) . e by A5, Lm7
.= (the_Target_of G2) . e by A6, Def32 ;
hence e in v2 .edgesIn() by A1, A6, Lm7; :: thesis: verum
end;
hence A7: v2 .edgesIn() = (v1 .edgesIn()) \ E by TARSKI:2; :: thesis: ( v2 .edgesOut() = (v1 .edgesOut()) \ E & v2 .edgesInOut() = (v1 .edgesInOut()) \ E )
now :: thesis: for e being object holds
( ( e in v2 .edgesOut() implies e in (v1 .edgesOut()) \ E ) & ( e in (v1 .edgesOut()) \ E implies e in v2 .edgesOut() ) )
let e be object ; :: thesis: ( ( e in v2 .edgesOut() implies e in (v1 .edgesOut()) \ E ) & ( e in (v1 .edgesOut()) \ E implies e in v2 .edgesOut() ) )
hereby :: thesis: ( e in (v1 .edgesOut()) \ E implies e in v2 .edgesOut() ) end;
assume e in (v1 .edgesOut()) \ E ; :: thesis: e in v2 .edgesOut()
then A10: ( e in v1 .edgesOut() & not e in E ) by XBOOLE_0:def 5;
then A11: e in the_Edges_of G2 by A2, XBOOLE_0:def 5;
v1 = (the_Source_of G1) . e by A10, Lm8
.= (the_Source_of G2) . e by A11, Def32 ;
hence e in v2 .edgesOut() by A1, A11, Lm8; :: thesis: verum
end;
hence A12: v2 .edgesOut() = (v1 .edgesOut()) \ E by TARSKI:2; :: thesis: v2 .edgesInOut() = (v1 .edgesInOut()) \ E
thus v2 .edgesInOut() = (v1 .edgesInOut()) \ E by A7, A12, XBOOLE_1:42; :: thesis: verum