reserve GS for GraphStruct;
reserve G,G1,G2,G3 for _Graph;
reserve e,x,x1,x2,y,y1,y2,E,V,X,Y for set;
reserve n,n1,n2 for Nat;
reserve v,v1,v2 for Vertex of G;

theorem Th96:
  for v1 being Vertex of G1, v2 being Vertex of G2 st v1 = v2 & G1
  == G2 holds v1.edgesIn() = v2.edgesIn() & v1.edgesOut() = v2.edgesOut() & v1
  .edgesInOut() = v2.edgesInOut() & v1.adj(e) = v2.adj(e) & v1.inDegree() = v2
.inDegree() & v1.outDegree() = v2.outDegree() & v1.degree() = v2.degree() & v1
.inNeighbors() = v2.inNeighbors() & v1.outNeighbors() = v2.outNeighbors() & v1
  .allNeighbors() = v2.allNeighbors()
proof
  let v1 be Vertex of G1, v2 be Vertex of G2;
  assume that
A1: v1 = v2 and
A2: G1 == G2;
  thus
A3: v1.edgesIn() = v2.edgesIn() by A1,A2,Th90;
  thus
A4: v1.edgesOut() = v2.edgesOut() by A1,A2,Th90;
  thus v1.edgesInOut() = v2.edgesInOut() by A1,A2,Th90;
  now
    per cases;
    suppose
A5:   e in the_Edges_of G1 & (the_Target_of G1).e = v1;
      then
A6:   e in the_Edges_of G2 & (the_Target_of G2).e = v2 by A1,A2;
      thus v1.adj(e) = (the_Source_of G1).e by A5,Def41
        .= (the_Source_of G2).e by A2
        .= v2.adj(e) by A6,Def41;
    end;
    suppose
A7:   e in the_Edges_of G1 & (the_Source_of G1).e = v1 & not (
      the_Target_of G1).e = v1;
      then
A8:   not (the_Target_of G2).e = v2 by A1,A2;
A9:   e in the_Edges_of G2 & (the_Source_of G2).e = v2 by A1,A2,A7;
      thus v1.adj(e) = (the_Target_of G1).e by A7,Def41
        .= (the_Target_of G2).e by A2
        .= v2.adj(e) by A9,A8,Def41;
    end;
    suppose
A10:  not (e in the_Edges_of G1 & (the_Target_of G1).e = v1) & not (e
in the_Edges_of G1 & (the_Source_of G1).e = v1 & not (the_Target_of G1).e = v1)
      ;
      then
A11:  ( not (e in the_Edges_of G2 & (the_Target_of G2).e = v2))& not (e
in the_Edges_of G2 & (the_Source_of G2).e = v2 & not ( the_Target_of G2).e = v2
      ) by A1,A2;
      thus v1.adj(e) = v2 by A1,A10,Def41
        .= v2.adj(e) by A11,Def41;
    end;
  end;
  hence v1.adj(e) = v2.adj(e);
  thus v1.inDegree() = v2.inDegree() by A1,A2,Th90;
  thus v1.outDegree() = v2.outDegree() by A1,A2,Th90;
  hence v1.degree() = v2.degree() by A1,A2,Th90;
  thus v1.inNeighbors() = v2.inNeighbors() by A2,A3;
  thus v1.outNeighbors() = v2.outNeighbors() by A2,A4;
  hence thesis by A2,A3;
end;
