elaxation for vertex <i>v</i> is an edge in the shortest paths tree. 
<li><b><tt>vis.discover_vertex(v, g)</tt></b>
  is invoked on vertex <i>v</i> when the edge 
  <i>(u,v)</i> is examined and <i>v</i> has not yet been discovered (i.e. its distance was infinity before relaxation was attempted on the edge).  This
  is also when the vertex is inserted into the priority queue.
<li><b><tt>vis.edge_not_relaxed(e, g)</tt></b>
  is invoked if the edge is not relaxed (see above).
<li><b><tt>vis.finish_vertex(u, g)