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 Th142:
  for G being _Graph holds G is non-Dmulti iff
    for v,w being object holds G.edgesDBetween({v},{w}) is trivial
proof
  let G be _Graph;
  hereby
    assume A1: G is non-Dmulti;
    let v,w be object;
    for e1,e2 being object st e1 in G.edgesDBetween({v},{w}) &
      e2 in G.edgesDBetween({v},{w}) holds e1 = e2
    proof
      let e1,e2 be object;
      assume e1 in G.edgesDBetween({v},{w});
      then e1 DSJoins {v},{w},G by Def31;
      then A2: e1 DJoins v,w,G by Th132;
      assume e2 in G.edgesDBetween({v},{w});
      then e2 DSJoins {v},{w},G by Def31;
      then e2 DJoins v,w,G by Th132;
      hence e1 = e2 by A1, A2;
    end;
    hence G.edgesDBetween({v},{w}) is trivial by ZFMISC_1:def 10;
  end;
  assume A3: for v,w being object holds G.edgesDBetween({v},{w}) is trivial;
  now
    let e1,e2,v,w be object;
    assume A4: e1 DJoins v,w,G & e2 DJoins v,w,G;
    v in {v} & w in {w} by TARSKI:def 1;
    then e1 DSJoins {v},{w},G & e2 DSJoins {v},{w},G by A4;
    then A5: e1 in G.edgesDBetween({v},{w}) & e2 in G.edgesDBetween({v},{w})
      by Def31;
    G.edgesDBetween({v},{w}) is trivial by A3;
    hence e1 = e2 by A5, ZFMISC_1:def 10;
  end;
  hence thesis;
end;
