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

theorem Th23:
  for v,e,w being object, G1 being addAdjVertex of G2,v,e,w
  for f1 being VColoring of G1, f2 being VColoring of G2, x being object
  st not v in the_Vertices_of G2 & f1 = f2 +* (v .--> x) & x <> f2.w
  holds f2 is proper implies f1 is proper
proof
  let v,e,w be object, G1 be addAdjVertex of G2,v,e,w;
  let f1 be VColoring of G1, f2 be VColoring of G2, x be object;
  assume that A1: not v in the_Vertices_of G2 & f1 = f2 +* (v .--> x) and
    A2: x <> f2.w & f2 is proper;
  dom(v .--> x) = dom{[v,x]} by FUNCT_4:82
    .= {v} by RELAT_1:9;
  then v in dom(v .--> x) by TARSKI:def 1;
  then v in dom f2 \/ dom(v .--> x) by XBOOLE_0:def 3;
  then v in dom f1 by A1, FUNCT_4:def 1;
  then A3: v in the_Vertices_of G1;
  A4: not e in the_Edges_of G2 & w in the_Vertices_of G2
  proof
    assume e in the_Edges_of G2 or not w in the_Vertices_of G2;
    then G1 == G2 by A1, GLIB_006:def 12;
    hence contradiction by A1, A3, GLIB_000:def 34;
  end;
  now
    let e9,v9,w9 be object;
    assume A5: e9 DJoins v9,w9,G1;
    then per cases by GLIB_006:71;
    suppose A6: e9 DJoins v9,w9,G2;
      then e9 Joins v9,w9,G2 by GLIB_000:16;
      then v9 <> v & w9 <> v by A1, GLIB_000:13;
      then f1.v9 = f2.v9 & f1.w9 = f2.w9 by A1, FUNCT_4:83;
      hence f1.v9 <> f1.w9 by A2, A6, Th11;
    end;
    suppose A7: not e9 in the_Edges_of G2;
      A8: the_Edges_of G1 = the_Edges_of G2 \/ {e} by A1, A4, GLIB_006:def 12;
      e9 in the_Edges_of G1 by A5, GLIB_000:def 14;
      then e9 in {e} by A7, A8, XBOOLE_0:def 3;
      then A9: e9 = e by TARSKI:def 1;
      e DJoins v,w,G1 by A1, A4, GLIB_006:132;
      then A10: v = v9 & w = w9 by A5, A9, GLIB_000:125;
      f1.v = x & f1.w = f2.w by A1, A4, FUNCT_4:83, FUNCT_4:113;
      hence f1.v9 <> f1.w9 by A2, A10;
    end;
  end;
  hence thesis by Th11;
end;
