OAI/Computability/MaxCut/Machines/MachineCloudCount.lean
118 declarations, 0 contain sorry, 0 declared as axioms
- inductive
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Tapeline 11 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Tape.enumListline 15 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Tape.enumList_getElem?_ctorIdx_eqline 18 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Tape.enumList_nodupline 22 - instance
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.(instance at line 24)line 24 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Alphabetline 28 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Stateline 29 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.memoryline 31 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.memory_originalline 39 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.memory_workline 41 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.memory_targetline 43 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.memory_scratchline 45 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.memory_countline 47 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.memory_spareline 49 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.update_memory_workline 52 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.update_memory_targetline 56 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.update_memory_scratchline 60 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.update_memory_countline 64 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.finishFieldline 71 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.fieldLoopline 74 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.hitline 89Source documentation
Specification only: equality of the original natural values, unless an earlier step has already detected overflow.
def hit (flag : Bool) (x v : Nat) : Nat := if flag = false ∧ x = v then 1 else 0
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.fieldStep_zeroline 91 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.fieldStep_succ_zeroline 108 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.fieldStep_succ_succline 124 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.fieldTraceline 142Source documentation
The actual field-reading trace. The scratch holds exactly the consumed target bits, and the output increment records equality of the complete field.
theorem fieldTrace (again restore : Λ) (program : Λ → TM2.Stmt Alphabet Λ (State σ)) (atField : program again = fieldLoop again restore) (original suffix targetSuffix spare : List Bool) (x v : Nat) (scratch count : List Bool) (ambient : σ) (flag : Bool) (register : Option Bool) : (advance (TM2.step program))^[x + 1] (some ⟨some again, ((ambient, flag), register), memory original (encodeWord x ++ suffix) (encodeWord v ++ targetSuffix) scratch count spare⟩) = some ⟨some restore, ((ambient, false), none), memory original suffix (encodeWord (v - x) ++ targetSuffix) (List.replicate (min x v) true ++ scratch) …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.program, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Alphabet, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.State, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.fieldLoop, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.memory, OAI.MaxCutGames.Foundations.Complexity.encodeWord
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.replicate_encodeWordline 176 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.preservingFieldTraceline 181Source documentation
The actual restoring transfer returns every consumed target bit.
theorem preservingFieldTrace (again restore next : Λ) (program : Λ → TM2.Stmt Alphabet Λ (State σ)) (atField : program again = fieldLoop again restore) (atRestore : program restore = Reduction.MachineTransfer.loopAt .scratch .target id false restore (some next)) (original suffix targetSuffix count spare : List Bool) (x v : Nat) (ambient : σ) (register : Option Bool) : (advance (TM2.step program))^[x + min x v + 2] (some ⟨some again, ((ambient, false), register), memory original (encodeWord x ++ suffix) (encodeWord v ++ targetSuffix) [] count spare⟩) = some ⟨some next, ((ambient, false), none), …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.program, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Alphabet, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.State, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.fieldLoop, OAI.MaxCutGames.Reduction.MachineTransfer.loopAt, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.memory, OAI.MaxCutGames.Foundations.Complexity.encodeWord
- def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.preservingFieldInTimeline 213 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.discardFieldsTraceline 235Source documentation
Consecutive concrete field-discard instructions consume a fixed list of fields. The hypotheses specify code, not an abstract body execution.
theorem discardFieldsTrace (labels : Nat → Λ) (program : Λ → TM2.Stmt Alphabet Λ (State σ)) (fields : List Nat) (offset : Nat) (atField : ∀ i, i < fields.length → program (labels (offset + i)) = MachineLookup.discard .work (labels (offset + i)) (labels (offset + i + 1))) (original suffix target scratch count spare : List Bool) (ambient : σ) (flag : Bool) (register : Option Bool) : (advance (TM2.step program))^[(encodeWords fields).length] (some ⟨some (labels offset), ((ambient, flag), register), memory original (encodeWords fields ++ suffix) target scratch count spare⟩) = some ⟨some (labels (offset + fields.length)), ((ambient, flag), if fields = [] then register else none), …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.program, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Alphabet, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.State, OAI.MaxCutGames.Foundations.Complexity.MachineLookup.discard, OAI.MaxCutGames.Foundations.Complexity.encodeWords, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.memory
- inductive
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Labelline 270 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.skipLabelline 275 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowEntryline 278 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.programline 286Source documentation
A single fixed program copies the input once, skips two headers, then compares the first field of each 4098-field row.
def program : Label → TM2.Stmt Alphabet Label (State σ) | .copyFirst => Reduction.MachineTransfer.loopAt .original .spare id false .copyFirst (some .copySecond) | .copySecond => MachineCopy.forkLoop .spare .original .work false .copySecond (some .headerFirst) | .headerFirst => MachineLookup.discard .work .headerFirst .headerSecond | .headerSecond => MachineLookup.discard .work .headerSecond .row | .row => rowEntry | .field => fieldLoop .field .restore | .restore => Reduction.MachineTransfer.loopAt .scratch .target id false .restore (some (skipLabel 0)) | .skip i => MachineLookup.discard .work (.skip i) (skipLabel (i.val + 1))Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Label, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Alphabet, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.State, OAI.MaxCutGames.Reduction.MachineTransfer.loopAt, OAI.MaxCutGames.Foundations.Complexity.MachineCopy.forkLoop, OAI.MaxCutGames.Foundations.Complexity.MachineLookup.discard, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowEntry, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.fieldLoop, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.skipLabel
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.program_skipline 299 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowStep_nonemptyline 304 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowStep_emptyline 314 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Rowline 320 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowWordsline 322 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowTimeline 324 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowTraceline 328Source documentation
One complete stored row is consumed; the target and original are restored.
theorem rowTrace (r : Row) (hwidth : r.2.length = 4097) (v : Nat) (original suffix targetSuffix count spare : List Bool) (ambient : σ) (register : Option Bool) : (advance (TM2.step (program (σ := σ))))^[rowTime v r] …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Row, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.program, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowTime
- def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowsHitsline 363 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowsTimeline 367 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowsTraceline 372Source documentation
The complete actual row scan halts with the number of matching tails.
theorem rowsTrace (rs : List Row) (hwidth : ∀ r ∈ rs, r.2.length = 4097) (v : Nat) (original targetSuffix count spare : List Bool) (ambient : σ) (register : Option Bool) : (advance (TM2.step (program (σ := σ))))^[rowsTime v rs] …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Row, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.program, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowsTime
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowTime_leline 396 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowsTime_leline 405 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.inputWordline 415 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.inputWord_eqline 418 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.inputWord_lengthline 422 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.totalStepsline 429 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.countTraceline 434Source documentation
One preserving copy, the two concrete header discards, and the proved row scan form the complete execution. The input and target tapes are unchanged.
theorem countTrace (n m v : Nat) (rs : List Row) (hwidth : ∀ r ∈ rs, r.2.length = 4097) (targetSuffix count : List Bool) (ambient : σ) (register : Option Bool) : (advance (TM2.step (program (σ := σ))))^[totalSteps n m v rs] …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.Row, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.program, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.totalSteps
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.totalSteps_leline 469 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.tableRowsline 478 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.tableRows_widthline 482 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.tableRows_wordsline 488 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.tableRows_inputline 495 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowsHits_eq_filterline 500 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowList_eq_finRange_mapline 507 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.rowList_cloud_countline 514 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.tableRows_hitsline 520 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.cloudCountTraceline 528Source documentation
Cloud size is produced by reading the actual encoded tail fields, with the complete graph input and unary vertex query preserved on their tapes.
theorem cloudCountTrace (t : GraphTables.Table) (v : Fin t.vertices) (targetSuffix countSuffix : List Bool) (ambient : σ) (register : Option Bool) : (advance (TM2.step (program (σ := σ))))^[totalSteps t.vertices t.darts v.val (tableRows t)] …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.program, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.totalSteps, OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.tableRows
- def
OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.cloudCountInTimeline 543Source documentation
A linear transition budget for this concrete cloud-count subroutine.
def cloudCountInTime (t : GraphTables.Table) (v : Fin t.vertices) (targetSuffix countSuffix : List Bool) (ambient : σ) (register : Option Bool) : StateTransition.EvalsToInTime (TM2.step (program (σ := σ))) …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineCloudCount.program
- inductive
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Tapeline 566 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Tape.enumListline 570 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Tape.enumList_getElem?_ctorIdx_eqline 573 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Tape.enumList_nodupline 577 - instance
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.(instance at line 579)line 579 - inductive
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Labelline 583 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Label.enumListline 588 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Label.enumList_getElem?_ctorIdx_eqline 591 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Label.enumList_nodupline 595 - instance
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.(instance at line 597)line 597 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Alphabetline 601 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Stateline 602 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.memoryline 604 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.update_workline 614 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.update_powerline 617 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.update_savedline 620 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.update_levelline 623 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.update_fuelline 626 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.update_productline 629 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.compareLoopline 635 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.scaleLoopline 647Source 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.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Alphabet, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.Label, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.State
- def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.programline 656 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.overflowline 679 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.compareStep_zeroline 681 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.compareStep_succ_zeroline 691 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.compareStep_succ_succline 701 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.compareTraceline 712Source 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.MaxCutGames.Foundations.Complexity.MachineCeilingPower.program, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.memory, OAI.MaxCutGames.Foundations.Complexity.encodeWord, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.overflow
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.replicate_encodeWordline 737 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.compareRestoredTraceline 741 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.appendTrace_inline_MachineCeilingPowerline 762 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.scaleStep_succline 766 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.scaleStep_zeroline 777 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.scaleScanTraceline 787 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.scaleTraceline 807Source 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.MaxCutGames.Foundations.Complexity.MachineCeilingPower.program, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.memory, OAI.MaxCutGames.Foundations.Complexity.encodeWord
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.cleanupTraceline 829 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.guardStep_succline 840 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.guardStep_zeroline 851 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.decideStepline 862 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.prefixTimeline 874 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.prefixTraceline 878Source 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.MaxCutGames.Foundations.Complexity.MachineCeilingPower.program, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.prefixTime, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.memory, OAI.MaxCutGames.Foundations.Complexity.encodeWord
- def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.coreTimeline 905 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.coreTraceline 912Source 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.MaxCutGames.Foundations.Complexity.MachineCeilingPower.program, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.coreTime, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.memory, OAI.MaxCutGames.Foundations.Complexity.encodeWord
- def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.roundBudgetline 940 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.prefixTime_leline 942 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.prefixTime_le_roundBudgetline 947 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.continuingTime_leline 953 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.coreTime_leline 961 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.initStepline 986 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.totalTimeline 994 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.searchTraceline 998Source 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.MaxCutGames.Foundations.Complexity.MachineCeilingPower.program, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.totalTime, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.memory, OAI.MaxCutGames.Foundations.Complexity.encodeWord
- def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.timeBoundline 1018 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.totalTime_leline 1020 - def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.timePolynomialline 1029Source 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.MaxCutGames.Foundations.Complexity.MachineCeilingPower.timePolynomial_encodingline 1032 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.paddingTraceline 1038Source 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.MaxCutGames.Foundations.Complexity.MachineCeilingPower.program, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.totalTime, OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.memory, OAI.MaxCutGames.Foundations.Complexity.encodeWord
- def
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.paddingInTimeline 1046 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineCeilingPower.paddingOutput_boundsline 1057