Mapping multigraph walks to supergraphs #
This file transports an edge-labelled multigraph walk along a graph inclusion and restricts a walk to a subgraph containing all its traversed edges. Since the ambient vertex and edge types do not change, both operations preserve the support and edge list. In particular, they preserve paths, trails, cycles, and reachability. In particular, reachability after deleting a set of edges is witnessed exactly by walks avoiding those edges, and reachability after deleting a set of vertices is witnessed by walks whose support avoids those vertices.
The single-edge deletion results describe the original component as the union of the endpoint
components after deletion (Graph.IsLink.reachable_iff_reachable_deleteEdges_or) and show that
reachability outside that component is unchanged
(Graph.IsLink.reachable_deleteEdges_iff_of_not_reachable). They supply the walk-level input for
the bridge/component-count characterization.
The interface follows Mathlib's SimpleGraph.Walk.mapLe, SimpleGraph.Walk.transfer, and
SimpleGraph.reachable_deleteEdges_iff_exists_walk, adapted to retain multigraph edge identities.
Alias of the reverse direction of Graph.Walk.isTrail_mapLe.
Alias of the forward direction of Graph.Walk.isTrail_mapLe.
Alias of the reverse direction of Graph.Walk.isPath_mapLe.
Alias of the forward direction of Graph.Walk.isPath_mapLe.
Alias of the reverse direction of Graph.Walk.isCycle_mapLe.
Alias of the forward direction of Graph.Walk.isCycle_mapLe.
Restriction to a subgraph #
Mapping a walk to a supergraph is injective.
Two points are reachable after deleting a set of edges exactly when the first is an actual vertex and some walk between them traverses none of the deleted edges.
Two points are reachable after deleting a set of vertices exactly when some walk between them avoids all the deleted vertices.
After deleting an edge joining x and y, a vertex v reachable from u remains reachable
from u, unless x or y is reachable from u in the deletion.
After deleting an edge joining x and y, every vertex reachable from x remains
reachable from x or from y.
Deleting an edge joining x and y does not change reachability from a vertex u from
which x is unreachable: the components not containing the ends of the edge are unaffected.