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,Y being set
  holds G.edgesDBetween(X,Y) = G.edgesOutOf(X) /\ G.edgesInto(Y)
proof
  let G be _Graph, X,Y be set;
  now
    let e be object;
    hereby
      assume e in G.edgesDBetween(X,Y);
      then e DSJoins X,Y,G by Def31;
      then e in the_Edges_of G & (the_Source_of G).e in X &
        (the_Target_of G).e in Y;
      then e in G.edgesOutOf(X) & e in G.edgesInto(Y)
        by Def26, Def27;
      hence e in G.edgesOutOf(X) /\ G.edgesInto(Y) by XBOOLE_0:def 4;
    end;
    assume e in G.edgesOutOf(X) /\ G.edgesInto(Y);
    then e in G.edgesOutOf(X) & e in G.edgesInto(Y) by XBOOLE_0:def 4;
    then e in the_Edges_of G & (the_Source_of G).e in X &
      (the_Target_of G).e in Y by Def26, Def27;
    then e DSJoins X,Y,G;
    hence e in G.edgesDBetween(X,Y) by Def31;
  end;
  hence thesis by TARSKI:2;
end;
