
theorem Th62:
  for G2 being _Graph, v being object, V being set
  for G1 being addAdjVertexAll of G2, v, V
  for v1 being Vertex of G1, v2 being Vertex of G2
  st v1 = v2 & not v2 in V holds
    v1.edgesIn() = v2.edgesIn() & v1.inDegree() = v2.inDegree() &
    v1.edgesOut() = v2.edgesOut() & v1.outDegree() = v2.outDegree() &
    v1.edgesInOut() = v2.edgesInOut() & v1.degree() = v2.degree()
proof
  let G2 be _Graph, v be object, V be set;
  let G1 be addAdjVertexAll of G2,v,V;
  let v1 be Vertex of G1, v2 be Vertex of G2;
  assume A1: v1 = v2 & not v2 in V;
  per cases;
  suppose A2: V c= the_Vertices_of G2 & not v in the_Vertices_of G2;
    A3: G2 is Subgraph of G1 by GLIB_006:57;
    then A4: v2.edgesIn() c= v1.edgesIn() by A1, GLIB_000:78;
    now
      let e be object;
      A5: e is set by TARSKI:1;
      assume e in v1.edgesIn();
      then consider x being set such that
        A6: e DJoins x,v1,G1 by GLIB_000:57;
      A7: x <> v
      proof
        assume x = v;
        then e Joins v1,v,G1 by A6, GLIB_000:16;
        hence contradiction by A1, A2, GLIB_007:def 4;
      end;
      v1 <> v by A1, A2;
      then e DJoins x,v1,G2 by A2, A6, A7, GLIB_007:def 4;
      hence e in v2.edgesIn() by A1, A5, GLIB_000:57;
    end;
    then v1.edgesIn() c= v2.edgesIn() by TARSKI:def 3;
    hence A8: v1.edgesIn() = v2.edgesIn() by A4, XBOOLE_0:def 10;
    hence v1.inDegree() = v2.inDegree();
    A9: v2.edgesOut() c= v1.edgesOut() by A1, A3, GLIB_000:78;
    now
      let e be object;
      A10: e is set by TARSKI:1;
      assume e in v1.edgesOut();
      then consider x being set such that
        A11: e DJoins v1,x,G1 by GLIB_000:59;
      A12: x <> v
      proof
        assume x = v;
        then e Joins v1,v,G1 by A11, GLIB_000:16;
        hence contradiction by A1, A2, GLIB_007:def 4;
      end;
      v1 <> v by A1, A2;
      then e DJoins v1,x,G2 by A2, A11, A12, GLIB_007:def 4;
      hence e in v2.edgesOut() by A1, A10, GLIB_000:59;
    end;
    then v1.edgesOut() c= v2.edgesOut() by TARSKI:def 3;
    hence A13: v1.edgesOut() = v2.edgesOut() by A9, XBOOLE_0:def 10;
    hence v1.outDegree() = v2.outDegree();
    thus thesis by A8, A13;
  end;
  suppose not(V c= the_Vertices_of G2 & not v in the_Vertices_of G2);
    then G1 == G2 by GLIB_007:def 4;
    hence thesis by A1, GLIB_000:96;
  end;
end;
