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

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

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

let v2 be Vertex of G2; :: thesis: ( v1 = v2 implies ( v2 .inNeighbors() c= v1 .inNeighbors() & v2 .outNeighbors() c= v1 .outNeighbors() & v2 .allNeighbors() c= v1 .allNeighbors() ) )
assume A1: v1 = v2 ; :: thesis: ( v2 .inNeighbors() c= v1 .inNeighbors() & v2 .outNeighbors() c= v1 .outNeighbors() & v2 .allNeighbors() c= v1 .allNeighbors() )
now :: thesis: for v being object st v in v2 .inNeighbors() holds
v in v1 .inNeighbors()
let v be object ; :: thesis: ( v in v2 .inNeighbors() implies v in v1 .inNeighbors() )
assume v in v2 .inNeighbors() ; :: thesis: v in v1 .inNeighbors()
then consider e being object such that
A2: e DJoins v,v2,G2 by Th69;
e DJoins v,v1,G1 by A1, A2, Th72;
hence v in v1 .inNeighbors() by Th69; :: thesis: verum
end;
hence v2 .inNeighbors() c= v1 .inNeighbors() ; :: thesis: ( v2 .outNeighbors() c= v1 .outNeighbors() & v2 .allNeighbors() c= v1 .allNeighbors() )
now :: thesis: for v being object st v in v2 .outNeighbors() holds
v in v1 .outNeighbors()
let v be object ; :: thesis: ( v in v2 .outNeighbors() implies v in v1 .outNeighbors() )
assume v in v2 .outNeighbors() ; :: thesis: v in v1 .outNeighbors()
then consider e being object such that
A3: e DJoins v2,v,G2 by Th70;
e DJoins v1,v,G1 by A1, A3, Th72;
hence v in v1 .outNeighbors() by Th70; :: thesis: verum
end;
hence v2 .outNeighbors() c= v1 .outNeighbors() ; :: thesis: v2 .allNeighbors() c= v1 .allNeighbors()
let v be object ; :: according to TARSKI:def 3 :: thesis: ( not v in v2 .allNeighbors() or v in v1 .allNeighbors() )
assume v in v2 .allNeighbors() ; :: thesis: v in v1 .allNeighbors()
then consider e being object such that
A4: e Joins v2,v,G2 by Th71;
e Joins v1,v,G1 by A1, A4, Lm4;
hence v in v1 .allNeighbors() by Th71; :: thesis: verum