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 Th150:
  for G being _Graph, X, Y being set
  holds G.edgesBetween(X,Y) = G.edgesDBetween(X,Y) \/ G.edgesDBetween(Y,X)
proof
  let G be _Graph, X, Y be set;
  now
    let e be object;
    hereby
      assume e in G.edgesDBetween(X,Y) \/ G.edgesDBetween(Y,X);
      then per cases by XBOOLE_0:def 3;
      suppose e in G.edgesDBetween(X,Y);
        then e DSJoins X,Y,G by Def31;
        hence e SJoins X,Y,G;
      end;
      suppose e in G.edgesDBetween(Y,X);
        then e DSJoins Y,X,G by Def31;
        hence e SJoins X,Y,G;
      end;
    end;
    assume e SJoins X,Y,G;
    then per cases;
    suppose e DSJoins X,Y,G;
      then e in G.edgesDBetween(X,Y) by Def31;
      hence e in G.edgesDBetween(X,Y)\/G.edgesDBetween(Y,X) by XBOOLE_0:def 3;
    end;
    suppose e DSJoins Y,X,G;
      then e in G.edgesDBetween(Y,X) by Def31;
      hence e in G.edgesDBetween(X,Y)\/G.edgesDBetween(Y,X) by XBOOLE_0:def 3;
    end;
  end;
  hence thesis by Def30;
end;
