Documentation

CslibFrontier.Computability.Complexity.Problems.Graph.RotationSystem.Dual

The indexed dual of a rotation system #

The dual retains every edge-list position. Its vertices are the least dart indices of all source face orbits, including singleton orbits. Its rotation is the source face successor. Declared isolated source vertices have no darts and hence contribute no dual vertex.

This is an original finite permutation construction. It does not assert geometric realization or give a native certificate compiler.

Main definitions #

Finite dart indices in an actual face orbit, including its least index.

Instances For

    Every dart belongs to its own face orbit.

    The least dart index in the actual face orbit, including a singleton orbit. It is computed over the finite dart universe, independently of the magnitudes of source vertex names.

    Instances For

      The canonical name is attained by a least-index dart in the same actual face orbit.

      Canonical face names agree exactly on source face orbits.

      A dart is the canonical representative exactly when its index is its face's name.

      The canonical face name is bounded by the number of darts, even for huge vertex labels.

      Canonical dual vertex equality is exactly the existing executable face-table orbit test. This links the abstract construction to faceTable (ofRotation r) without another face enumeration or an existentially chosen relabeling.

      The listed dual has one vertex per actual face and one edge per source edge occurrence. The first/second ends of edge i are the faces of darts (i,false) and (i,true).

      Instances For
        @[simp]

        Dualization preserves the number of listed edges, including loops and parallel edges.

        Identification of source and dual darts preserves edge positions and endpoint bits.

        Instances For
          @[simp]

          Dart reversal commutes with the source/dual identification.

          @[simp]

          The endpoint of a dual dart is exactly the canonical name of its source face.

          Every dual dart endpoint is declared, with no assumption on source endpoint declarations.

          Each declared dual vertex is incident to a dual dart. Source isolated vertices are omitted.

          Every endpoint in the dual's flattened incidence list is declared.

          The dual rotation is the source face permutation, transported along the indexed dart identification. Its cycles are exactly the dual endpoint fibers.

          Instances For
            @[simp]

            Exact dual vertex successor: sigma_D = phi.

            @[simp]

            Exact dual face successor: phi_D = alpha sigma alpha on identified darts.

            Dual faces are precisely source vertex cycles, with reversal giving the orientation identification. This includes source degree-one vertices and singleton dual face orbits.

            @[reducible, inline]

            Nonempty source endpoint fibers; declared isolated vertices are deliberately absent.

            Instances For

              Complete dual-face/source-vertex correspondence. It applies to every nonempty endpoint fiber, including singleton rotations, with no connectedness or genus assumption.

              Instances For

                The complete dual face count is the number of nonempty source vertex fibers.

                Canonical names identify every source face with exactly one declared dual vertex.

                Instances For

                  Distinct declared dual names count every source face once.