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;
reserve t for TColoring of G;

theorem Th156:
  for v,e being object, w being Vertex of G2, G1 being addEdge of G2,v,e,w
  for t1 being TColoring of G1, t2 being TColoring of G2, x,y being object
  st not e in the_Edges_of G2 & v <> w &
    t1_V = t2_V +* (v .--> x) & t1_E = t2_E +* (e .--> y) &
    {x,y} misses (rng t2_V)\/rng t2_E & x <> y & t2 is proper
  holds t1 is proper
proof
  let v,e be object, w being Vertex of G2, G1 be addEdge of G2,v,e,w;
  let t1 be TColoring of G1, t2 be TColoring of G2, x,y be object;
  assume that A1: not e in the_Edges_of G2 & v <> w and
    A2: t1_V = t2_V +* (v .--> x) & t1_E = t2_E +* (e .--> y) and
    A3: {x,y} misses (rng t2_V)\/rng t2_E & x <> y & t2 is proper;
  A4: dom(v.-->x) = dom {[v,x]} by FUNCT_4:82
    .= {v} by RELAT_1:9;
  A5: v in the_Vertices_of G2
  proof
    per cases;
    suppose G1 != G2;
      hence thesis by GLIB_006:def 11;
    end;
    suppose A6: G1 == G2;
      v in dom(v.-->x) by A4, TARSKI:def 1;
      then v in (dom t2_V)\/dom(v.-->x) by XBOOLE_0:def 3;
      then v in dom t1_V by A2, FUNCT_4:def 1;
      then v in the_Vertices_of G1;
      hence thesis by A6, GLIB_000:def 34;
    end;
  end;
  {x,y} misses rng t2_V by A3, XBOOLE_1:7, XBOOLE_1:63;
  then A7: t1_V is proper by A1, A2, A3, A5, Th21, ZFMISC_1:49;
  {x,y} misses rng t2_E by A3, XBOOLE_1:7, XBOOLE_1:63;
  then not y in rng t2_E by ZFMISC_1:49;
  then A8: t1_E is proper by A1, A2, A3, Th93;
  now
    let e9,v9,w9 be object;
    assume A9: e9 Joins v9,w9,G1;
    then per cases by GLIB_006:72;
    suppose A10: e9 Joins v9,w9,G2;
      then A11: e9 in the_Edges_of G2 by GLIB_000:def 13;
      then not e9 in dom(e.-->y) by A1, TARSKI:def 1;
      then A12: t1_E.e9 = t2_E.e9 by A2, FUNCT_4:11;
      per cases;
      suppose v9 = v;
        then A13: t1_V.v9 = x by A2, FUNCT_4:113;
        e9 in dom t2_E by A11, PARTFUN1:def 2;
        then t2_E.e9 in rng t2_E by FUNCT_1:3;
        then t1_E.e9 in (rng t2_V)\/rng t2_E by A12, XBOOLE_0:def 3;
        hence t1_V.v9 <> t1_E.e9 by A3, A13, ZFMISC_1:49;
      end;
      suppose v9 <> v;
        then not v9 in dom(v.-->x) by TARSKI:def 1;
        then t1_V.v9 = t2_V.v9 by A2, FUNCT_4:11;
        hence t1_V.v9 <> t1_E.e9 by A3, A10, A12, Th146;
      end;
    end;
    suppose not e9 in the_Edges_of G2;
      then e9 = e by A1, A5, A9, GLIB_006:106;
      then A14: t1_E.e9 = y by A2, FUNCT_4:113;
      per cases;
      suppose v9 = v;
        hence t1_V.v9 <> t1_E.e9 by A2, A3, A14, FUNCT_4:113;
      end;
      suppose v9 <> v;
        then not v9 in dom(v.-->x) by TARSKI:def 1;
        then A15: t1_V.v9 = t2_V.v9 by A2, FUNCT_4:11;
        v9 in the_Vertices_of G1 by A9, GLIB_000:13;
        then v9 in the_Vertices_of G2 by A5, GLIB_006:102;
        then v9 in dom t2_V by PARTFUN1:def 2;
        then t1_V.v9 in rng t2_V by A15, FUNCT_1:3;
        then t1_V.v9 in (rng t2_V)\/rng t2_E by XBOOLE_0:def 3;
        hence t1_V.v9 <> t1_E.e9 by A3, A14, ZFMISC_1:49;
      end;
    end;
  end;
  hence thesis by A7, A8, Th146;
end;
