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 Th140:
  for G being _Graph holds G is loopless iff
    for v being object holds G.edgesDBetween({v},{v}) = {}
proof
  let G be _Graph;
  hereby
    assume A1: G is loopless;
    let v be object;
    not ex e being object st e in G.edgesDBetween({v},{v})
    proof
      given e being object such that
        A2: e in G.edgesDBetween({v},{v});
      e DSJoins {v},{v},G by A2, Def31;
      hence contradiction by A1, Th138;
    end;
    hence G.edgesDBetween({v},{v}) = {} by XBOOLE_0:def 1;
  end;
  assume A3: for v being object holds G.edgesDBetween({v},{v}) = {};
  for v being object holds not ex e being object st e DSJoins {v},{v},G
  proof
    let v be object;
    given e being object such that
      A4: e DSJoins {v},{v},G;
    e in G.edgesDBetween({v},{v}) by A4, Def31;
    hence contradiction by A3;
  end;
  hence thesis by Th138;
end;
