Elementary grid stabilization moves #
A grid stabilization inserts one row and one column near a marking. In the resulting local
2 × 2 block, the chosen marking is split across two opposite corners and one marking of the
other type occupies a third corner. Deleting the new row and column recovers the original
diagram.
This file first gives the two permutation operations underlying this construction.
GridState.insertPoint inserts one point at the intersection of the new row and column, while
GridState.splitPoint replaces a chosen old point by the other two corners of that local block.
It then constructs stabilizations that split either an O- or an X-marking.
The predicates GridDiagram.IsOStabilization and GridDiagram.IsXStabilization require the new
row and column to be cyclically adjacent to the row and column of the split marking. Allowing
either cyclic orientation in each coordinate gives the four corner types for each marking, hence
the eight standard stabilization types. GridDiagram.IsStabilization combines the two marking
types, and GridDiagram.IsDestabilization reverses the relation.
Main definitions #
TauCeti.GridState.insertPoint: insert a point into a permutation graph.TauCeti.GridState.splitPoint: split one old point across the other corners of an inserted row and column.TauCeti.GridDiagram.stabilizeO,TauCeti.GridDiagram.stabilizeX: the two marking-level stabilization constructions.TauCeti.GridDiagram.IsStabilization,TauCeti.GridDiagram.IsDestabilization: elementary stabilization and destabilization relations.
Main results #
TauCeti.GridDiagram.stabilizeO_castSucc_eq_stabilizeX_succandTauCeti.GridDiagram.stabilizeO_succ_eq_stabilizeX_castSucc: with the new column next to the split column, anO-stabilization is theX-stabilization of the same column with the new column on the other side.TauCeti.GridDiagram.stabilizeX_castSucc_swapColumnsandTauCeti.GridDiagram.stabilizeX_swapRows: swapping the new column or row of anX-stabilization with an adjacent old one moves it to the other side.TauCeti.GridDiagram.rotate_stabilizeX_succ: reversing both coordinates exchanges the two corner types ofX-stabilization, whose newO-marking is the north-east or the south-west corner of the new block.TauCeti.GridDiagram.stabilizeX_last_relabelRows,TauCeti.GridDiagram.stabilizeX_last_relabelColumnsandTauCeti.GridDiagram.stabilizeO_last_relabelColumns: a cyclic permutation moves a new last row or column to the front.
References #
This supplies the stabilization half of the standing convention in
TauCetiRoadmap/CombinatorialHeegaardFloer/README.md that a link is initially a grid diagram
modulo grid moves. The local three-marking construction and its eight types follow
Ozsváth--Stipsicz--Szabó, Grid Homology for Knots and Links, Chapter 3.
The inserted column contains the inserted row.
Inserting the same point into two grid states gives equal states only if the states were equal.
Every grid state containing the point (newColumn, newRow) is obtained by inserting that
point into a grid state of the smaller grid.
Split the point in column splitColumn across an inserted row and column.
The old point at (splitColumn, x splitColumn) is replaced by the two points
(newColumn, newRow.succAbove (x splitColumn)) and
(newColumn.succAbove splitColumn, newRow). All other old points are embedded as in
GridState.insertPoint.
Instances For
The new column of a split point contains the embedded old row of the split point.
Away from the split column, splitPoint embeds old points in the inserted grid.
Splitting the point of column s across a column inserted just before it is inserting the
point (s.succ, newRow): the old point of column s moves to the new column s.castSucc, and
every other column is embedded alike by s.castSucc.succAbove and s.succ.succAbove.
Reflecting in the diagonal exchanges the roles of the inserted row and column.
Diagonal reflection splits the transposed point across the exchanged row and column.
Reversing both coordinates of a grid state with an inserted point reverses the coordinates of the inserted point.
Reversing both coordinates of a grid state with a split point reverses the inserted row and column and the split column.
Cyclically permuting the rows moves an inserted top row to the bottom.
Cyclically permuting the rows moves the inserted top row of a split point to the bottom.
Cyclically permuting the columns moves an inserted last column to the front.
Stabilize a grid diagram by splitting the O-marking in splitColumn.
The O state uses the two off-diagonal corners of the inserted row and column, while the new
X-marking occupies their intersection. The elementary-move predicate below separately requires
the inserted row and column to be adjacent to the split marking.
Instances For
Stabilize a grid diagram by splitting the X-marking in splitColumn.
The X state uses the two off-diagonal corners of the inserted row and column, while the new
O-marking occupies their intersection. The elementary-move predicate below separately requires
the inserted row and column to be adjacent to the split marking.
Instances For
The O state of an O-stabilization is obtained by splitting the chosen O-marking.
The X state of an O-stabilization is obtained by inserting the new X-marking.
The O state of an X-stabilization is obtained by inserting the new O-marking.
The X state of an X-stabilization is obtained by splitting the chosen X-marking.
In the stabilization splitting the X-marking of column s, the row (G.X s).castSucc
carries its O-marking only in the new column s.castSucc.
In the stabilization splitting the X-marking of column s, the row (G.X s).castSucc
carries its X-marking only in the column s.succ.
In the stabilization splitting the X-marking of column s, the X-marking of each column
collapses under Fin.predAbove onto the X-marking of G in the collapsed column: both
X-markings of the new block collapse onto the split marking.
Reversing both coordinates of an O-stabilization reverses the inserted row and column and
the split column.
Reversing both coordinates of an X-stabilization reverses the inserted row and column and
the split column.
The half-turn exchanges the two corner types of X-stabilization: the stabilization of G
whose new O-marking is the north-east corner of the new block is carried to the stabilization
of G.rotate whose new O-marking is the south-west corner.
Exchanging the marking types turns an O-stabilization into an X-stabilization.
Exchanging the marking types turns an X-stabilization into an O-stabilization.
With the new column inserted just before the split column, the X state of an
X-stabilization inserts its point in the column s.succ of the split marking.
With the new column inserted just after the split column, the X state of an
X-stabilization inserts its point in the column s.castSucc of the split marking.
In the stabilization splitting the X-marking of column s with a new column just before
it, the X-marking state has its point (G.X s).succ in the new column s.castSucc.
In the stabilization splitting the X-marking of column s with a new column just before
it, exchanging the two points of the X-marking state in the new block gives the X-marking
state of G with the center (s.succ, (G.X s).succ) of the block inserted.
In the stabilization splitting the X-marking of column s with a new column just before
it, the X-marking state does not contain the center (s.succ, (G.X s).succ) of the new
block.
Splitting the O-marking of column s with a new column just before it gives the same
diagram as splitting its X-marking with a new column just after it: both put an O at
(s.succ, newRow) and an X at (s.castSucc, newRow).
Splitting the O-marking of column s with a new column just after it gives the same
diagram as splitting its X-marking with a new column just before it.
Swapping the two columns of the new block exchanges the X-stabilizations with the new
column on either side of the split column.
Swapping the new row k.castSucc of an X-stabilization with the old row k just above it
moves the new row to k.succ.
Cyclically permuting the rows moves the new top row of an X-stabilization to the
bottom.
Cyclically permuting the columns moves the new last column of an X-stabilization to the
front.
Cyclically permuting the columns moves the new last column of an O-stabilization to the
front.
Two grid diagrams differ by an elementary stabilization that splits an O-marking.
The new column is cyclically adjacent to the embedded split column, and the new row is cyclically
adjacent to the embedded row of its O-marking. The two disjunctions independently choose the
cyclic orientation, giving the four O-stabilization corner types.
Instances For
An elementary O-stabilization is the O-stabilization construction at a new row and column
cyclically adjacent to the split marking.
A local O-stabilization construction is an elementary O-stabilization.
Inserting a column immediately before splitColumn and a row immediately before its
O-marking gives an elementary O-stabilization.
Two grid diagrams differ by an elementary stabilization that splits an X-marking.
The new column is cyclically adjacent to the embedded split column, and the new row is cyclically
adjacent to the embedded row of its X-marking. The two disjunctions independently choose the
cyclic orientation, giving the four X-stabilization corner types.
Instances For
An elementary X-stabilization is the X-stabilization construction at a new row and column
cyclically adjacent to the split marking.
A local X-stabilization construction is an elementary X-stabilization.
Inserting a column immediately before splitColumn and a row immediately before its
X-marking gives an elementary X-stabilization.
Exchanging the marking types turns an O-stabilization relation into an
X-stabilization relation.
Exchanging the marking types turns an X-stabilization relation into an
O-stabilization relation.
One elementary grid stabilization, splitting either an O- or an X-marking.
Instances For
An elementary stabilization splits either an O-marking or an X-marking.
Exchanging the marking types preserves the elementary stabilization relation.
One elementary grid destabilization, oriented from the larger diagram to the smaller one.
Instances For
A destabilization from the larger diagram to the smaller one is the reverse orientation of the corresponding stabilization.
Exchanging the marking types preserves the elementary destabilization relation.