Decomposing multigraph walks #
This file splits an edge-labelled multigraph walk at the first occurrence of a specified vertex and extracts a path by bypassing repeated vertices. The extracted path keeps its endpoints and uses vertices and edge identities in their original order, so it can replace a walk in connectivity arguments without losing the distinction between parallel edges.
The interface is adapted from Mathlib's SimpleGraph.Walk.takeUntil,
SimpleGraph.Walk.dropUntil, and SimpleGraph.Walk.bypass.
The initial segment of a walk ending at the first occurrence of a specified vertex.
Instances For
The final segment of a walk starting at the first occurrence of a specified vertex.
Instances For
The splitting vertex occurs exactly once in the initial segment.
A path from outside a vertex set to a vertex in it has an initial segment whose endpoint is the first visited vertex in the set. Every other vertex of the segment is outside the set, and the segment uses only vertices and edge identities of the original path.
An edge identity occurs on a walk exactly when the walk can be split around one traversal of that edge.
Remove closed portions of a walk between repeated vertices, retaining the endpoints.
Instances For
Bypassing repeated vertices produces a path.
Bypassing a path does not change it.