reserve G for _Graph;
reserve G2 for _Graph, G1 for Supergraph of G2;
reserve V for set;
reserve v for object;

theorem
  for G for v1,e,v2 being object, G1, G2 being addAdjVertex of G,v1,e,v2
  holds G1 == G2
proof
  let G;
  let v1,e,v2 be object;
  let G1, G2 be addAdjVertex of G,v1,e,v2;
  per cases;
  suppose v1 in the_Vertices_of G & not v2 in the_Vertices_of G &
    not e in the_Edges_of G;
    then
      the_Vertices_of G1 = the_Vertices_of G \/ {v2} &
      the_Edges_of G1 = the_Edges_of G \/ {e} &
      the_Source_of G1 = the_Source_of G +* (e .--> v1) &
      the_Target_of G1 = the_Target_of G +* (e .--> v2) &
      the_Vertices_of G2 = the_Vertices_of G \/ {v2} &
      the_Edges_of G2 = the_Edges_of G \/ {e} &
      the_Source_of G2 = the_Source_of G +* (e .--> v1) &
      the_Target_of G2 = the_Target_of G +* (e .--> v2) by Def12;
    hence thesis by GLIB_000:def 34;
  end;
  suppose not v1 in the_Vertices_of G & v2 in the_Vertices_of G &
    not e in the_Edges_of G;
    then
      the_Vertices_of G1 = the_Vertices_of G \/ {v1} &
      the_Edges_of G1 = the_Edges_of G \/ {e} &
      the_Source_of G1 = the_Source_of G +* (e .--> v1) &
      the_Target_of G1 = the_Target_of G +* (e .--> v2) &
      the_Vertices_of G2 = the_Vertices_of G \/ {v1} &
      the_Edges_of G2 = the_Edges_of G \/ {e} &
      the_Source_of G2 = the_Source_of G +* (e .--> v1) &
      the_Target_of G2 = the_Target_of G +* (e .--> v2) by Def12;
    hence thesis by GLIB_000:def 34;
  end;
  suppose not (v1 in the_Vertices_of G & not v2 in the_Vertices_of G &
    not e in the_Edges_of G) & not (not v1 in the_Vertices_of G &
    v2 in the_Vertices_of G & not e in the_Edges_of G);
    then G == G1 & G == G2 by Def12;
    hence thesis by GLIB_000:85;
  end;
end;
