Documentation

TauCeti.KnotTheory.Grid.Rectangle.Swap

A grid rectangle move is a column transposition #

An oriented rectangle R : GridRectangleBetween x y records the two side columns at which the target state y differs from the source state x: at the initial side column y reads the row x uses at the terminal side, and vice versa, while the two states agree away from the two side columns. That is exactly the effect of swapping the two side columns of x, so the target state is the column transposition x.swapColumns R.left R.right.

This file makes that identification precise and draws the point-set consequences: the two states share all but two of their occupied grid points, and each occupied grid point they do not share is one of the four corners of the rectangle. The shared grid points are exactly the intersection of the two point sets, which has n - 2 elements. These are the bookkeeping facts a Maslov or Alexander grading-change computation across a rectangle rests on, and they let later ∂² = 0-style arguments reason about x and y through a single transposition.

Main results #

References #

The column-transposition picture of a rectangle move follows Ozsváth--Stipsicz--Szabó, Grid Homology for Knots and Links, Chapter 4.

Pointwise form of the column-transposition identity: at each column the target state reads the row the source state reads at the swapped column.

The target state of an oriented rectangle is the source state with its two side columns swapped. The rectangle's defining equations -- the two side columns exchange their rows and the other columns are unchanged -- are precisely the action of the column transposition.

The target state of an oriented rectangle is also the source state with the two rows occupied by its side columns swapped: a grid state is a bijection from columns to rows, so exchanging the two side columns exchanges exactly the two rows they occupy.

def TauCeti.GridRectangleBetween.ofSwapColumns {n : ℕ} (x y : GridState n) (a b : Fin n) (hab : a ≠ b) (h : y = GridState.swapColumns a b x) :

The oriented rectangle associated to an equality expressing the target as a nontrivial column swap of the source.

Instances For
    @[simp]
    theorem TauCeti.GridRectangleBetween.ofSwapColumns_left {n : ℕ} (x y : GridState n) (a b : Fin n) (hab : a ≠ b) (h : y = GridState.swapColumns a b x) :
    (ofSwapColumns x y a b hab h).left = a

    The initial side of the rectangle constructed from a column-swap equality.

    @[simp]
    theorem TauCeti.GridRectangleBetween.ofSwapColumns_right {n : ℕ} (x y : GridState n) (a b : Fin n) (hab : a ≠ b) (h : y = GridState.swapColumns a b x) :
    (ofSwapColumns x y a b hab h).right = b

    The terminal side of the rectangle constructed from a column-swap equality.

    @[simp]
    theorem TauCeti.GridRectangleBetween.ofSwapColumns_bottom {n : ℕ} (x y : GridState n) (a b : Fin n) (hab : a ≠ b) (h : y = GridState.swapColumns a b x) :
    (ofSwapColumns x y a b hab h).bottom = x.toPerm a

    The lower side of the rectangle constructed from a column-swap equality.

    @[simp]
    theorem TauCeti.GridRectangleBetween.ofSwapColumns_top {n : ℕ} (x y : GridState n) (a b : Fin n) (hab : a ≠ b) (h : y = GridState.swapColumns a b x) :
    (ofSwapColumns x y a b hab h).top = x.toPerm b

    The upper side of the rectangle constructed from a column-swap equality.

    @[simp]
    theorem TauCeti.GridRectangleBetween.ofSwapColumns_toGridRectangle {n : ℕ} (x y : GridState n) (a b : Fin n) (hab : a ≠ b) (h : y = GridState.swapColumns a b x) :
    (ofSwapColumns x y a b hab h).toGridRectangle = { left := a, right := b, bottom := x.toPerm a, top := x.toPerm b }

    The toroidal rectangle underlying the rectangle constructed from a column-swap equality.

    Oriented rectangles between x and y exist exactly when y is a column transposition of x. A rectangle realizes its side columns as a transposition taking x to y, and conversely a column transposition exhibits an oriented rectangle on those two columns.

    The source state of an oriented rectangle is the target state with its two side columns swapped: swapping the same pair of columns twice is the identity.

    The underlying permutation of the target state is the source permutation precomposed with the transposition of the two side columns.

    A grid point lies in the target state exactly when its column-transposed grid point lies in the source state.

    The two side columns carry the four corners of a rectangle, so a grid point that the two states share must avoid both side columns. Conversely, away from the side columns the two states agree, so every source grid point off the side columns is shared.

    The lower-left corner is not shared with the target state: it sits on a side column.

    The upper-right corner is not shared with the target state: it sits on a side column.

    The upper-left target corner is not shared with the source state: it sits on a side column.

    The lower-right target corner is not shared with the source state: it sits on a side column.

    The source state's point set is its shared intersection with the target point set together with the two source corners (R.left, R.bottom) and (R.right, R.top).

    The target state's point set is the shared part together with its own two corners.

    The source and target states share exactly n - 2 grid points: all of the source's n grid points except its two corners.

    theorem TauCeti.GridState.rectangle_induction_on {n : ℕ} {P : GridState n → Prop} (x₀ : GridState n) (h₀ : P x₀) (h : ∀ (x y : GridState n) (a : GridRectangleBetween x y), P x → P y) (x : GridState n) :
    P x

    Any two grid states are joined by rectangle moves. A property of grid states that holds at one state x₀ and passes from the source to the target of every oriented rectangle holds at every state: every grid state is reached from x₀ by a sequence of column transpositions, and each column transposition is a rectangle move.