An accepting run tiles the emitted square #
The forward half of the hardness: the table of
DescriptiveComplexity.TilingHard.tileAt is a tiling of the square the
reduction emits. Each of the five conditions is one fact about the run –
- every cell carries a tile, because a head tile carries the transition the step fires and the machine's own promises say it applies;
- some cell carries an accepting tile, at the row of the accepting configuration;
- the bottom row is the initial tape, with the head at the corner;
- horizontal neighbors agree, because the head is unique and an arrival stands next to it;
- vertical neighbors agree, because a step writes under the head and leaves every other cell alone.
The address a coordinate of the emitted grid is.
Equations
- DescriptiveComplexity.TilingHard.addrOf (Sum.inl u) = fun (a : A) => u (DescriptiveComplexity.tpDig a)
- DescriptiveComplexity.TilingHard.addrOf (Sum.inr val) = fun (x : A) => False
Instances For
Dependency graph
Dependency graph
The table a run draws: the row of rank k is the configuration at time
k, and its cell at a column is the tile that configuration puts there.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Every cell carries a tile #
A head tile carries a transition the machine may fire, which is all
DescriptiveComplexity.TPTile asks of it; every other kind of tile asks
nothing.
Dependency graph
Some cell carries an accepting tile #
The accepting configuration's head cell carries an accepting tile: the run has stopped there, so the tile is the halt, and it carries the accepting state.
Dependency graph
One row becomes the next #
A cell the head is not on carries no head.
Dependency graph
After the last step the run stands still.
Dependency graph
A step moves the head, so the cell it leaves is not the cell it enters.
Dependency graph
A step writes under the head and leaves every other cell alone.
Dependency graph
The row above is the step's: the head's cell holds what the step wrote, the cell the head is entering becomes the head, and every other cell copies itself.
Dependency graph
Neighbors in one row #
A head or a halt tile stands where the head stands.
Dependency graph
A head tile is the head, with a step left to take.
Dependency graph
An arrival is the cell the head is entering, from the left when the transition moves right.
Dependency graph
The transition a head tile of the table carries is the one the step fires.
Dependency graph
The state an arrival of the table carries is the state the step reaches.
Dependency graph
The tag an arrival of the table carries names the side the head comes from.
Dependency graph
A transition moving right, read at the element it is.
Dependency graph
Neighboring cells of a row agree: the head is unique, so no two heads stand side by side; and the arrival next to it is on the side the transition moves, since the head moves to the neighbor in that direction.
Dependency graph
The bottom row is the initial tape #
The elements the bottom row is described at are the ones carrying input: a digit whose element has an input symbol, since a cell holding that symbol and no head is always a tile of the emitted instance.
Dependency graph
The cells of the emitted file are the machine's register cells: a
coordinate is a cell of the digit of x exactly when the address it is is the
machine's cell of x.
Dependency graph
The bottom row of the emitted tiling is the machine's initial tape: the cell of an element may carry a tile holding that element's input symbol, and no head.
Dependency graph
The empty address is no register cell, so the machine starts on a blank.
Dependency graph
The bottom row the table draws is one the description allows: the corner carries the machine's start – the head, on the blank cell it begins on – and every other column carries the input symbol of its element, or the blank where the description names none.
Dependency graph
The two edge columns #
The head never arrives from the left at the first cell: an arrival from the left is a step moving right into that cell, and nothing lies below the least position.
Dependency graph
And never from the right at the last cell: an arrival from the right is a step moving left into that cell, and nothing lies above the greatest position.
Dependency graph
The table is a tiling #
The tile the table puts at a coordinate of the emitted square, read at the machine's own address and time.
Dependency graph
An accepting run draws a tiling of the emitted square. Each of the five conditions is one fact about the run: every cell carries a tile because a head tile carries the transition the step fires; the bottom row is the initial tape; neighbors in a row agree because the head is unique; one row becomes the next because a step writes under the head and leaves every other cell alone; and the accepting configuration's own cell carries an accepting tile.
Dependency graph
An accepting run makes the emitted square tileable, which is the forward half of the hardness: the table the run draws is a tiling.