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 Th28:
  e in the_Edges_of G & ((the_Source_of G).e in X or
  (the_Target_of G).e in X) iff e in G.edgesInOut(X)
proof
  hereby
    assume that
A1: e in the_Edges_of G and
A2: (the_Source_of G).e in X or (the_Target_of G).e in X;
    now
      per cases by A2;
      suppose
        (the_Source_of G).e in X;
        then e in G.edgesOutOf(X) by A1,Def27;
        hence e in G.edgesInOut(X) by XBOOLE_0:def 3;
      end;
      suppose
        (the_Target_of G).e in X;
        then e in G.edgesInto(X) by A1,Def26;
        hence e in G.edgesInOut(X) by XBOOLE_0:def 3;
      end;
    end;
    hence e in G.edgesInOut(X);
  end;
  assume e in G.edgesInOut(X);
  then e in G.edgesInto(X) or e in G.edgesOutOf(X) by XBOOLE_0:def 3;
  hence thesis by Def26,Def27;
end;
