A regular-domain guard for binary CSLib machines #
The guard scans the read-only input with a DFA. Rejection halts with empty output. Acceptance rewinds the input and starts the original machine with untouched work tapes and output.
@[instance_reducible]
Equations
def
Complexity.CslibGuard.idle
{k : ℕ}
{σ Q : Type}
(q : Option (State σ Q))
(move : SignType)
:
Turing.Action k Bool (State σ Q)
Change control and input position without changing work tapes or output.
Equations
Instances For
noncomputable def
Complexity.CslibGuard.machine
{k : ℕ}
{σ Q : Type}
(M : Turing.MultiTapeTM k Bool Q)
(D : DFA Bool σ)
:
Turing.MultiTapeTM k Bool (State σ Q)
Validate a regular input format before executing a binary CSLib machine.
Equations
- One or more equations did not get rendered due to their size.