Documentation

LeanPool.ClassificationOfSurfaces.FiniteCyclicReduction

Combinatorial selections for finite-cyclic reduction #

This file supplies the finite graph and cyclic-list selections used by the recursive Gallier--Xu normalization. In particular, connected presentations with more than one face expose a genuinely adjacent pair, and either occurrence of their common edge can be placed at the head of a suitably oriented cyclic boundary.

def LeanEval.Topology.ClassificationOfSurfaces.FiniteCyclicPresentation.Reduction.unorientedIsoOfOrientedBoundaries {P Q : FiniteCyclicPresentation} (edgeRelabeling : EdgeRelabeling P.Edge Q.Edge) (faceEquiv : P.Face Q.Face) (reverseFace : P.FaceBool) (boundary_rotated : ∀ (f : P.Face), List.map edgeRelabeling.mapDart (P.orientedBoundary { face := f, orientation := reverseFace f }) ~r Q.boundary (faceEquiv f)) :

Build an unoriented presentation isomorphism from equations stated using oriented source faces and stored target faces. Reversing both sides converts this convenient input convention to the target-oriented convention of UnorientedPresentationIso.

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

    Deleting a selected edge name #

    Rename an arbitrary selected edge to the last position of the one-larger edge type.

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

      Rename a word after moving the selected edge to the fresh-last index.

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

        Contract the now-unused last edge name from a renamed word.

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

          Lowering and re-embedding a renamed word which avoids the selected edge recovers that exact renamed word.

          Moving a selected face pair to the endpoints #

          Move f to index zero and a distinct g to the final index.

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

            The original face occupying an interior position after moving the selected pair to the endpoints.

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

              Enumerate the original faces not selected as endpoints, in their transported order.

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

                Every face is the selected face, the right face, or a uniquely positioned untouched face.

                theorem LeanEval.Topology.ClassificationOfSurfaces.FiniteCyclicPresentation.Reduction.exists_ne_step_of_reflTransGen {α : Type u_1} {r : ααProp} {a b : α} (h : Relation.ReflTransGen r a b) (hne : a b) :
                ∃ (x : α) (y : α), r x y x y

                A nontrivial reflexive-transitive path contains a genuinely non-reflexive step.

                The contributions of two distinct faces are bounded by the total edge multiplicity.

                Three distinct face contributions are bounded by total edge multiplicity.

                Once two distinct faces contain an edge of surface multiplicity at most two, no third face contains that edge.

                A connected presentation with at least two faces contains two distinct adjacent faces.

                theorem LeanEval.Topology.ClassificationOfSurfaces.FiniteCyclicPresentation.Reduction.exists_tail_isRotated_cons_of_mem {α : Type u_1} {a : α} {word : List α} (ha : a word) :
                ∃ (tail : List α), word ~r a :: tail

                Any member of a linear list can be moved to its head by a cyclic rotation.

                Recover a signed occurrence from membership in the projected unoriented edge word.

                A common edge displayed positively at the head of an oriented cyclic face boundary.

                Instances For

                  A common edge displayed negatively at the head of an oriented cyclic face boundary.

                  Instances For

                    Choose the traversal orientation which displays a selected edge occurrence positively.

                    Reverse a positive displayed occurrence to obtain a negative displayed occurrence.

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

                      The underlying stored face contains the positively displayed edge.

                      The underlying stored face contains the negatively displayed edge.

                      In two distinct incident faces, the displayed occurrence consumes the entire multiplicity contributed by its face, so the same edge does not occur again in its tail.

                      The corresponding no-second-occurrence statement for a negatively displayed face.

                      The lowered left word used by the canonical contextual merge.

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

                        The lowered right word used by the canonical contextual merge.

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

                          Lower and enumerate all faces not selected for a merge.

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

                            The canonical contextual P2 source associated to two oppositely displayed adjacent faces.

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

                              The presentation after merging the selected adjacent faces and deleting their separator.

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

                                Reindex the input faces to the selected/interior/right ordering of its contextual merge source.

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

                                  Reverse precisely the two selected source faces according to the traversals used to expose their separator; untouched faces retain their stored orientation.

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

                                    The arbitrary adjacent pair is the canonical contextual merge source after renaming the separator, reordering faces, and choosing the two displayed traversal orientations.

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

                                      The specialized unoriented comparison used by an adjacent-face merge preserves ordinary validity. Reversing either selected face cannot create a duplicate: both selected faces contain the fresh separator, untouched faces do not, and the two selected occurrences have opposite signs.

                                      @[reducible]

                                      The validity-safe result of merging an arbitrary adjacent pair while retaining its separator as a cancellable adjacent inverse marker.

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

                                        An arbitrary marked merge preserves strict ordinary validity.

                                        An arbitrary marked merge preserves face-incidence connectivity.

                                        theorem LeanEval.Topology.ClassificationOfSurfaces.FiniteCyclicPresentation.Reduction.markedMergeNormalizationEquivalent {P : FiniteCyclicPresentation} {f g : P.Face} {e : P.Edge} (left : PositiveOccurrence P f e) (right : NegativeOccurrence P g e) (hfg : f g) (validP : P.IsSurfaceValid) :
                                        NormalizationEquivalent { presentation := P, valid := validP } { presentation := markedMergeTarget left right hfg, valid := }

                                        Merge any oppositely displayed adjacent pair without a target-validity side condition. The retained inverse marker is canceled only after the face recursion, preventing intermediate cyclic duplicate faces.

                                        Faithful polygonal-realization invariance of the arbitrary marked merge.

                                        theorem LeanEval.Topology.ClassificationOfSurfaces.FiniteCyclicPresentation.Reduction.mergeNormalizationEquivalent {P : FiniteCyclicPresentation} {f g : P.Face} {e : P.Edge} (left : PositiveOccurrence P f e) (right : NegativeOccurrence P g e) (hfg : f g) (validP : P.IsSurfaceValid) (validTarget : (mergeTarget left right hfg).IsSurfaceValid) :
                                        NormalizationEquivalent { presentation := P, valid := validP } { presentation := mergeTarget left right hfg, valid := validTarget }

                                        Merge an arbitrary oppositely displayed adjacent pair. Target validity remains explicit: under the project's strict stored-word uniqueness clause, a merge can make its new word coincide cyclically with an untouched face.

                                        theorem LeanEval.Topology.ClassificationOfSurfaces.FiniteCyclicPresentation.Reduction.mergePolygonallyEquivalent {P : FiniteCyclicPresentation} {f g : P.Face} {e : P.Edge} (left : PositiveOccurrence P f e) (right : NegativeOccurrence P g e) (hfg : f g) (validP : P.IsSurfaceValid) (validTarget : (mergeTarget left right hfg).IsSurfaceValid) :
                                        P.PolygonallyEquivalent (mergeTarget left right hfg) validP validTarget

                                        Faithful polygonal-realization invariance of the arbitrary adjacent-face merge.

                                        Choose the traversal orientation which displays a selected edge occurrence negatively.

                                        A distinct adjacent pair can always be oriented with positive and negative occurrences of the same separator displayed at the heads of its two cyclic boundaries.

                                        The validity-safe output of merging a connected presentation down to one face.

                                        Instances For
                                          @[irreducible]

                                          Repeated marked merges reduce every connected ordinary-valid presentation to one face.

                                          Each merge retains its separator as an adjacent inverse marker. Consequently every recursive target remains strictly valid even when deleting the separator immediately would duplicate an untouched cyclic face word.

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