OAI/Computability/UniqueGames/Machines/MachineCeilingPower.lean
57 declarations, 0 contain sorry, 0 declared as axioms
- inductive
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Tapeline 15 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Tape.enumListline 19 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Tape.enumList_getElem?_ctorIdx_eqline 22 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Tape.enumList_nodupline 26 - instance
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.(instance at line 28)line 28 - inductive
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Labelline 32 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Label.enumListline 37 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Label.enumList_getElem?_ctorIdx_eqline 40 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Label.enumList_nodupline 44 - instance
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.(instance at line 46)line 46 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Alphabetline 50 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Stateline 51 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.memoryline 53 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.update_workline 63 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.update_powerline 66 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.update_savedline 69 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.update_levelline 72 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.update_fuelline 75 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.update_productline 78 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.compareLoopline 84 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.scaleLoopline 96Source documentation
Each input tally emits the fixed block of
gtallies. The delimiter starts the new power and the level is incremented by an actual push.def scaleLoop (g : Nat) : TM2.Stmt Alphabet Label (State σ) := …
Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.Label, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.State
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.programline 105 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.overflowline 128 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.compareStep_zeroline 130 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.compareStep_succ_zeroline 140 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.compareStep_succ_succline 150 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.compareTraceline 161Source documentation
The comparison is performed by actual finite-head transitions.
theorem compareTrace (g x p : Nat) (input saved level fuel spare product : List Bool) (ambient : σ) (flag : Bool) (register : Option Bool) : (advance (TM2.step (program g)))^[x + 1] (some ⟨some .compare, ((ambient, flag), register), memory input (encodeWord x) (encodeWord p) saved level fuel spare product⟩) = some ⟨some .restore, ((ambient, overflow flag x p), none), memory input [] (encodeWord (p - x)) (List.replicate (min x p) true ++ saved) level fuel spare product⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.memory, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.overflow
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.replicate_encodeWordline 186 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.compareRestoredTraceline 190 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.appendTraceline 211 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.scaleStep_succline 215 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.scaleStep_zeroline 226 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.scaleScanTraceline 236 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.scaleTraceline 256Source documentation
The fixed-coefficient unary multiplication is an actual scan and transfer; the level increment is one explicit push in the final scan transition.
theorem scaleTrace (g k p e : Nat) (fuel : List Bool) (ambient : σ) (register : Option Bool) : (advance (TM2.step (program g)))^[p + g * p + 2] (some ⟨some .scale, ((ambient, false), register), memory (encodeWord k) [] (encodeWord p) [] (encodeWord e) fuel [] []⟩) = some ⟨some .guard, ((ambient, false), none), memory (encodeWord k) [] (encodeWord (p * g)) [] (encodeWord (e + 1)) fuel [] []⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.memory, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.cleanupTraceline 278 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.guardStep_succline 289 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.guardStep_zeroline 300 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.decideStepline 311 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.prefixTimeline 323 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.prefixTraceline 327Source documentation
The loop prefix is an actual guard, preserving copy, comparison, restoration and finite decision, all in the same fixed program.
theorem prefixTrace (g k p e f : Nat) (ambient : σ) (register : Option Bool) : (advance (TM2.step (program g)))^[prefixTime k p] (some ⟨some .guard, ((ambient, false), register), memory (encodeWord k) [] (encodeWord p) [] (encodeWord e) (encodeWord (f + 1)) [] []⟩) = some ⟨some (if k ≤ p then Label.cleanup else Label.scale), ((ambient, false), none), memory (encodeWord k) [] (encodeWord p) [] (encodeWord e) (encodeWord f) [] []⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.prefixTime, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.memory, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.coreTimeline 354 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.coreTraceline 361Source documentation
The fixed machine realizes the exact previously checked bounded loop. Every initial fuel tally is either used or cleared before halting.
theorem coreTrace (g k f e p : Nat) (ambient : σ) (register : Option Bool) : (advance (TM2.step (program g)))^[coreTime g k f p] (some ⟨some .guard, ((ambient, false), register), memory (encodeWord k) [] (encodeWord p) [] (encodeWord e) (encodeWord f) [] []⟩) = some ⟨none, ((ambient, false), none), memory (encodeWord k) [] (encodeWord (PreprocessingLevels.levelLoop g k f e p).2) [] (encodeWord (PreprocessingLevels.levelLoop g k f e p).1) [] [] []⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.coreTime, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.memory, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.roundBudgetline 389 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.prefixTime_leline 391 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.prefixTime_le_roundBudgetline 396 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.continuingTime_leline 402 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.coreTime_leline 410 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.initStepline 435 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.totalTimeline 443 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.searchTraceline 447Source documentation
Initialization writes one and zero, copies the actual input to the fuel tape, and executes the proved loop. All auxiliary tapes are empty on exit.
theorem searchTrace (g k : Nat) (ambient : σ) (register : Option Bool) : (advance (TM2.step (program g)))^[totalTime g k] (some ⟨some .init, ((ambient, false), register), memory (encodeWord k) [] [] [] [] [] [] []⟩) = some ⟨none, ((ambient, false), none), memory (encodeWord k) [] (encodeWord (PreprocessingLevels.levelLoop g k k 0 1).2) [] (encodeWord (PreprocessingLevels.levelLoop g k k 0 1).1) [] [] []⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.totalTime, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.memory, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.timeBoundline 467 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.totalTime_leline 469 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.timePolynomialline 478Source documentation
The bound is one fixed quadratic polynomial in the actual unary input length. Its coefficient may depend on the fixed growth factor.
noncomputable def timePolynomial (g : Nat) : Polynomial Nat := …
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.timePolynomial_encodingline 481 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.paddingTraceline 487Source documentation
Instantiate the fixed program with the actual expander growth. This is the exact executable result already identified with the ceiling logarithm.
theorem paddingTrace (k : Nat) (ambient : σ) (register : Option Bool) : (advance (TM2.step (program ExpanderFamily.growth)))^[totalTime ExpanderFamily.growth k] (some ⟨some .init, ((ambient, false), register), memory (encodeWord k) [] [] [] [] [] [] []⟩) = some ⟨none, ((ambient, false), none), memory (encodeWord k) [] (encodeWord (PreprocessingLevels.paddedSize k)) [] (encodeWord (PreprocessingLevels.boundedLevel k)) [] [] []⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.totalTime, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.memory, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.paddingInTimeline 495 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCeilingPower.paddingOutput_boundsline 506