Tiling a square is existential second-order definable #
The membership half of the problem's completeness: a tiling is a certificate,
and checking it is local. The Σ₁ definition guesses one ternary relation
variable R x y t, read as “the cell in column x and row y carries the tile
t”, and its first-order kernel says what a tiling is:
- every cell of the grid carries exactly one tile, and that tile is one of the instance's;
- the bottom row is one the description allows, and the two edge columns carry tiles allowed there;
- horizontal and vertical neighbors are compatible;
- some cell carries an accepting tile;
together with the well-formedness the yes-instances fold in – the order is linear and there is a position.
The guess has to be functional where a coloring's need not be
(DescriptiveComplexity.paletteKernel): the accepting condition asks for a cell
that carries an accepting tile, so a cell holding two tiles could satisfy the
compatibility clauses by one and the acceptance by the other, which no tiling
does.
The grid is indexed by the positions of the instance, so this is an n × n
tiling and the definition is a Σ₁ one. Read over an exponential expansion the
same sentence asks about a 2ⁿ × 2ⁿ square.
The guessed tiling #
The single existential block of the Σ₁ definition: one ternary relation
variable, read as “the cell in this column and this row carries this tile”.
Equations
Instances For
Dependency graph
The symbol of the guessed tiling.
Instances For
Dependency graph
The vocabulary of the kernel: tile systems together with the guessed tiling.
Equations
Instances For
Dependency graph
The position symbol in the kernel's vocabulary.
Instances For
Dependency graph
The tile symbol in the kernel's vocabulary.
Instances For
Dependency graph
The accepting-tile symbol in the kernel's vocabulary.
Instances For
Dependency graph
The order symbol in the kernel's vocabulary.
Instances For
Dependency graph
The horizontal-compatibility symbol in the kernel's vocabulary.
Instances For
Dependency graph
The vertical-compatibility symbol in the kernel's vocabulary.
Instances For
Dependency graph
The bottom-row symbol in the kernel's vocabulary.
Instances For
Dependency graph
The base-tile symbol in the kernel's vocabulary.
Instances For
Dependency graph
The start-tile symbol in the kernel's vocabulary.
Instances For
Dependency graph
The left-edge symbol in the kernel's vocabulary.
Instances For
Dependency graph
The right-edge symbol in the kernel's vocabulary.
Instances For
Dependency graph
The guessed tiling's symbol in the kernel's vocabulary.
Instances For
Dependency graph
The atoms, at an arbitrary index of free variables #
x is a position.
Equations
Instances For
Dependency graph
t is a tile.
Equations
Instances For
Dependency graph
t is an accepting tile.
Equations
Instances For
Dependency graph
x is at most y.
Equations
Instances For
Dependency graph
t' may stand immediately to the right of t.
Equations
Instances For
Dependency graph
t' may stand immediately above t.
Equations
Instances For
Dependency graph
The bottom row's cell in column x may carry t.
Equations
Instances For
Dependency graph
t is a base tile.
Equations
Instances For
Dependency graph
t is a start tile.
Equations
Instances For
Dependency graph
t may stand in the leftmost column.
Equations
Instances For
Dependency graph
t may stand in the rightmost column.
Equations
Instances For
Dependency graph
The cell in column x and row y carries the tile t.
Equations
Instances For
Dependency graph
x and y are the same element.
Equations
Instances For
Dependency graph
What the kernel says #
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The two order guards, as formulas #
y is the least position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
y is the greatest position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
x' is the position immediately above x.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The clauses of the kernel #
The order is linear and there is a position: the well-formedness the yes-instances fold in.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Every cell of the grid carries a tile of the instance.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A cell carries at most one tile.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The bottom row is one the description allows: the tiles it names in that column, or a base tile where it names none.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The leftmost column carries tiles allowed there.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
And the rightmost column those allowed there.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Horizontal neighbors are compatible.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Vertical neighbors are compatible.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Some cell of the grid carries an accepting tile.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The first-order kernel of the Σ₁ definition: the tiling the block
guesses is a tiling of the square, and the instance is well-formed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
What each clause says #
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The definition #
What the kernel says, at an assignment of the guessed tiling: the instance is well-formed and the guess is a tiling of the square, read as a relation.
Dependency graph
Tiling a square is Σ₁-definable: guess the tiling as one ternary
relation, and check first-order that it is one. Since NP is Σ₁-definability,
this is the membership half of the problem's completeness.