reserve E,V for set, G,G1,G2 for _Graph, c,c1,c2 for Cardinal, n for Nat;
reserve f for VColoring of G;
reserve g for EColoring of G;

theorem Th109:
  for G2 being c-ecolorable _Graph, v being object
  for G1 being addAdjVertexAll of G2,v,V holds G1 is (c+`card V)-ecolorable
proof
  let G2 be c-ecolorable _Graph, v be object;
  let G1 be addAdjVertexAll of G2,v,V;
  per cases;
  suppose A1: not v in the_Vertices_of G2 & V c= the_Vertices_of G2;
    consider g2 being proper EColoring of G2 such that
      A2: card rng g2 c= c by Def6;
    consider E0 being set such that
      A3: card V = card E0 & E0 misses the_Edges_of G2 and
      A4: the_Edges_of G1 = the_Edges_of G2 \/ E0 and
      for v1 being object st v1 in V ex e1 being object st e1 in E0 &
        e1 Joins v1,v,G1 &
        for e2 being object st e2 Joins v1,v,G1 holds e1 = e2
      by A1, GLIB_007:def 4;
    :: construct the coloring
    set E=G1.edgesBetween(V,{v}), h = <: E --> rng g2, id E :>, g1 = g2 +* h;
    A5: E = E0 by A1, A3, A4, GLIB_007:58;
    dom h = E by Lm8;
    then reconsider g1 as EColoring of G1 by A1, Th82;
    reconsider g1 as proper EColoring of G1 by A1, Th96;
    :: count the colors
    card rng g1 c= card(rng g2 \/ rng h) by FUNCT_4:17, CARD_1:11;
    then A6: card rng g1 c= card rng g2 +` card rng h by Lm11, CARD_2:35;
    card rng h = card [: {rng g2}, E :] by Lm10
      .= card [: E, {rng g2} :] by CARD_2:4
      .= card V by A3, A5, CARD_1:69;
    then card rng g2 +` card rng h c= c +` card V by A2, CARD_2:84;
    hence thesis by A6, XBOOLE_1:1;
  end;
  suppose not(not v in the_Vertices_of G2 & V c= the_Vertices_of G2);
    then G1 == G2 by GLIB_007:def 4;
    then G1 is c-ecolorable by Th103;
    hence thesis by Th99, CARD_2:94;
  end;
end;
