The simulating machine as rewriting, and the transport to a drawn machine #
Two bridges. The first identifies runs of the zipper semantics
(DescriptiveComplexity.HaltHard.lstep) with derivations of the rewriting
system DescriptiveComplexity.HaltPcp.MRule of the machine packaged as a
DescriptiveComplexity.TMData (DescriptiveComplexity.HaltHard.simTM, over
the three-block universe DescriptiveComplexity.HaltHard.SimU – states,
symbols, and one transition per applicable state–symbol pair; the machine is
deterministic, so the pair is the transition). A zipper configuration is a
configuration word (DescriptiveComplexity.HaltHard.wordOf), one lstep is
one rewriting step, and the boot and halting phases close the two ends:
DescriptiveComplexity.HaltHard.derives_startWord_iff_evalDom states the
result directly against Turing.ToPartrec.Cont.eval, through
DescriptiveComplexity.HaltHard.reach_acc_iff_evalDom.
The second bridge is the rule-correspondence transport: a machine whose
predicates are the images of simTM's along an injection
(DescriptiveComplexity.HaltHard.TMEmbed – the shape of the machine the
interpretation of Interp.lean draws, whose universe also carries the tape
positions and the junk) derives the halting word from an image word exactly
when simTM does from its preimage
(DescriptiveComplexity.HaltHard.TMEmbed.derives_halt_iff). Together with
DescriptiveComplexity.HaltPcp.acceptsU_iff_derives on the drawn side, this
turns DescriptiveComplexity.TMData.AcceptsU of the drawn machine into
termination of the abstract evaluation, with no tape-function bookkeeping.
The universe of the simulating machine #
The universe of the simulating machine as a DescriptiveComplexity.TMData:
states, symbols, and one transition per state–symbol pair the table acts on.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A state, as an element of the machine universe.
Equations
Instances For
Dependency graph
A symbol, as an element of the machine universe.
Equations
Instances For
Dependency graph
A transition – a state–symbol pair – as an element of the machine universe.
Equations
Instances For
Dependency graph
The simulating machine as machine data: one transition per pair on
which the table acts, its attributes read off simStep. The position block
is empty – the rewriting system of a machine never mentions positions, and
the bridge to a drawn machine goes through words alone.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Zipper configurations as words #
The symbol letters of a run of tape letters.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The word of a zipper configuration: the recorded cells left to right between the endmarkers, the state letter wedged before the head's cell.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Locating the unique marked letter #
Splitting a list at a marked letter when the reference decomposition has none on either side: the two decompositions coincide.
Dependency graph
Being a state letter.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Splitting the word of a configuration at a state letter: the state letter is the configuration's, and the two sides are its two half-tapes.
Dependency graph
Decoding the attributes of a transition #
The attribute values of a transition of simTM all decode through one
application of the table, and its direction is the Right predicate.
Dependency graph
One machine step is one rewriting step #
Forward: one zipper step rewrites the word by one move rule.
Dependency graph
Backward: a rewriting step from a configuration word either performs the configuration's own machine step, or fires the halting rule – in which case the configuration accepts.
Dependency graph
Whole runs #
A run of the machine is a derivation between the two words.
Dependency graph
From an accepting configuration the derivation closes: the state letter becomes the halting letter, which swallows the rest of the word.
Dependency graph
Backward: a derivation of the halting word from a configuration word yields an accepting run of the machine.
Dependency graph
The boot phase, and the abstract statement #
Derivability from the start word is machine acceptance, at the zipper: the first step of any derivation is the boot rule, and boot lands the machine in the resting state at the left end of the spelled tape.
Dependency graph
The abstract bridge: the rewriting system of the simulating machine
derives the halting word from the spelled resting configuration of k and
v exactly when the abstract evaluation of k on v terminates.
Dependency graph
Transport along an injection #
The machine the interpretation draws has the same states, symbols and transitions, embedded in a larger universe that also carries the tape positions and the junk. Its predicates are the images of the abstract ones, and derivations of the halting word correspond exactly.
Mapping the machine elements of a tape letter.
Equations
- DescriptiveComplexity.HaltPcp.TapeLetter.map f DescriptiveComplexity.HaltPcp.TapeLetter.lft = DescriptiveComplexity.HaltPcp.TapeLetter.lft
- DescriptiveComplexity.HaltPcp.TapeLetter.map f DescriptiveComplexity.HaltPcp.TapeLetter.rgt = DescriptiveComplexity.HaltPcp.TapeLetter.rgt
- DescriptiveComplexity.HaltPcp.TapeLetter.map f DescriptiveComplexity.HaltPcp.TapeLetter.boot = DescriptiveComplexity.HaltPcp.TapeLetter.boot
- DescriptiveComplexity.HaltPcp.TapeLetter.map f DescriptiveComplexity.HaltPcp.TapeLetter.halt = DescriptiveComplexity.HaltPcp.TapeLetter.halt
- DescriptiveComplexity.HaltPcp.TapeLetter.map f (DescriptiveComplexity.HaltPcp.TapeLetter.sym a) = DescriptiveComplexity.HaltPcp.TapeLetter.sym (f a)
- DescriptiveComplexity.HaltPcp.TapeLetter.map f (DescriptiveComplexity.HaltPcp.TapeLetter.state a) = DescriptiveComplexity.HaltPcp.TapeLetter.state (f a)
Instances For
Dependency graph
A machine embedded in a larger universe: an injection under which every predicate of the target is the image of the corresponding predicate of the source.
- inj : Function.Injective f
The embedding is injective.
Transitions correspond.
Start states correspond.
Accepting states correspond.
Blanks correspond.
Directions correspond.
Source states correspond.
Read symbols correspond.
Destination states correspond.
Written symbols correspond.
Instances For
Dependency graph
The start word is mapped letterwise.
Dependency graph
Forward transport of a rule.
Dependency graph
Decomposing image words #
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Backward transport of a rule: a target rule whose left side is an image has an image right side, and comes from a source rule.
Dependency graph
Forward transport of a rewriting step.
Dependency graph
Backward transport of a rewriting step: from an image word, every step lands on an image word, by the image step.
Dependency graph
Forward transport of a derivation.
Dependency graph
Backward transport of a derivation of the halting word.
Dependency graph
Derivations of the halting word transport along an embedding.
Dependency graph
The whole bridge, for a drawn machine: a machine whose predicates are
the images of simTM's derives the halting word from the image of the
spelled resting configuration exactly when the abstract evaluation
terminates.