Digraphs as arrow families #
The adjacency arrow family Digraph.AdjHom D of a digraph D has a single arrow from v to
w exactly when D.Adj v w; loops are retained, and at most one arrow runs from any vertex to
any other. Directed walks along it (TauCeti.ArrowWalk) are the objects on which the network
theory runs, including the directed forms of Menger's theorem, so this family is how statements
about arrow families specialize to digraphs.
This file identifies the notions of the arrow-family theory with their digraph counterparts. The
arrows are the ordered pairs of adjacent vertices, and a walk is determined by its vertex
sequence, which can be any list of vertices in which consecutive vertices are adjacent. Directed
reachability along the family is the reflexive transitive closure of D.Adj. Deleting a set X
of vertices corresponds to avoiding it: reachability in the digraph induced on the complement of
X is reachability along the family through walks visiting no vertex of X. Deleting the arrows
of a digraph E corresponds to avoiding the arrows joining pairs adjacent in E: reachability in
D \ E is reachability along the family without those arrows. Finally, the zigzags of arrows,
which define the weakly connected components, are the walks of the simple graph
D.toSimpleGraphInclusive obtained by forgetting orientations.
Main definitions #
Digraph.AdjHom D: the adjacency arrow family ofD.Digraph.sigmaAdjHomEquiv: the arrows of the family are the ordered pairs of adjacent vertices.Digraph.arrowWalkEquiv: the walks fromstotare the lists of vertices fromstotin which consecutive vertices are adjacent.
Main results #
Digraph.nonempty_arrowWalk_iff_reflTransGen: reachability along the adjacency arrow family is the reflexive transitive closure ofD.Adj.Digraph.isStronglyConnected_iff: the family is strongly connected exactly when every vertex reaches every other vertex alongD.Adj.Digraph.reflTransGen_induce_compl_iff: reachability after deleting a setXof vertices is reachability along the family avoidingX.Digraph.reflTransGen_sdiff_iff: reachability after deleting the arrows of a digraphEis reachability along the family without the arrows joining pairs adjacent inE.Digraph.weaklyConnectedComponent_mk_eq_mk_iff: two vertices lie in the same weakly connected component of the family exactly when they are reachable inD.toSimpleGraphInclusive.
The adjacency arrow family of a digraph: a single arrow from v to w exactly when
D.Adj v w.
Instances For
Arrows and walks #
Consecutive vertices of a walk along the adjacency arrow family are adjacent.
The walks along the adjacency arrow family from s to t are the lists of vertices starting
at s and ending at t in which consecutive vertices are adjacent, through their vertex
sequences.
Instances For
Reachability #
Reachability along the adjacency arrow family is the reflexive transitive closure of adjacency.
The adjacency arrow family is strongly connected exactly when every vertex reaches every other vertex along adjacency.
Deleting vertices #
Two vertices of a set S are related by the reflexive transitive closure of adjacency in the
digraph induced on S exactly when some walk along the adjacency arrow family of D joins them
through vertices of S.
Reachability after deleting a set X of vertices, in the digraph induced on its complement,
is reachability along the adjacency arrow family through walks avoiding X.
Deleting arrows #
Deleting no arrows leaves a digraph unchanged.
Deleting every arrow leaves the empty digraph.
Deleting a larger set of arrows gives a smaller digraph.
Reachability after deleting the arrows of a digraph E is reachability along the adjacency
arrow family of D without the arrows joining pairs adjacent in E.
Weak connectivity #
The simple graph underlying the adjacency arrow family is the simple graph obtained from D
by forgetting orientations.
Two vertices lie in the same weakly connected component of the adjacency arrow family exactly
when they are reachable in the simple graph obtained from D by forgetting orientations.