OAI/Computability/UniqueGames/Machines/MachineSubdivisionTableRead.lean
16 declarations, 0 contain sorry, 0 declared as axioms
Actual execution of the subdivision controller's full-table reader. The reader consumes exactly the fixed number of zero-delimited table entries, retains the unread input suffix, and reverses the saved table into forward order. No table entry is stored in finite control; only the number of delimiters is.
- def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.tapesline 22 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.tapes_inputline 25 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.tapes_reverseline 28 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.update_inputline 31 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.update_reverseline 37 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.step_trueline 43 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.step_falseline 53 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.readWordTraceline 65Source documentation
One encoded entry consumes its final delimiter in the same transition that increments the finite completed-entry counter.
theorem readWordTrace (q : Nat) (completed : Fin (q + 1)) (valid : completed.val < q) (base : Tape → List Bool) (value : Nat) (input reversed : List Bool) (ambient : Unit × Unit) (register : Option Bool) : (MachineComposition.advance (TM2.step (program q)))^[value + 1] (some ⟨some (.readTable completed), (ambient, register), tapes base (encodeWord value ++ input) reversed⟩) = some ⟨some (.readTable ⟨completed.val + 1, by omega⟩), (ambient, none), tapes base input ((encodeWord value).reverse ++ reversed)⟩ := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.tapes
- theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.readWordsTraceline 87Source documentation
Read a suffix of the q-entry table, stopping before any following data.
theorem readWordsTrace (q : Nat) (words : List Nat) (completed : Fin (q + 1)) (complete : completed.val + words.length = q) (base : Tape → List Bool) (suffix reversed : List Bool) (ambient : Unit × Unit) (register : Option Bool) : (MachineComposition.advance (TM2.step (program q)))^[(encodeWords words).length + 1] (some ⟨some (.readTable completed), (ambient, register), tapes base (encodeWords words ++ suffix) reversed⟩) = some ⟨some .reverseTable, (ambient, none), tapes base suffix ((encodeWords words).reverse ++ reversed)⟩ := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.tapes
- def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.finalTapesline 117 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.finalTapes_otherline 120 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.finalTapes_inputline 125 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.finalTapes_reverseline 128 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.finalTapes_permutationline 131 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.tableTraceline 136Source documentation
Full exact table phase: read q delimited entries and reverse the physical saved stack, arriving at the actual row-emission label.
theorem tableTrace (q : Nat) (words : List Nat) (length : words.length = q) (base : Tape → List Bool) (suffix : List Bool) (ambient : Unit × Unit) (register : Option Bool) : (MachineComposition.advance (TM2.step (program q)))^[2 * (encodeWords words).length + 2] (some ⟨some (.readTable 0), (ambient, register), tapes base (encodeWords words ++ suffix) []⟩) = some ⟨some (rowEntry q), (ambient, none), finalTapes base suffix (encodeWords words)⟩ := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.tapes, OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.finalTapes
- def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.tableInTimeline 165Source documentation
Timed witness for the actual controller, with a fixed alphabet-dependent bound on its full forward table. Other row fields and unread input are preserved.
def tableInTime {q : Nat} (table : Target.PermutationTable q) (base : Tape → List Bool) (suffix : List Bool) (ambient : Unit × Unit) (register : Option Bool) : StateTransition.EvalsToInTime (TM2.step (program q)) ⟨some (.readTable 0), (ambient, register), tapes base (encodeWords (tableWords table) ++ suffix) []⟩ (some ⟨some (rowEntry q), (ambient, none), finalTapes base suffix (encodeWords (tableWords table))⟩) (2 * (q * (q + 1)) + 2) where …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.tapes, OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionTableRead.finalTapes