The tag-branched machinery's run #
The run theorem of DescriptiveComplexity.Draw.tagRule: the witness reads
store the argument points' tags one-hot into the control, the branch
checkpoint dispatches on the decoded tuple – its guard TagsAre holding at
exactly one tag tuple – and that tuple's element loop runs to the shared exit
phase by DescriptiveComplexity.Draw.elem_reachesIn.
The run comes with its cost (tag_reachesIn): the chain's reads at the
trip width the caller fixes, the branch's dispatch and walk back, and the
loop's own count. tag_run is it with the budget forgotten, at the width every
trip has anyway.
As in the element loop's run, the machinery is entered at its first phase
on the marker (the caller's dispatch steps right and
DescriptiveComplexity.Draw.tag_back walks back down), and it leaves through
the loop's exit dispatch one cell to the marker's right.
The phase before the k-th witness read – the branch checkpoint once
they are exhausted.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The one leftward step a caller's rightward dispatch into the machinery owes: at its first phase, the walk back down to the marker.
Dependency graph
The tag-branched machinery's run, on a clock: from its first phase at the marker – the witness chain, the branch on the decoded tag tuple, and that tuple's element loop – to the exit phase one cell to the marker's right, at the chain's reads, the branch's two steps and the loop's own cost.
Dependency graph
The tag-branched machinery's run, the budget forgotten: what a space-bounded caller reads, at the width every trip has anyway.