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, v being Vertex of G
  st for e being object holds not e Joins v,v,G
  holds card v.edgesInOut() = v.degree()
proof
  let G be _Graph, v be Vertex of G;
  assume A1: for e being object holds not e Joins v,v,G;
  v.edgesIn() /\ v.edgesOut() = {}
  proof
    assume v.edgesIn() /\ v.edgesOut() <> {};
    then consider e being object such that
      A2: e in v.edgesIn() /\ v.edgesOut() by XBOOLE_0:def 1;
    e in v.edgesIn() & e in v.edgesOut() by A2, XBOOLE_0:def 4;
    then e in the_Edges_of G & (the_Target_of G).e = v &
      (the_Source_of G).e = v by Lm7, Lm8;
    then e Joins v,v,G;
    hence contradiction by A1;
  end;
  hence thesis by CARD_2:35, XBOOLE_0:def 7;
end;
