Homomorphisms and restrictions of rotation maps #
A homomorphism φ : G.Hom G' between two rotation maps with the same labels is a map of the
vertices under which the rotation map of G' follows that of G, label by label: the i-th
edge at φ v in G' is the image of the i-th edge at v in G, and it arrives with the same
label. So φ maps the walk of G from v along any labels to the walk of G' from φ v along
the same labels (Cslib.RotationMap.Hom.neighbor_pow_map): the walks of G' from φ v are
exactly the images of the walks of G from v, and every vertex reachable from φ v is the image
of a vertex reachable from v (Cslib.RotationMap.Hom.exists_reachable_apply_eq). Homomorphisms
are compatible with powers, relabelling and zig-zag products, so a graph product of an image is the
image of the product.
The basic example is the restriction G.restrict S hS of G to a set S of vertices closed under
taking neighbors, such as the set of the vertices reachable from a given vertex
(Cslib.RotationMap.componentGraph), with the inclusion G.restrictHom S hS into G. Reingold's
algorithm for undirected connectivity Reingold transforms a graph by powers and
zig-zag products, and its analysis runs on the connected component of the start vertex: the
transform of the component maps into the transform of the graph, so walks in one are walks in the
other.
Main definitions #
Cslib.RotationMap.Hom: homomorphisms of rotation maps with the same labels.Cslib.RotationMap.Hom.id,Cslib.RotationMap.Hom.comp: the identity homomorphism and the composition of homomorphisms.Cslib.RotationMap.Hom.pow,Cslib.RotationMap.Hom.relabel,Cslib.RotationMap.Hom.zigzag: the induced homomorphisms of powers, relabellings and zig-zag products.Cslib.RotationMap.restrict,Cslib.RotationMap.restrictHom: the restriction to a set of vertices closed under taking neighbors, and its inclusion.Cslib.RotationMap.componentGraph: the restriction to the vertices reachable from a vertex.Cslib.RotationMap.componentHom: the inclusion of that restriction into the graph.
Main results #
Cslib.RotationMap.Hom.neighbor_map,Cslib.RotationMap.Hom.neighbor_pow_map: homomorphisms map neighbors to neighbors and walks to walks along the same labels.Cslib.RotationMap.reachable_neighbor: every neighbor of a vertex is reachable from it.Cslib.RotationMap.Hom.reachable_map,Cslib.RotationMap.Hom.exists_reachable_apply_eq,Cslib.RotationMap.Hom.reachable_apply_iff: homomorphisms map reachable vertices to reachable vertices, and lift the walks from the image of a vertex.Cslib.RotationMap.mem_of_reachable: a set closed under taking neighbors contains every vertex reachable from it.Cslib.RotationMap.preconnected_componentGraph: the restriction to the vertices reachable from a vertex is connected.
References #
A homomorphism from G to G', rotation maps with the same labels: a map of the vertices
under which the rotation map of G' follows that of G. The i-th edge at φ v in G' is the
image of the i-th edge at v in G, and it arrives with the same label.
- toFun : V → W
The map of the vertices.
The rotation map of
G'at the image of a dart is the image of the rotation map ofG.
Instances For
A homomorphism of rotation maps coerces to its map of the vertices.
The underlying map of a homomorphism is its coercion to a function.
A homomorphism maps the i-th neighbor of v to the i-th neighbor of the image of v.
Homomorphisms with the same map of the vertices are equal.
The identity homomorphism.
Instances For
The identity homomorphism is the identity map.
The identity homomorphism fixes every vertex.
The composition of homomorphisms.
Instances For
The composition of homomorphisms applies them in turn.
A homomorphism maps walks to walks: the rotation map of the walks of length t follows it.
A homomorphism of rotation maps is a homomorphism of their t-th powers.
Instances For
The homomorphism of the powers is the same map of the vertices.
A homomorphism maps the walk from v along k to the walk from φ v along k.
A homomorphism of rotation maps is a homomorphism of their relabellings.
Instances For
The homomorphism of the relabellings is the same map of the vertices.
A homomorphism of rotation maps with labels D induces a homomorphism of their zig-zag
products with a graph H on D, acting on the first coordinate.
Instances For
The homomorphism of the zig-zag products maps the vertex (v, k) to (φ v, k).
The restriction of G to a set S of vertices closed under taking neighbors: the
rotation map of G on the darts at the vertices of S.
Instances For
The rotation map of a restriction of G is the rotation map of G.
The inclusion of a restriction of G into G is a homomorphism.
Instances For
The inclusion of a restriction maps a vertex to itself.
Every neighbor of a vertex is reachable from it in the simple graph of G.
A homomorphism maps reachable vertices to reachable vertices.
Lifting walks along a homomorphism: every vertex reachable from the image of u is the
image of a vertex reachable from u.
Along an injective homomorphism, the images of two vertices are reachable from each other exactly when the vertices are.
If every edge of G' joins vertices whose images under π are reachable from each other in
G, so does every walk.
A set of vertices closed under taking neighbors contains every vertex reachable from it.
The vertices reachable from s are closed under taking neighbors.
The connected component of s in G, as a rotation map: the restriction of G to the
vertices reachable from s.
Instances For
The inclusion of the connected component of s into G.
Instances For
The inclusion of the connected component of s maps a vertex to itself.
The connected component of a vertex is connected.