Documentation

TauCeti.KnotTheory.Grid.Rectangle.Relabeling

Relabeling oriented grid rectangles #

An oriented rectangle between two grid states only records where the two states exchange rows, so it survives an arbitrary relabeling of the rows or of the columns: relabeling the rows keeps its side columns, while relabeling the columns renames them. This file packages these two transports as equivalences between the rectangles joining two states and the rectangles joining their relabelings.

Emptiness and the covered squares are a different matter, because they are defined by cyclic intervals and an arbitrary permutation of Fin n does not preserve the cyclic order. The cyclic permutation finRotate n does, by Grid.mem_cIoo_finRotate_finRotate and Grid.mem_cIco_finRotate_finRotate, so for it the transported rectangle is empty exactly when the original one is, and covers the correspondingly rotated squares. These are the rectangle-level facts behind the invariance of the grid differentials under the cyclic permutation moves of a grid diagram.

The half-turn GridState.halfTurn relabels both the rows and the columns by negation modulo n, which reverses the cyclic order. Composed with exchanging the two side columns (GridRectangleBetween.swapSides), it transports rectangles again, and the transported rectangle is empty exactly when the original one is; it covers the squares obtained by reversing both coordinates with Fin.rev, which are where GridDiagram.rotate moves the markings.

Main definitions #

Main results #

References #

Cyclic permutations of a toroidal grid diagram and their effect on rectangles follow Ozsváth--Stipsicz--Szabó, Grid Homology for Knots and Links, Chapter 3.

Row relabeling #

Relabeling the rows of two grid states transports the oriented rectangles between them: the relabeled states still exchange rows at the same two side columns.

Instances For
    @[simp]

    Row relabeling keeps the initial side column.

    @[simp]

    Row relabeling keeps the terminal side column.

    @[simp]

    The inverse of row relabeling keeps the initial side column.

    @[simp]

    The inverse of row relabeling keeps the terminal side column.

    @[simp]

    Row relabeling renames the initial side row.

    @[simp]

    Row relabeling renames the terminal side row.

    @[simp]

    The inverse of row relabeling renames the initial side row back.

    @[simp]

    The inverse of row relabeling renames the terminal side row back.

    @[simp]

    A cyclic permutation of the rows preserves and reflects emptiness of a rectangle.

    A cyclic permutation of the rows rotates the squares a rectangle covers in the row direction.

    Column relabeling #

    Relabeling the columns of two grid states transports the oriented rectangles between them: the relabeled states exchange rows at the renamed side columns.

    Instances For
      @[simp]

      Column relabeling renames the initial side column.

      @[simp]

      Column relabeling renames the terminal side column.

      @[simp]

      The inverse of column relabeling renames the initial side column back.

      @[simp]

      The inverse of column relabeling renames the terminal side column back.

      @[simp]

      Column relabeling keeps the initial side row.

      @[simp]

      Column relabeling keeps the terminal side row.

      @[simp]

      The inverse of column relabeling keeps the initial side row.

      @[simp]

      The inverse of column relabeling keeps the terminal side row.

      @[simp]

      A cyclic permutation of the columns preserves and reflects emptiness of a rectangle.

      A cyclic permutation of the columns rotates the squares a rectangle covers in the column direction.

      Half-turn #

      The half-turn GridState.halfTurn transports the oriented rectangles between two grid states. It negates the side columns modulo n, which reverses their cyclic order, so the image of the terminal side column becomes the initial one: the rectangle is relabeled in its columns and rows by negation and then has its two sides exchanged.

      Instances For
        @[simp]

        The initial side column of the half-turned rectangle is the negated terminal side column.

        @[simp]

        The terminal side column of the half-turned rectangle is the negated initial side column.

        @[simp]

        The inverse half-turn negates the terminal side column into the initial one.

        @[simp]

        The inverse half-turn negates the initial side column into the terminal one.

        @[simp]

        The initial side row of the half-turned rectangle is the negated terminal side row.

        @[simp]

        The terminal side row of the half-turned rectangle is the negated initial side row.

        @[simp]

        The half-turn preserves and reflects emptiness of a rectangle.

        The half-turn reverses both coordinates of the squares a rectangle covers.

        The half-turn preserves the number of grid-state points in a rectangle's interior.

        The half-turn preserves the number of occupied source-state squares of a rectangle. The lower-left corner is counted separately from the interior grid points.

        The half-turn preserves the number of marking squares covered by a rectangle. Marking square coordinates use rotate, whereas rectangle corners use halfTurn.