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 Th67:
  e in v.edgesInOut() iff e Joins v,v.adj(e),G
proof
  hereby
    assume
A1: e in v.edgesInOut();
    then
A2: (the_Source_of G).e = v or (the_Target_of G).e = v by Th61;
    now
      per cases;
      suppose
A3:     (the_Target_of G).e = v;
        then v.adj(e) = (the_Source_of G).e by A1,Def41;
        hence e Joins v,v.adj(e),G by A1,A3;
      end;
      suppose
A4:     (the_Target_of G).e <> v;
        then v.adj(e) = (the_Target_of G).e by A1,A2,Def41;
        hence e Joins v,v.adj(e),G by A1,A2,A4;
      end;
    end;
    hence e Joins v,v.adj(e),G;
  end;
  assume e Joins v,v.adj(e),G;
  hence thesis by Th62;
end;
