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 Th21:
  for v being Vertex of G2, e,w being object, G1 being addEdge of G2,v,e,w
  for f1 being VColoring of G1, f2 being VColoring of G2, x being object
  st f1=f2+*(v.-->x) & v<>w & not x in rng f2 & f2 is proper holds f1 is proper
proof
  let v being Vertex of G2, e,w be object, G1 be addEdge of G2,v,e,w;
  let f1 be VColoring of G1, f2 be VColoring of G2, x be object;
  assume A1: f1 = f2 +* (v.-->x) & v <> w & not x in rng f2 & f2 is proper;
  per cases;
  suppose A2: not e in the_Edges_of G2 & v in the_Vertices_of G2 &
      w in the_Vertices_of G2;
    set h = v .--> x;
    now
      let e9,v9,w9 be object;
      assume A3: e9 Joins v9,w9,G1;
      per cases;
      suppose e9 in the_Edges_of G2;
        then A4: e9 Joins v9,w9,G2 by A3, GLIB_006:72;
        v9 in the_Vertices_of G2 & w9 in the_Vertices_of G2 by A4, GLIB_000:13;
        then v9 in dom f2 & w9 in dom f2 by PARTFUN1:def 2;
        then A5: f2.v9 in rng f2 & f2.w9 in rng f2 by FUNCT_1:3;
        per cases;
        suppose v9 <> v & w9 <> v;
          then f1.v9 = f2.v9 & f1.w9 = f2.w9 by A1, FUNCT_4:83;
          hence f1.v9 <> f1.w9 by A1, A4, Th10;
        end;
        suppose v9 = v & w9 <> v;
          then f1.v9 = x & f1.w9 = f2.w9 by A1, FUNCT_4:83, FUNCT_4:113;
          hence f1.v9 <> f1.w9 by A1, A5;
        end;
        suppose v9 <> v & w9 = v;
          then f1.v9 = f2.v9 & f1.w9 = x by A1, FUNCT_4:83, FUNCT_4:113;
          hence f1.v9 <> f1.w9 by A1, A5;
        end;
        suppose v9 = v & w9 = v;
          then G2 is non loopless by A4, GLIB_000:18;
          hence f1.v9 <> f1.w9 by A1; :: by contradiction
        end;
      end;
      suppose A6: not e9 in the_Edges_of G2;
        w in dom f2 by A2, PARTFUN1:def 2;
        then A7: f2.w in rng f2 by FUNCT_1:3;
        per cases by A2, A3, A6, GLIB_006:107;
        suppose A8: v9 = w & w9 = v;
          then f1.v9 = f2.v9 & f1.w9 = x by A1, FUNCT_4:83, FUNCT_4:113;
          hence f1.v9 <> f1.w9 by A1, A8, A7;
        end;
        suppose A9: v9 = v & w9 = w;
          then f1.v9 = x & f1.w9 = f2.w9 by A1, FUNCT_4:83, FUNCT_4:113;
          hence f1.v9 <> f1.w9 by A1, A9, A7;
        end;
      end;
    end;
    hence f1 is proper by Th10;
  end;
  suppose not(not e in the_Edges_of G2 & v in the_Vertices_of G2 &
      w in the_Vertices_of G2);
    then G1 == G2 by GLIB_006:def 11;
    hence thesis by A1, Th17;
  end;
end;
