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 non _trivial _Graph, v being Vertex of G1, G2 being
  removeVertex of G1,v holds G2.order() + 1 = G1.order() & G2.size() + card v
  .edgesInOut() = G1.size()
proof
  let G1 be _finite non _trivial _Graph, v be Vertex of G1,
      G2 be removeVertex 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, EV = v.edgesInOut();
A1: VG2 = VG1 \ {v} by Th47;
  v in {v} by TARSKI:def 1;
  then not v in VG2 by A1,XBOOLE_0:def 5;
  then card (( VG1 \ {v}) \/ {v}) = G2.order() + 1 by A1,CARD_2:41;
  hence G2.order() + 1 = G1.order() by XBOOLE_1:45;
A2: EG2 = G1.edgesBetween(VG1 \ {v}) & G1.edgesBetween(VG1 \ {v}) = EG1 \ EV
  by Th35,Th47;
  then EG1 = EG2 \/ EV by XBOOLE_1:45;
  hence thesis by A2,CARD_2:40,XBOOLE_1:79;
end;
