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 being set
  holds G.edgesInto(X) = union {v.edgesIn() where v is Vertex of G : v in X}
proof
  let G be _Graph, X be set;
  set S = {v.edgesIn() where v is Vertex of G : v in X};
  now
    let e be object;
    hereby
      assume e in G.edgesInto(X);
      then A1: e in the_Edges_of G & (the_Target_of G).e in X
        by Def26;
      then e Joins (the_Source_of G).e,(the_Target_of G).e,G;
      then reconsider v = (the_Target_of G).e as Vertex of G
        by FUNCT_2:5;
      A2: e in v.edgesIn() by A1, Lm7;
      v.edgesIn() in S by A1;
      hence e in union S by A2, TARSKI:def 4;
    end;
    assume e in union S;
    then consider E being set such that
      A3: e in E & E in S by TARSKI:def 4;
    consider v being Vertex of G such that
      A4: E = v.edgesIn() & v in X by A3;
    e in the_Edges_of G & (the_Target_of G).e = v by A3, A4, Lm7;
    hence e in G.edgesInto(X) by A4, Def26;
  end;
  hence thesis by TARSKI:2;
end;
