OAI/Computability/UniqueGames/PCP/DriverLemmas.lean
27 declarations, 0 contain sorry, 0 declared as axioms
The actual final driver phases: reverse the accumulated output, drain all
fifteen nonoutput stacks, reset the finite state, and reach haltList.
Polynomial resource bounds below require an actual preceding execution.
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.headerPlanline 17 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.rowPlanline 18 - inductive
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.Labelline 20 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.headerEntryline 32 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.rowEntryline 35 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.clearNextline 38 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.programline 41 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.machineline 77Source documentation
Every state component is finite; the q-dependent relation register is enumerated by the explicit vector/function equivalence of the parser.
def machine (q : Nat) : FinTM2 := by …
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.program_setupline 90 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.program_guardline 94 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.program_headLookupline 97 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.program_compareline 101 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.program_incrementline 104 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.afterReversalline 119 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.afterReversal_outputline 122 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.afterReversal_reversedline 126 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.finishBudgetline 130 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.reverseInTimeline 134Source documentation
The actual driver's reversal loop enters its first cleanup label.
def reverseInTime (q : Nat) (base : Tape → List Bool) (word : List Bool) (state : State q) (hreversed : base .reversed = word.reverse) (houtput : base .output = []) : StateTransition.EvalsToInTime (Driver.machine q).step ⟨some .reverseOutput, state, base⟩ (some ⟨some (.cleanup 0), (state.1, none), afterReversal base word⟩) (word.length + 1) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.machine, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.afterReversal
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.cleared_eq_haltListline 148 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.cleanupInTimeline 157Source documentation
All remaining driver stacks are actually popped, and the exact initial finite state is restored before the halting configuration is reached.
def cleanupInTime (q : Nat) (base : Tape → List Bool) (state : State q) : StateTransition.EvalsToInTime (Driver.machine q).step ⟨some (.cleanup 0), state, base⟩ (some (haltList (Driver.machine q) (base .output))) ((∑ i : Fin 15, (base (cleanupPorts i)).length) + 16) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.machine
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.finishInTimeline 173 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.afterReversal_selected_length_leline 194 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.stackLength_after_prefixline 202Source documentation
Every stack bound here is derived from the actual preceding driver trace.
theorem stackLength_after_prefix (q : Nat) (input : List Bool) (base : Tape → List Bool) (state : State q) (budget : Nat) (prefixRun : StateTransition.EvalsToInTime (Driver.machine q).step (initList (Driver.machine q) input) (some ⟨some .reverseOutput, state, base⟩) budget) (k : Tape) : (base k).length ≤ input.length + budget * Runtime.programPushBound (Driver.machine q) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.machine
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.finishBudget_le_of_prefixline 214 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.completedPolynomialline 238Source documentation
A polynomial time allowance for the whole prefixRun followed by actual reversal and cleanup. The fixed push bound belongs to the concrete driver.
noncomputable def completedPolynomial (q : Nat) (prefixTime : Polynomial Nat) : Polynomial Nat := …
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.finishAfterPrefixline 243 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Finish.finishAfterPolynomialPrefixline 259