Hi Brian,
it's great that you are interested in graph theory. Although I work only 
with undirected graphs (at the monment), the definitions in 16.1 should be 
general enough to be used also for other kinds of graphs.

A definition for directed pseudographs (allowing multiedges and loops) 
could be (analogous to the definition df-upgr for undirected pseudographs):

    df-dpgr $a |- DPGraph = { g | [. ( Vtx ` g ) / v ]. [. ( iEdg ` g ) / e 
]. e : dom e --> ( v X. v ) } $.

If you want to have directed multigraphs (pseudographs without loops), you 
could define them as follows:

df-dmgr $a |- DMGraph = { g | [. ( Vtx ` g ) / v ]. [. ( iEdg ` g ) / e ]. 
e : dom e --> { x e.  ( v X. v ) | ( 1st ` x ) =/= ( 2nd ` x ) } } $.

The other conditions you listed would be more complicated to formalize. 
Maybe the start and end vertices could be modelled by providing an ordered 
set (maybe Words) as domain of the edge function e, and the first vertex of 
the first edge and the second vertex of the last edge could be regarded as 
start vertex resp. end vertex.

I hope these hints are sufficient for you to continue.

Alexander

-- 
You received this message because you are subscribed to the Google Groups 
"Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/metamath/987aacd4-de44-42fb-9ea4-6819da2b6024n%40googlegroups.com.

Reply via email to