OAI/Computability/UniqueGames/PCP/Body.lean
22 declarations, 0 contain sorry, 0 declared as axioms
One actual iteration of the alphabet-table driver. The positive unary guard,
row parser, preserving head lookup, comparison, finite emission plan, three
drains, and unary index increment all execute inside Driver.program.
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.bodyTimeline 20 - structure
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.RowStepResultline 24Source documentation
An execution witness, with the exact invariant needed by the next guard.
structure RowStepResult (input : GenericGraphTables.Table q) (e : Fin input.darts) (base : Tape → List Bool) (oldRelation : GenericGraphTables.RelationTable q) (oldFlag : Bool) where …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.RelationTable
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.guardTapesline 34 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.parsedTapesline 38 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.workingTapesline 43 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.emittedTapesline 47 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.clearFieldsTapesline 52 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.resultTapesline 56Source documentation
Exact final tapes, including the lookup's retained scan suffixes.
def resultTapes (input : GenericGraphTables.Table q) (e : Fin input.darts) (base : Tape → List Bool) : Tape → List Bool := …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.workingTapes_otherline 61 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.workingTapes_counterline 71 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.workingTapes_cursorline 77 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.workingTapes_tailline 83 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.workingTapes_reverseline 89 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.workingTapes_headline 95 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.clearFieldsInTimeline 103Source documentation
The three cleanup phases are actual drains in the concrete program.
def clearFieldsInTime (base : Tape → List Bool) (ambient : Ambient q) : StateTransition.EvalsToInTime (TM2.step (Driver.program q)) ⟨some (.clearField 0), (ambient, none), base⟩ (some ⟨some .increment, (ambient, none), clearFieldsTapes base⟩) ((base .tail).length + (base .reverseIndex).length + (base .head).length + 3) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.program, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.clearFieldsTapes
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.incrementInTimeline 125 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.emitterView_atline 140 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.context_rowStateline 150 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.emitInTimeline 160Source documentation
Execute the actual emitted row block through the finite register equivalence.
def emitInTime (input : GenericGraphTables.Table q) (e : Fin input.darts) (base : Tape → List Bool) (operands : ∀ i, base (rowSources i) = encodeWord (EmitRows.rowValues input e i)) (scratchEmpty : base .scratch = []) : StateTransition.EvalsToInTime (TM2.step (Driver.program q)) ⟨some (Driver.rowEntry q), CompareLoop.rowState input e, base⟩ (some ⟨some (.clearField 0), CompareLoop.rowState input e, Emitter.resultTapes .reversed base (encodeWords (EmitRows.blockWords input e))⟩) (Enumeration.localCount q * (6 * (2 * 4104)) * (3 * ((LoopState.inputBits input).length + 1) + 3) + 1) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.EmitRows.rowValues, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.program, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Driver.rowEntry, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.CompareLoop.rowState, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Emitter.resultTapes, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.EmitRows.blockWords, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.localCount, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.LoopState.inputBits
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.result_readyline 198 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.workingOperandsline 209 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.rowStepline 221Source documentation
Execute a whole row iteration from the exact guard invariant. Every run below is obtained from the concrete code at its component labels.
def rowStep (input : GenericGraphTables.Table q) (e : Fin input.darts) (base : Tape → List Bool) (ready : LoopState.Ready input e.val base) (oldRelation : GenericGraphTables.RelationTable q) (oldFlag : Bool) : RowStepResult input e base oldRelation oldFlag := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.LoopState.Ready, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.RelationTable, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Body.RowStepResult