Drawing the domino system of a machine #
The elements of the PCP instance the reduction from
DescriptiveComplexity.HALT writes, and what its relations are to say about
them – everything semantic, no formula in sight. The sibling Interp file
writes first-order formulas realizing exactly the predicates of this file, and
the Match file proves that an instance reading this way has a match exactly
when the machine accepts.
The universe #
An element is a tag with a 5-tuple of source elements
(DescriptiveComplexity.HaltPcp.PV); the dimension is set by the move
dominoes, whose rules of DescriptiveComplexity.HaltPcp.MRule are indexed by
up to five attribute values. Tags fall into three groups:
- letters – the alphabet
DescriptiveComplexity.Pcp.History.LetteroverDescriptiveComplexity.HaltPcp.TapeLetter, drawn byDescriptiveComplexity.HaltPcp.letterElem: one constant tag per constant letter, and a tag carrying one source element for the symbol and state letters; - positions – eight shared constants carrying the short words of every
domino, the interleaved page block
pairSym p < pairStar p < pairSym p' …carrying the input page of the start domino's bottom word, and four high constants closing it; - dominoes – one tag per shape of
DescriptiveComplexity.Pcp.History.Domat the rules of the machine, the rule dominoes carrying their attribute values in the tuple.
The word tables #
Every short word is a static list of letter specifications
(DescriptiveComplexity.HaltPcp.LSpec): each letter is a constant or is
indexed by one coordinate of the domino. uSpec/vSpec give the table of
each domino tag, and the letter relations PUAt/PVAt say exactly “the pair
(position, letter) is an entry of the zipped table” – one uniform definition,
one uniform sortedness argument, one uniform reading lemma, instead of one per
domino. Only the start domino's bottom word – the one word whose length grows
with the instance – has its own relation, StartBotAt.
The order #
One uniform lexicographic key orders the whole universe: the static block
index of the tag, then the first coordinate in the machine's own order –
which is what interleaves the page block correctly – then the static sub-index
(letter before star inside the page block), then the remaining coordinates in
the ambient order. On a well-formed machine this is a linear order on all of
PV A, junk included.
The tags #
The tags of the drawn PCP instance: letters, positions and dominoes.
- ltStar : PTag
The decoration letter.
- ltSep : PTag
The separator letter between configurations.
- ltTri : PTag
The letter opening a history.
- ltDia : PTag
The letter closing a match.
- ltLft : PTag
The left endmarker, as a letter.
- ltRgt : PTag
The right endmarker, as a letter.
- ltBoot : PTag
The boot letter.
- ltHalt : PTag
The halting letter.
- ltSym : PTag
A tape symbol, carrying its element.
- ltState : PTag
A state, carrying its element.
- pos0 : PTag
The eight shared positions of the short words.
- pos1 : PTag
- pos2 : PTag
- pos3 : PTag
- pos4 : PTag
- pos5 : PTag
- pos6 : PTag
- pos7 : PTag
- pairSym : PTag
The page block: the position carrying the input symbol of a source position.
- pairStar : PTag
The page block: the decoration position after a source position.
- hi0 : PTag
The four positions closing the start domino's bottom word.
- hi1 : PTag
- hi2 : PTag
- hi3 : PTag
- dStart : PTag
The start domino.
- dClose : PTag
The closing domino.
- dCopySep : PTag
The domino copying the separator.
- dCopyLft : PTag
The dominoes copying the constant letters of the alphabet.
- dCopyRgt : PTag
- dCopyBoot : PTag
- dCopyHalt : PTag
- dCopySym : PTag
The domino copying a tape symbol, carrying its element.
- dCopyState : PTag
The domino copying a state letter, carrying its element.
- dBoot : PTag
The boot rule, carrying its start state.
- dAcc : PTag
The halting rule, carrying its accepting state.
- dMoveR : PTag
The four move rules, carrying
(q, a, b, q', c)respectively(q, a, b, q', blank). - dMoveREnd : PTag
- dMoveL : PTag
- dMoveLEnd : PTag
- dEraseSymL : PTag
The four erasers, the symbol ones carrying their element.
- dEraseLft : PTag
- dEraseSymR : PTag
- dEraseRgt : PTag
Instances For
Dependency graph
Dependency graph
Dependency graph
Equations
- One or more equations did not get rendered due to their size.
Dependency graph
The block index of a tag: the primary key of the order of the universe. The page block is the only block shared by two tags.
Equations
- DescriptiveComplexity.HaltPcp.PTag.pos0.bIdx = 0
- DescriptiveComplexity.HaltPcp.PTag.pos1.bIdx = 1
- DescriptiveComplexity.HaltPcp.PTag.pos2.bIdx = 2
- DescriptiveComplexity.HaltPcp.PTag.pos3.bIdx = 3
- DescriptiveComplexity.HaltPcp.PTag.pos4.bIdx = 4
- DescriptiveComplexity.HaltPcp.PTag.pos5.bIdx = 5
- DescriptiveComplexity.HaltPcp.PTag.pos6.bIdx = 6
- DescriptiveComplexity.HaltPcp.PTag.pos7.bIdx = 7
- DescriptiveComplexity.HaltPcp.PTag.pairSym.bIdx = 8
- DescriptiveComplexity.HaltPcp.PTag.pairStar.bIdx = 8
- DescriptiveComplexity.HaltPcp.PTag.hi0.bIdx = 9
- DescriptiveComplexity.HaltPcp.PTag.hi1.bIdx = 10
- DescriptiveComplexity.HaltPcp.PTag.hi2.bIdx = 11
- DescriptiveComplexity.HaltPcp.PTag.hi3.bIdx = 12
- DescriptiveComplexity.HaltPcp.PTag.ltStar.bIdx = 13
- DescriptiveComplexity.HaltPcp.PTag.ltSep.bIdx = 14
- DescriptiveComplexity.HaltPcp.PTag.ltTri.bIdx = 15
- DescriptiveComplexity.HaltPcp.PTag.ltDia.bIdx = 16
- DescriptiveComplexity.HaltPcp.PTag.ltLft.bIdx = 17
- DescriptiveComplexity.HaltPcp.PTag.ltRgt.bIdx = 18
- DescriptiveComplexity.HaltPcp.PTag.ltBoot.bIdx = 19
- DescriptiveComplexity.HaltPcp.PTag.ltHalt.bIdx = 20
- DescriptiveComplexity.HaltPcp.PTag.ltSym.bIdx = 21
- DescriptiveComplexity.HaltPcp.PTag.ltState.bIdx = 22
- DescriptiveComplexity.HaltPcp.PTag.dStart.bIdx = 23
- DescriptiveComplexity.HaltPcp.PTag.dClose.bIdx = 24
- DescriptiveComplexity.HaltPcp.PTag.dCopySep.bIdx = 25
- DescriptiveComplexity.HaltPcp.PTag.dCopyLft.bIdx = 26
- DescriptiveComplexity.HaltPcp.PTag.dCopyRgt.bIdx = 27
- DescriptiveComplexity.HaltPcp.PTag.dCopyBoot.bIdx = 28
- DescriptiveComplexity.HaltPcp.PTag.dCopyHalt.bIdx = 29
- DescriptiveComplexity.HaltPcp.PTag.dCopySym.bIdx = 30
- DescriptiveComplexity.HaltPcp.PTag.dCopyState.bIdx = 31
- DescriptiveComplexity.HaltPcp.PTag.dBoot.bIdx = 32
- DescriptiveComplexity.HaltPcp.PTag.dAcc.bIdx = 33
- DescriptiveComplexity.HaltPcp.PTag.dMoveR.bIdx = 34
- DescriptiveComplexity.HaltPcp.PTag.dMoveREnd.bIdx = 35
- DescriptiveComplexity.HaltPcp.PTag.dMoveL.bIdx = 36
- DescriptiveComplexity.HaltPcp.PTag.dMoveLEnd.bIdx = 37
- DescriptiveComplexity.HaltPcp.PTag.dEraseSymL.bIdx = 38
- DescriptiveComplexity.HaltPcp.PTag.dEraseLft.bIdx = 39
- DescriptiveComplexity.HaltPcp.PTag.dEraseSymR.bIdx = 40
- DescriptiveComplexity.HaltPcp.PTag.dEraseRgt.bIdx = 41
Instances For
Dependency graph
The sub-index inside a block: the input symbol comes before the decoration that follows it.
Equations
Instances For
Dependency graph
The pair of indices identifies the tag.
Dependency graph
The universe and its distinguished elements #
The universe of the drawn instance: a tag and a 5-tuple of source
elements.
Equations
Instances For
Dependency graph
The least source element, the padding of the unused coordinates.
Equations
Instances For
Dependency graph
Dependency graph
An element is minimal exactly when it is the least element.
Dependency graph
The constant element of a tag.
Equations
- DescriptiveComplexity.HaltPcp.cstE t = (t, fun (x : Fin 5) => DescriptiveComplexity.HaltPcp.pbot)
Instances For
Dependency graph
The element of a tag carrying one source element.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The image of a letter of the domino alphabet.
Equations
- One or more equations did not get rendered due to their size.
- DescriptiveComplexity.HaltPcp.letterElem DescriptiveComplexity.Pcp.History.Letter.star = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.ltStar
- DescriptiveComplexity.HaltPcp.letterElem DescriptiveComplexity.Pcp.History.Letter.sep = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.ltSep
- DescriptiveComplexity.HaltPcp.letterElem DescriptiveComplexity.Pcp.History.Letter.tri = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.ltTri
- DescriptiveComplexity.HaltPcp.letterElem DescriptiveComplexity.Pcp.History.Letter.dia = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.ltDia
Instances For
Dependency graph
The letter map is injective: distinct letters are distinct elements.
Dependency graph
The order of the universe #
One lexicographic key: the static block index, the first coordinate in the machine's order, the static sub-index, the remaining coordinates in the ambient order.
Strictly below, in the machine's order.
Equations
- DescriptiveComplexity.HaltPcp.MLt a b = (DescriptiveComplexity.TMLe a b ∧ a ≠ b)
Instances For
Dependency graph
The ambient lexicographic order on the last four coordinates.
Equations
Instances For
Dependency graph
The order of the drawn instance: block index, first coordinate in the machine's order, sub-index, remaining coordinates. On a well-formed machine this is a linear order on the whole universe.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The strict part of the order of the drawn instance.
Equations
- DescriptiveComplexity.HaltPcp.PLt x y = (DescriptiveComplexity.HaltPcp.PLe x y ∧ x ≠ y)
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
On a well-formed machine, the order of the drawn instance is transitive.
Dependency graph
On a well-formed machine, the order of the drawn instance is antisymmetric.
Dependency graph
On a well-formed machine, the order of the drawn instance is total.
Dependency graph
A block-index gap is a strict comparison, whatever the tuples.
Dependency graph
The word tables #
A letter of a short word: a constant, or a letter carrying one coordinate of its domino.
- cst : PTag → LSpec
A constant letter.
- idx : PTag → Fin 5 → LSpec
A letter carrying the given coordinate of the domino.
Instances For
Dependency graph
The letter an entry of the table stands for, at a domino's tuple.
Equations
Instances For
Dependency graph
The eight shared positions of the short words.
Equations
- DescriptiveComplexity.HaltPcp.posE 0 = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.pos0
- DescriptiveComplexity.HaltPcp.posE 1 = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.pos1
- DescriptiveComplexity.HaltPcp.posE 2 = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.pos2
- DescriptiveComplexity.HaltPcp.posE 3 = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.pos3
- DescriptiveComplexity.HaltPcp.posE 4 = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.pos4
- DescriptiveComplexity.HaltPcp.posE 5 = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.pos5
- DescriptiveComplexity.HaltPcp.posE 6 = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.pos6
- DescriptiveComplexity.HaltPcp.posE x✝ = DescriptiveComplexity.HaltPcp.cstE DescriptiveComplexity.HaltPcp.PTag.pos7
Instances For
Dependency graph
The first n of the shared positions, in order.
Equations
Instances For
Dependency graph
The top words, as tables: the decorated left-hand sides of the rules, and the tops of the bookkeeping dominoes.
Equations
- One or more equations did not get rendered due to their size.
- DescriptiveComplexity.HaltPcp.uSpec x✝ = []
Instances For
Dependency graph
The bottom words, as tables – all but the start domino's, which has its own layout.
Equations
- One or more equations did not get rendered due to their size.
- DescriptiveComplexity.HaltPcp.vSpec DescriptiveComplexity.HaltPcp.PTag.dClose = [DescriptiveComplexity.HaltPcp.LSpec.cst DescriptiveComplexity.HaltPcp.PTag.ltDia]
- DescriptiveComplexity.HaltPcp.vSpec x✝ = []
Instances For
Dependency graph
The top word of a domino element.
Equations
Instances For
Dependency graph
The bottom word of a domino element other than the start domino.
Equations
Instances For
Dependency graph
The top letter relation: the pair is an entry of the zipped table.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The bottom word of the start domino: seven low constants, the interleaved page block carrying the input, four high constants.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The bottom letter relation: the start domino reads its own layout, every other domino its table.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The dominoes #
The side condition a domino tag places on its tuple: the promises of the rule it stands for.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Being a domino of the drawn instance: the machine is well-formed and the tag's side condition holds.
Equations
Instances For
Dependency graph
The abstract domino an element stands for.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A domino element stands for a legitimate domino of the machine's system.
Dependency graph
The top table of a domino element is the decorated top word of the domino it stands for.
Dependency graph
The bottom table of a domino element other than the start domino is the decorated bottom word of the domino it stands for; the start word of the system is irrelevant to those.
Dependency graph
Every legitimate domino is drawn: an element with the right guard stands for it.
Dependency graph
The positions, in order #
The block index of a shared position is its number.
Dependency graph
The shared positions are strictly increasing.
Dependency graph
The page block of the start domino's bottom word: the input position and its decoration, per source position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The positions of the start domino's bottom word.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The letters of the page block: the input symbol and the decoration.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The letters of the start domino's bottom word.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Members of the page block are page positions over members of the list.
Dependency graph
The page block is strictly increasing along a sorted list of positions.
Dependency graph
The whole position list of the start domino's bottom word is strictly increasing.
Dependency graph
The decorated page, letter by letter.
Dependency graph
The drawn page, letter by letter.
Dependency graph
The letters of the start domino's bottom word are the drawn bottom word of the abstract start domino.