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 Th71:
  x in v.allNeighbors() iff ex e being object st e Joins v,x,G
proof
  hereby
    assume
A1: x in v.allNeighbors();
    now
      per cases by A1,XBOOLE_0:def 3;
      suppose
        x in v.inNeighbors();
        then consider e being object such that
A2:     e DJoins x,v,G by Th69;
        take e;
        thus e Joins v,x,G by A2;
      end;
      suppose
        x in v.outNeighbors();
        then consider e being object such that
A3:     e DJoins v,x,G by Th70;
        take e;
        thus e Joins v,x,G by A3;
      end;
    end;
    hence ex e being object st e Joins v,x,G;
  end;
  given e being object such that
A4: e Joins v,x,G;
  now
    per cases by A4;
    suppose
      e DJoins x,v,G;
      then x in v.inNeighbors() by Th69;
      hence x in v.inNeighbors() \/ v.outNeighbors() by XBOOLE_0:def 3;
    end;
    suppose
      e DJoins v,x,G;
      then x in v.outNeighbors() by Th70;
      hence x in v.inNeighbors() \/ v.outNeighbors() by XBOOLE_0:def 3;
    end;
  end;
  hence thesis;
end;
