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
  not n in _GraphSelectors implies the_Vertices_of G = the_Vertices_of G
  .set(n,x) & the_Edges_of G = the_Edges_of G.set(n,x) & the_Source_of G =
the_Source_of G.set(n,x) & the_Target_of G = the_Target_of G.set(n,x) & G.set(n
  ,x) is _Graph
proof
  set G2 = G.set(n,x);
A1: dom G c= dom G2 by FUNCT_4:10;
  assume
A2: not n in _GraphSelectors;
  then EdgeSelector <> n by ENUMSET1:def 2;
  then
A3: not EdgeSelector in dom (n .--> x) by TARSKI:def 1;
  TargetSelector <> n by A2,ENUMSET1:def 2;
  then
A4: not TargetSelector in dom (n .--> x) by TARSKI:def 1;
  SourceSelector <> n by A2,ENUMSET1:def 2;
  then
A5: not SourceSelector in dom (n .--> x) by TARSKI:def 1;
  VertexSelector <> n by A2,ENUMSET1:def 2;
  then not VertexSelector in dom (n .--> x) by TARSKI:def 1;
  hence
A6: the_Vertices_of G2 = the_Vertices_of G & the_Edges_of G2 =
  the_Edges_of G & the_Source_of G2 = the_Source_of G & the_Target_of G2 =
  the_Target_of G by A3,A5,A4,FUNCT_4:11;
A7: SourceSelector in dom G & TargetSelector in dom G by Def10;
  VertexSelector in dom G & EdgeSelector in dom G by Def10;
  hence thesis by A7,A1,A6,Def10;
end;
