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 Th35:
  (the_Edges_of G) \ (G.edgesInOut(X)) = G.edgesBetween( (
  the_Vertices_of G) \ X)
proof
  set EG = the_Edges_of G, VG = the_Vertices_of G;
  set EIO = G.edgesInOut(X), EB = G.edgesBetween(VG\X);
  now
    let x be object;
    hereby
      assume
A1:   x in EG \ EIO;
      then
A2:   (the_Target_of G).x in VG by FUNCT_2:5;
A3:   not x in EIO by A1,XBOOLE_0:def 5;
      then not (the_Target_of G).x in X by A1,Th28;
      then
A4:   (the_Target_of G).x in VG \ X by A2,XBOOLE_0:def 5;
A5:   (the_Source_of G).x in VG by A1,FUNCT_2:5;
      not (the_Source_of G).x in X by A1,A3,Th28;
      then (the_Source_of G).x in VG \ X by A5,XBOOLE_0:def 5;
      hence x in EB by A1,A4,Lm5;
    end;
    assume
A6: x in EB;
    then (the_Target_of G).x in VG \ X by Lm5;
    then
A7: not (the_Target_of G).x in X by XBOOLE_0:def 5;
    (the_Source_of G).x in VG \ X by A6,Lm5;
    then not (the_Source_of G).x in X by XBOOLE_0:def 5;
    then not x in EIO by A7,Th28;
    hence x in EG\EIO by A6,XBOOLE_0:def 5;
  end;
  hence thesis by TARSKI:2;
end;
