OAI/Computability/MaxCut/Machines/MachineOverlayRows.lean
35 declarations, 0 contain sorry, 0 declared as axioms
The fixed-degree vertex loop has one finite label block per port, plus one terminal boundary. The stored row values do not occur in its program.
- abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.Stateline 15 - inductive
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.Labelline 17 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.bodyIndexline 24Source documentation
The row body's nine tapes retain their numbering; tape 9 is the stream.
def bodyIndex (i : Fin 9) : Fin 10 := i.castSucc
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.bodyIndex_injectiveline 26 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.trueBitsline 30 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.instructionline 32 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowBitsline 47 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowStepsline 50 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.resultTapesline 54 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.joinTrace_inline_MachineOverlayRowsline 59 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowTraceline 65Source documentation
Load the actual next expander index, execute the arithmetic and complete 4096-bit row emitter, then clear the three isolated temporary fields.
theorem rowTrace (d e : Nat) (positive : 0 < e) (tape : Fin 10 → K) (distinct : Function.Injective tape) (labels : Label e → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (fun _ : K => Bool) Λ (State A e)) (atLabels : ∀ l, program (labels l) = instruction d e positive tape labels exit l) (base : K → List Bool) (v j : Nat) (suffix : List Bool) (tailWord : base (tape 0) = encodeWord v) (inputWord : base (tape 9) = encodeWord j ++ suffix) (empty : ∀ i : Fin 10, i ≠ 0 → i ≠ 7 → i ≠ 9 → base (tape i) = []) (ambient : A) : (advance (TM2.step program))^[rowSteps d e v j (base (tape 7))] (some ⟨some (labels .loadStart), MachinePortReindex.clean e positive ambient, base⟩) = some ⟨exit, MachinePortReindex.clean e positive ambient, …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.Label, OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.State, OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.instruction, OAI.MaxCutGames.Foundations.Complexity.encodeWord, OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowSteps, OAI.MaxCutGames.Foundations.Complexity.MachinePortReindex.clean
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowBits_eq_expanderRowline 207 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.machineline 220 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.VertexLabelline 234 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.vertexInstructionline 236 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.streamFrameline 246 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.streamOutputline 251 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.vertexStepsline 254 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.valueBoundline 259 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowSizeBoundline 260 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowCostBoundline 261 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.value_leline 264 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowBits_lengthline 272 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowBits_length_leline 278 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowSteps_leline 285 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.vertexSteps_le_capacity_inline_MachineOverlayRowsline 295 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.vertexSteps_leline 322Source documentation
Explicit polynomial budget for the finite port loop, including repeated output append costs and all real loader and cleanup transitions.
theorem vertexSteps_le (d e v B : Nat) (words : List Nat) (bounded : ∀ j ∈ words, j ≤ B) (output : List Bool) : vertexSteps d e v words output ≤ words.length * (rowCostBound d e v B + 2 * (output.length + words.length * rowSizeBound d e v B) + 1) + 1 := …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.vertexSteps, OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowCostBound, OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.rowSizeBound
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.streamFrame_afterRow_inline_MachineOverlayRowsline 329 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.vertexSuffixTraceline 347Source documentation
A suffix of the actual fixed-degree port loop. Each row execution is derived from
rowTrace; no row-execution premise is accepted.theorem vertexSuffixTrace (d e : Nat) (positive : 0 < e) (tape : Fin 10 → K) (distinct : Function.Injective tape) (labels : VertexLabel e → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (fun _ : K => Bool) Λ (State A e)) (atLabels : ∀ l, program (labels l) = vertexInstruction d e positive tape labels exit l) (base : K → List Bool) (v : Nat) (values : Fin e → Nat) (tailWord : base (tape 0) = encodeWord v) (empty : ∀ i : Fin 10, i ≠ 0 → i ≠ 7 → i ≠ 9 → base (tape i) = []) (ambient : A) (remaining : Nat) (i : Fin (e + 1)) (count : i.val + remaining = e) (output : List Bool) : (advance (TM2.step program))^[vertexSteps d e v ((List.ofFn values).drop i.val) output] (some ⟨some (labels (i, none)), MachinePortReindex.clean e positive ambient, streamFrame tape base ((List.ofFn values).drop i.val) output⟩) = …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.VertexLabel, OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.State, OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.vertexInstruction, OAI.MaxCutGames.Foundations.Complexity.encodeWord, OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.vertexSteps, OAI.MaxCutGames.Foundations.Complexity.MachinePortReindex.clean, OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.streamFrame
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.vertexTraceline 421 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.vertexInTimeline 437 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.encodeWords_flatMap_inline_MachineOverlayRowsline 459 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.streamOutput_expanderRowsline 465 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.expanderValues_boundedline 477 - def
OAI.MaxCutGames.Foundations.Complexity.MachineOverlayRows.vertexMachineline 482