OAI/Computability/UniqueGames/Reduction/MachineFieldTemplate.lean
35 declarations, 0 contain sorry, 0 declared as axioms
- inductive
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Tokenline 17 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.tokenOutputline 22 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.templateOutputline 26 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.tokenStepsline 29 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.workStepsline 33 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.templateStepsline 36 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.copiedLengthline 39 - inductive
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Labelline 42 - abbrev
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Stateline 50 - abbrev
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Alphabetline 51 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.resetline 53 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.reset_resetline 55 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.startAtline 57 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.jumpline 60 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.identityEmitline 65 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.instructionline 69Source documentation
Local finite labels are placed in an arbitrary caller label space, with an explicit continuation. Every instruction is determined by the fixed template.
def instruction (tokens : List (Token q)) (field : Fin q → K) (scratch output : K) (place : Label tokens.length → Λ) (exit : Option Λ) : Label tokens.length → TM2.Stmt (Alphabet (K := K)) Λ (State σ) …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Token, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Label, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Alphabet, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.State
- def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.programline 89Source documentation
A standalone local program, also usable with a local continuation.
def program (tokens : List (Token q)) (field : Fin q → K) (scratch output : K) (exit : Option (Label tokens.length)) : Label tokens.length → TM2.Stmt (Alphabet (K := K)) (Label tokens.length) (State σ) := …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Token, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Label, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Alphabet, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.State
- def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.outputTapesline 96 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.outputTapes_selfline 99 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.outputTapes_outputline 102 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.outputTapes_otherline 105 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.outputTapes_appendline 109 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.fieldValues_outputTapesline 114 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.identity_outputline 120 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.chainline 126 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.doneStepline 142 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.literalStepline 149 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.copySetupStepline 160 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.copyTraceline 170 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.tokenTraceline 193 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.suffixTraceline 210 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.phaseTraceline 256Source documentation
The complete phase is derived from concrete instruction traces. The code placement premise identifies instructions; it assumes no whole-phase run.
theorem phaseTrace (base : K → List Bool) (scratchEmpty : base scratch = []) (state : State σ) : (MachineComposition.advance (TM2.step P))^[templateSteps tokens (fun j => base (field j))] (some ⟨some (place (startAt tokens.length 0)), state, base⟩) = some ⟨exit, reset state, outputTapes base output (templateOutput tokens (fun j => base (field j)))⟩ := by …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.State, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.templateSteps, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.startAt, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.reset, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.outputTapes, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.templateOutput
- theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.programTraceline 270Source documentation
Direct execution of the emitted local finite program; its instructions are discharged by construction rather than supplied by the caller.
theorem programTrace (tokens : List (Token q)) (field : Fin q → K) (scratch output : K) (fieldScratch : ∀ j, field j ≠ scratch) (fieldOutput : ∀ j, field j ≠ output) (scratchOutput : scratch ≠ output) (exit : Option (Label tokens.length)) (base : K → List Bool) (scratchEmpty : base scratch = []) (state : State σ) : (MachineComposition.advance (TM2.step (program tokens field scratch output exit)))^[ templateSteps tokens (fun j => base (field j))] (some ⟨some (startAt tokens.length 0), state, base⟩) = some ⟨exit, reset state, outputTapes base output (templateOutput tokens (fun j => base (field j)))⟩ := …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Token, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Label, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.State, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.program, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.templateSteps, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.startAt, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.reset, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.outputTapes, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.templateOutput
- theorem
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.templateSteps_leline 282 - def
OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.phaseInTimeline 295