Documentation

LeanPool.ClassificationOfSurfaces.FiniteCyclicCrosscap

The Gallier--Xu cross-cap rewrite #

This file implements the common P2 refinement behind the pseudo-rewrite

a X a Y ~ b b Y⁻¹ X.

The first source child is compared in its stored orientation and the second source child is read backwards, exactly as in Gallier--Xu's derivation. The broader UnorientedPresentationIso makes that face-orientation choice explicit; it is not hidden in the ordinary signed edge relabeling.

@[reducible]

The source spelling with two equally oriented occurrences of a.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[reducible]

    A cyclic spelling of the target cross-cap word a a Y⁻¹ X.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Split the source between the two occurrences of a.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Split the target along the edge used to merge the first source child with the reverse of the second.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Exchange the target cross-cap edge with its fresh cutting edge.

          Equations
          Instances For

            Match the explicit face indices of the two canonical splits.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              Reverse exactly the right child of the target split.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                The two P2 refinements differ by edge relabeling and reversal of their right child face.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem LeanEval.Topology.ClassificationOfSurfaces.FiniteCyclicPresentation.Crosscap.polygonallyEquivalent {n : } (a : Fin n) (X Y : List (SurfaceCellComplex.SignedDart (Fin n))) (haX : aList.map edgeOfDart X) (haY : aList.map edgeOfDart Y) (validSource : (source a X Y).IsSurfaceValid) (validTarget : (target a X Y).IsSurfaceValid) :
                  (source a X Y).PolygonallyEquivalent (target a X Y) validSource validTarget

                  The Gallier--Xu cross-cap rewrite preserves faithful polygonal realizations.