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
  for G1 being _finite _Graph, V being Subset of the_Vertices_of G1, G2
being removeVertices of G1,V st V <> the_Vertices_of G1 holds G2.order() + card
  V = G1.order() & G2.size() + card G1.edgesInOut(V) = G1.size()
proof
  let G1 be _finite _Graph, V be Subset of the_Vertices_of G1, G2 be
  removeVertices of G1,V;
  set VG1 = the_Vertices_of G1, VG2 = the_Vertices_of G2;
  set EG1 = the_Edges_of G1, EG2 = the_Edges_of G2;
A1: G1.edgesBetween(VG1 \ V) = EG1 \ G1.edgesInOut(V) by Th35;
  assume V <> VG1;
  then
A2: V c< VG1 by XBOOLE_0:def 8;
  then
A3: VG2 = VG1 \ V by Th49;
  then card (VG2 \/ V) = card VG2 + card V by CARD_2:40,XBOOLE_1:79;
  hence G2.order() + card V = G1.order() by A3,XBOOLE_1:45;
A4: EG2 = G1.edgesBetween(VG1 \ V) by A2,Th49;
  then EG1 = EG2 \/ G1.edgesInOut(V) by A1,XBOOLE_1:45;
  hence thesis by A4,A1,CARD_2:40,XBOOLE_1:79;
end;
