Documentation

TauCeti.KnotTheory.Grid.Commutation.Basic

Grid diagram commutation moves #

This file starts the commutation-move API for grid diagrams. The total row and column swap operations used as underlying relabelings live in TauCeti.KnotTheory.Grid.Diagram.Basic, next to the general row and column relabeling API. Here we add the move-specific hypothesis: two rows or columns are commutable when their marking segments do not interleave around the torus.

For columns, the vertical segment in column c has endpoints G.O c and G.X c, and two columns are non-interleaving when each pair of endpoints lies on one side of the other column's endpoint pair. The row version is the same definition after reading, in each row, the unique columns containing the O and X markings.

The predicates are intentionally just the combinatorial hypotheses. The pentagon-counting maps and chain homotopies for commutation invariance are later Lane G.5 targets.

Main definitions #

Main results #

References #

This supplies a prerequisite for TauCetiRoadmap/CombinatorialHeegaardFloer/README.md, Lane G.5, "Invariance over 𝔽₂. Grid moves = commutation + (de)stabilization." It isolates the non-interleaving condition for row and column commutations in the grid homology construction of OzsvΓ‘th--Stipsicz--SzabΓ³, Grid Homology for Knots and Links, Chapter 3.

noncomputable def TauCeti.GridDiagram.columnArc {n : β„•} (G : GridDiagram n) (c : Fin n) :

The open vertical arc from the O marking to the X marking in a column of a grid diagram.

This is the one-dimensional cyclic interval in the row coordinate. Its opposite arc is obtained by swapping the two markings, not by changing the column.

Instances For
    @[simp]

    Membership in a column arc is membership in the open cyclic interval from that column's O row to its X row.

    theorem TauCeti.GridDiagram.O_notMem_columnArc {n : β„•} (G : GridDiagram n) (c : Fin n) :
    G.O.toPerm c βˆ‰ G.columnArc c

    The O endpoint of a column is not in its own open column arc.

    theorem TauCeti.GridDiagram.X_notMem_columnArc {n : β„•} (G : GridDiagram n) (c : Fin n) :
    G.X.toPerm c βˆ‰ G.columnArc c

    The X endpoint of a column is not in its own open column arc.

    noncomputable def TauCeti.GridDiagram.rowArc {n : β„•} (G : GridDiagram n) (r : Fin n) :

    The open horizontal arc from the O marking to the X marking in a row of a grid diagram.

    This is the column-coordinate version of columnArc: it starts at the unique column containing the row's O marking and ends at the unique column containing the row's X marking.

    Instances For
      @[simp]

      Membership in a row arc is membership in the open cyclic interval from that row's O column to its X column.

      The O endpoint of a row is not in its own open row arc.

      The X endpoint of a row is not in its own open row arc.

      Two columns of a grid diagram have non-interleaving marking segments.

      The condition is phrased in both directions: the two endpoints in column a lie on the same side of the endpoint pair in column b, and conversely. This symmetric form is robust in degenerate row-sharing cases, where one endpoint of a segment may have the same row coordinate as an endpoint of the other segment.

      Instances For

        Two rows of a grid diagram have non-interleaving marking segments.

        Instances For

          The defining endpoint-side conditions for column non-interleaving.

          The defining endpoint-side conditions for row non-interleaving.

          @[simp]

          A column is non-interleaving with itself.

          @[simp]

          A row is non-interleaving with itself.

          A column whose X-marking lies directly above its O-marking is non-interleaving with every column.

          A row whose X-marking lies directly right of its O-marking is non-interleaving with every row.

          theorem TauCeti.GridDiagram.rowsNoninterleaving_of_apply {n : β„•} {G : GridDiagram n} {a b c d c' d' : Fin n} (hc : G.O.toPerm c = a) (hd : G.X.toPerm d = a) (hc' : G.O.toPerm c' = b) (hd' : G.X.toPerm d' = b) (h : Grid.Noninterleaving c d c' d') :

          Two rows do not interleave when the columns of their markings, c and d for the first and c' and d' for the second, do not interleave.

          Column non-interleaving is symmetric in the two columns.

          Row non-interleaving is symmetric in the two rows.

          @[simp]

          Diagonal reflection turns the row arc in the reflected diagram into the column arc in the original diagram.

          @[simp]

          Diagonal reflection turns the column arc in the reflected diagram into the row arc in the original diagram.

          @[simp]

          Diagonal reflection exchanges row non-interleaving with column non-interleaving.

          @[simp]

          Diagonal reflection exchanges column non-interleaving with row non-interleaving.