Compact configuration graph: local arithmetic #
The graph stores no input word. A vertex is a fixed tuple of natural registers packed in a radix
B: the input position, control, output summary, and three registers per work tape. Logarithmic
space uses the radix (n+2)^D (Turing.MultiTapeNTM.ConfigurationGraph.radix); larger space
bounds use larger radices.
An edge consults at most the input bit at queryIndex; the supplied symbol is ignored at the
blank boundaries. The transition table is fixed independently of n.
Every edge checks both vertex bounds, the semantic tag ranges and successor-register overflow. The three output tags mean empty, exactly true, and permanently rejecting. In particular, an emission after either nonempty output tag gives the rejecting tag.
Main definitions #
Turing.MultiTapeNTM.ConfigurationGraph.vertexID: pack the input-free view.Turing.MultiTapeNTM.ConfigurationGraph.vertexWidth: the number of bits of a vertex ID.Turing.MultiTapeNTM.ConfigurationGraph.queryIndex: the only requested input-bit position.Turing.MultiTapeNTM.ConfigurationGraph.edgeWithSymbol: guarded local edge query.Turing.MultiTapeNTM.ConfigurationGraph.bad: accepting halted vertices.Turing.MultiTapeNTM.ConfigurationGraph.overflow: vertices whose source step leaves the radix.
References #
Empty output is zero; the singleton true is one; everything else is rejecting.
Instances For
The radix (n+2)^D used in logarithmic space, with an exponent fixed with the source machine
and its space constant.
Instances For
Number of vertices in the ambient graph of radix B, including invalid IDs.
Instances For
The number of bits of a vertex of the graph of radix B: every vertex ID is below
2 ^ vertexWidth k B.
Instances For
Every vertex ID of the graph of radix B fits in vertexWidth k B bits.
The input bit to request, in the native zero-based word indexing. Boundary requests are
ignored by inputSymbol; the right boundary may request the absent bit at n.
Instances For
Clamped movement of the input head, computed on its binary position.
Instances For
One entry in the machine's fixed finite transition table.
Instances For
The finite table is selected once from the source transition relation. Its selection need not be uniform in the machine; no runtime input influences this table.
Instances For
One actual input read suffices for this edge predicate. The work is arithmetic on the short stored arguments and a fixed finite transition table.
Instances For
Vertices with a matching transition whose successor overflows the radix. These are the
represented views from which the source leaves the graph of radix B.
Instances For
The start vertex depends only on the radix, since initial storage is blank.
Instances For
The graph on an actual input; it reads no other bit than queryIndex.
Instances For
The overflow test on an actual input, reading the bit at queryIndex.