Documentation

DescriptiveComplexity.Problems.Wide.RegChannelTape

Starting a run at the register channel #

The two machines an instance describes – DescriptiveComplexity.wideData and DescriptiveComplexity.wideRegData – differ in one field, the channel, and it is read nowhere but in the initial tape: a step reads the transitions, the order and the positions and nothing else. So every run lemma of the library transfers by definition (wideRegData_step, wideRegData_reachesIn), and what has to be redone is the pair of statements at the two ends of a run.

They are the segment channel's own with two changes: the cell of x is wmRegSeg x, and only the elements that carry input have one. Where the segment channel says “every cell holds its element's symbol, every other address is blank”, the register channel says the same of the elements it writes for, and an address that is nobody's cell is blank as before.

The two machines take the same steps: a step reads the transitions, the order and the positions, and the channel is none of those.

Dependency graph

And the same bounded runs.

Dependency graph