
theorem Th60:
  for G1 being _Graph, G2 being DLGraphComplement of G1
  for v1 being Vertex of G1, v2 being Vertex of G2 st v1 = v2
  holds
    v2.inNeighbors() = the_Vertices_of G2 \ v1.inNeighbors() &
    v2.outNeighbors() = the_Vertices_of G2 \ v1.outNeighbors()
proof
  let G1 be _Graph, G2 be DLGraphComplement of G1;
  let v1 be Vertex of G1, v2 be Vertex of G2;
  assume A1: v1 = v2;
  now
    let x be object;
    hereby
      assume x in v2.inNeighbors();
      then consider e being object such that
        A2: e DJoins x,v2,G2 by GLIB_000:69;
      e Joins x,v2,G2 by A2, GLIB_000:16;
      then A3: x in the_Vertices_of G2 by GLIB_000:13;
      then reconsider w = x as Vertex of G1 by Def6;
      not ex e0 being object st e0 DJoins w,v1,G1 by A1, A2, Def6;
      then not x in v1.inNeighbors() by GLIB_000:69;
      hence x in the_Vertices_of G2 \ v1.inNeighbors() by A3, XBOOLE_0:def 5;
    end;
    assume x in the_Vertices_of G2 \ v1.inNeighbors();
    then A4: x in the_Vertices_of G2 & not x in v1.inNeighbors()
      by XBOOLE_0:def 5;
    then reconsider w = x as Vertex of G1 by Def6;
    not ex e0 being object st e0 DJoins w,v1,G1 by A4, GLIB_000:69;
    then consider e being object such that
      A5: e DJoins w,v1,G2 by Def6;
    thus x in v2.inNeighbors() by A1, A5, GLIB_000:69;
  end;
  hence v2.inNeighbors() = the_Vertices_of G2 \ v1.inNeighbors() by TARSKI:2;
  now
    let x be object;
    hereby
      assume x in v2.outNeighbors();
      then consider e being object such that
        A6: e DJoins v2,x,G2 by GLIB_000:70;
      e Joins v2,x,G2 by A6, GLIB_000:16;
      then A7: x in the_Vertices_of G2 by GLIB_000:13;
      then reconsider w = x as Vertex of G1 by Def6;
      not ex e0 being object st e0 DJoins v1,w,G1 by A1, A6, Def6;
      then not x in v1.outNeighbors() by GLIB_000:70;
      hence x in the_Vertices_of G2 \ v1.outNeighbors() by A7, XBOOLE_0:def 5;
    end;
    assume x in the_Vertices_of G2 \ v1.outNeighbors();
    then A8: x in the_Vertices_of G2 & not x in v1.outNeighbors()
      by XBOOLE_0:def 5;
    then reconsider w = x as Vertex of G1 by Def6;
    not ex e0 being object st e0 DJoins v1,w,G1 by A8, GLIB_000:70;
    then consider e being object such that
      A9: e DJoins v1,w,G2 by Def6;
    thus x in v2.outNeighbors() by A1, A9, GLIB_000:70;
  end;
  hence v2.outNeighbors() = the_Vertices_of G2 \ v1.outNeighbors() by TARSKI:2;
end;
