let G1 be _Graph; :: thesis: for G2 being removeLoops of G1
for v1 being Vertex of G1
for v2 being Vertex of G2 st v1 = v2 holds
( v2 .inNeighbors() = (v1 .inNeighbors()) \ {v1} & v2 .outNeighbors() = (v1 .outNeighbors()) \ {v1} & v2 .allNeighbors() = (v1 .allNeighbors()) \ {v1} )

let G2 be removeLoops of G1; :: thesis: for v1 being Vertex of G1
for v2 being Vertex of G2 st v1 = v2 holds
( v2 .inNeighbors() = (v1 .inNeighbors()) \ {v1} & v2 .outNeighbors() = (v1 .outNeighbors()) \ {v1} & v2 .allNeighbors() = (v1 .allNeighbors()) \ {v1} )

let v1 be Vertex of G1; :: thesis: for v2 being Vertex of G2 st v1 = v2 holds
( v2 .inNeighbors() = (v1 .inNeighbors()) \ {v1} & v2 .outNeighbors() = (v1 .outNeighbors()) \ {v1} & v2 .allNeighbors() = (v1 .allNeighbors()) \ {v1} )

let v2 be Vertex of G2; :: thesis: ( v1 = v2 implies ( v2 .inNeighbors() = (v1 .inNeighbors()) \ {v1} & v2 .outNeighbors() = (v1 .outNeighbors()) \ {v1} & v2 .allNeighbors() = (v1 .allNeighbors()) \ {v1} ) )
assume A1: v1 = v2 ; :: thesis: ( v2 .inNeighbors() = (v1 .inNeighbors()) \ {v1} & v2 .outNeighbors() = (v1 .outNeighbors()) \ {v1} & v2 .allNeighbors() = (v1 .allNeighbors()) \ {v1} )
now :: thesis: for x being object holds
( ( x in v2 .inNeighbors() implies x in (v1 .inNeighbors()) \ {v1} ) & ( x in (v1 .inNeighbors()) \ {v1} implies x in v2 .inNeighbors() ) )
end;
hence A11: v2 .inNeighbors() = (v1 .inNeighbors()) \ {v1} by TARSKI:2; :: thesis: ( v2 .outNeighbors() = (v1 .outNeighbors()) \ {v1} & v2 .allNeighbors() = (v1 .allNeighbors()) \ {v1} )
now :: thesis: for x being object holds
( ( x in v2 .outNeighbors() implies x in (v1 .outNeighbors()) \ {v1} ) & ( x in (v1 .outNeighbors()) \ {v1} implies x in v2 .outNeighbors() ) )
end;
hence A21: v2 .outNeighbors() = (v1 .outNeighbors()) \ {v1} by TARSKI:2; :: thesis: v2 .allNeighbors() = (v1 .allNeighbors()) \ {v1}
thus v2 .allNeighbors() = (v1 .allNeighbors()) \ {v1} by A11, A21, XBOOLE_1:42; :: thesis: verum