let G be _Graph; :: thesis: for X, Y being set holds G .edgesBetween (X,Y) = (G .edgesDBetween (X,Y)) \/ (G .edgesDBetween (Y,X))
let X, Y be set ; :: thesis: G .edgesBetween (X,Y) = (G .edgesDBetween (X,Y)) \/ (G .edgesDBetween (Y,X))
now :: thesis: for e being object holds
( ( e in (G .edgesDBetween (X,Y)) \/ (G .edgesDBetween (Y,X)) implies e SJoins X,Y,G ) & ( e SJoins X,Y,G implies e in (G .edgesDBetween (X,Y)) \/ (G .edgesDBetween (Y,X)) ) )
let e be object ; :: thesis: ( ( e in (G .edgesDBetween (X,Y)) \/ (G .edgesDBetween (Y,X)) implies e SJoins X,Y,G ) & ( e SJoins X,Y,G implies b1 in (G .edgesDBetween (X,Y)) \/ (G .edgesDBetween (Y,X)) ) )
hereby :: thesis: ( e SJoins X,Y,G implies b1 in (G .edgesDBetween (X,Y)) \/ (G .edgesDBetween (Y,X)) ) end;
assume e SJoins X,Y,G ; :: thesis: b1 in (G .edgesDBetween (X,Y)) \/ (G .edgesDBetween (Y,X))
per cases then ( e DSJoins X,Y,G or e DSJoins Y,X,G ) ;
end;
end;
hence G .edgesBetween (X,Y) = (G .edgesDBetween (X,Y)) \/ (G .edgesDBetween (Y,X)) by Def30; :: thesis: verum