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
  for G being _Graph holds G == G | _GraphSelectors
proof
  let G be _Graph;
  A1: VertexSelector in _GraphSelectors &
    EdgeSelector in _GraphSelectors &
    SourceSelector in _GraphSelectors &
    TargetSelector in _GraphSelectors by ENUMSET1:def 2;
  A2: the_Vertices_of G = the_Vertices_of (G | _GraphSelectors)
    by A1, FUNCT_1:49;
  A3: the_Edges_of G = the_Edges_of (G | _GraphSelectors) by A1, FUNCT_1:49;
  A4: the_Source_of G = the_Source_of (G | _GraphSelectors) by A1, FUNCT_1:49;
  the_Target_of G = the_Target_of (G | _GraphSelectors) by A1, FUNCT_1:49;
  hence thesis by A2, A3, A4;
end;
