Certified row systems and linearly bounded automata #
A CertifiedRowSystem describes a length-preserving relation on finite rows. A successor row is
certified one cell at a time by a finite left-to-right verifier. This file compiles every such
system to a nondeterministic LBA. The machine keeps two row tracks on the input-sized tape. It
guesses and verifies the inactive track in one sweep, and changes the active track only after the
whole certificate has been accepted.
The construction is useful for space-bound arguments whose configurations have already been packed
into a fixed number of logical slots per input cell: the packed cell is the row alphabet A, while
C contains the finite local annotation witnessing one simulated step.
A finite-state, cellwise-certified, length-preserving row transition system.
stepCell q old new cert is the verifier state after checking one aligned pair of cells. A row
step is valid when some certificate row makes the final verifier state satisfy stepDone.
finalCell and finalDone similarly specify the regular set of target rows.
- inputCell : I → A
- stepStart : Q
- stepCell : Q → A → A → C → Q
- stepDone : Q → Bool
- finalStart : F
- finalCell : F → A → F
- finalDone : F → Bool
Instances For
Run the step verifier on three aligned lists. A length mismatch rejects with none.
Equations
Instances For
The length-preserving row relation certified by evalStep.
Equations
Instances For
Run the finite-state target-row checker.
Equations
- S.evalFinal q row = List.foldl S.finalCell q row
Instances For
The nonempty input language obtained by row reachability from the cellwise input encoding.
Equations
Instances For
The compiled machine #
Canonical tapes and verifier prefixes #
Initialization #
Completeness of one certified sweep #
Completeness of the target-row sweep #
Completeness for semantic row paths #
Soundness infrastructure #
Correctness and the public compiler theorem #
Every finite certified row system is recognized by an input-sized nondeterministic LBA.