The compact configuration graph as counter-program expressions #
The local functions of the compact configuration graph
(Turing.MultiTapeNTM.ConfigurationGraph) are arithmetic in the input length, the vertex
identifiers and the one requested input symbol: radix digits are quotients and remainders, the
tape registers are ternary stacks, and the transition table is a fixed finite list. So each of them
is an expression of a counter program (Turing.CounterProgram.Expr), with Boolean values
represented by 0 and 1 and the input symbol by its ternary code symbolCode. This is how a
counter program computes the configuration graph of a fixed machine on its input, as the
logarithmic-space reduction to directed connectivity requires Sipser, Theorem 8.25.
The radix is itself an expression, such as Turing.MultiTapeNTM.ConfigurationGraph.radixExpr.
Main definitions #
Turing.MultiTapeNTM.ConfigurationGraph.vertexBoundExpr,Turing.MultiTapeNTM.ConfigurationGraph.startIDExpr,Turing.MultiTapeNTM.ConfigurationGraph.queryIndexExpr,Turing.MultiTapeNTM.ConfigurationGraph.edgeExpr,Turing.MultiTapeNTM.ConfigurationGraph.badExpr: the expressions.
Main results #
Turing.MultiTapeNTM.ConfigurationGraph.eval_vertexBoundExpr,Turing.MultiTapeNTM.ConfigurationGraph.eval_startIDExpr,Turing.MultiTapeNTM.ConfigurationGraph.eval_queryIndexExpr,Turing.MultiTapeNTM.ConfigurationGraph.eval_edgeExpr,Turing.MultiTapeNTM.ConfigurationGraph.eval_badExpr: their values.
References #
The radix (n + 2) ^ D.
Instances For
The number of vertices of the ambient graph.
Instances For
A register of a vertex.
Instances For
Pack registers in the radix B.
Instances For
Syntactic validity of a vertex.
Instances For
The code of the input symbol seen at the input position p, blank at the boundaries.
Instances For
The test that a vertex observes a fixed entry of the transition table.
Instances For
The registers after a tape action, as expressions in the head, left and right registers.
Instances For
The registers after a fixed action.
Instances For
The test that all registers fit below the radix.
Instances For
The guarded local edge test, with the input symbol given by its code.
Instances For
The edge expression computes the local edge test.
The test for accepting halted vertices.
Instances For
The start vertex.
Instances For
The requested input position.