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, X1, X2 being set, y being object st X1 misses X2
  holds G.edgesBetween(X1,{y}) misses G.edgesBetween(X2,{y})
proof
  let G be _Graph, X1, X2 be set, y be object;
  assume X1 misses X2;
  then A1: X1 /\ X2 = {} by XBOOLE_0:def 7;
  set E1 = G.edgesBetween(X1,{y}), E2 = G.edgesBetween(X2,{y});
  assume not E1 misses E2;
  then A2: E1 /\ E2 <> {} by XBOOLE_0:def 7;
  set e = the Element of E1 /\ E2;
  A3: e in E1 /\ E2 by A2;
  then e in E1 by XBOOLE_0:def 4;
  then e SJoins X1,{y},G by Def30;
  then consider x1 being object such that
    A4: x1 in X1 & e Joins x1,y,G by Th102;
  e in E2 by A3, XBOOLE_0:def 4;
  then e SJoins X2,{y},G by Def30;
  then consider x2 being object such that
    A5: x2 in X2 & e Joins x2,y,G by Th102;
  thus contradiction by A1, A4, A5, XBOOLE_0:def 4;
end;
