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, X being set st X /\ the_Vertices_of G = {}
  holds G.edgesInto(X) = {} & G.edgesOutOf(X) = {} &
    G.edgesInOut(X) = {} & G.edgesBetween(X) = {}
proof
  let G be _Graph, X be set;
  assume A1: X /\ the_Vertices_of G = {};
  thus A2: G.edgesInto(X) = {}
  proof
    assume A3: G.edgesInto(X) <> {};
    set e = the Element of G.edgesInto(X);
    A4: e in the_Edges_of G & (the_Target_of G).e in X
      by Def26,A3;
    then e Joins (the_Source_of G).e,(the_Target_of G).e, G;
    then (the_Target_of G).e in the_Vertices_of G by FUNCT_2:5;
    hence contradiction by A1, A4, XBOOLE_0:def 4;
  end;
  thus A5: G.edgesOutOf(X) = {}
  proof
    assume A6: G.edgesOutOf(X) <> {};
    set e = the Element of G.edgesOutOf(X);
    A7: e in the_Edges_of G & (the_Source_of G).e in X
      by A6, Def27;
    then e Joins (the_Source_of G).e,(the_Target_of G).e, G;
    then (the_Source_of G).e in the_Vertices_of G by FUNCT_2:5;
    hence contradiction by A1, A7, XBOOLE_0:def 4;
  end;
  thus G.edgesInOut(X) = {} by A2, A5;
  thus G.edgesBetween(X) = {} by A2;
end;
