OAI/Computability/MaxCut/Machines/MachinePaddedOverlay.lean
73 declarations, 0 contain sorry, 0 declared as axioms
Physical composition of vertex padding, expander generation, and overlay
The level produced by vertex padding is the family machine's actual input stack. The two resulting archives are the overlay machine's actual archive stacks. Static tape placement and finite-state framing preserve the original input; no copying or recomputation is hidden in a phase boundary.
- abbrev
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.BaseTableline 22 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.baseDegreeline 23 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayDegreeline 24 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.Tapeline 25 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.Alphabetline 26 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.Labelline 27 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.Stateline 28 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayDegree_positiveline 30 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.paddingTapeline 33 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.paddingViewline 35 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.paddingView_leftline 39 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.paddingView_rightline 41 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyTapeline 48Source documentation
The family unary guard consumes the padding machine's existing level.
def familyTape (k : MachineExpanderFamily.Tape) : Tape := …
Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Tape, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.Tape
- def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyViewline 51 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyView_leftline 56 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyView_rightline 61 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayTapeline 70Source documentation
Overlay reads exactly the two archives written by the previous phases.
def overlayTape (k : MachineOverlayTable.Tape) : Tape := …
Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineOverlayTable.Tape, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.Tape
- def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayViewline 75 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayView_leftline 82 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayView_rightline 89 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.paddingLabelline 107 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyLabelline 108 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayLabelline 109 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.mainline 110 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyEntryline 111 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayEntryline 112 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyStatesline 114 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayStatesline 122 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familySourceline 130 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlaySourceline 135 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.programline 140 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.cleanline 147 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.memoryline 153Source documentation
The archives, family count, and level residue are the only retained non-output stacks. Work stacks, including unused duplicate slots, are empty.
def memory (input padded level rotor count output : List Bool) : Tape → List Bool | .inl k => MachineVertexPadding.memory input padded [] [] [] level [] [] k | .inr (.inl (.inl (.inl .table))) => rotor | .inr (.inl (.inr .currentSize)) => count | .inr (.inl _) => [] | .inr (.inr k) => if k = MachineOverlayTable.output then output else []
Mentions: OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.padded, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.rotor, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineVertexPadding.memory, OAI.MaxCutGames.Foundations.Complexity.MachineOverlayTable.output
- def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.paddedline 160 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.rotorline 163 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.initialTapesline 167 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.paddedTapesline 170 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyTapesline 174 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.finalTapesline 178 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.placeExecution_inline_MachinePaddedOverlayline 183 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.padding_initial_memoryline 199 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.padding_final_memoryline 211 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.paddingInTimeline 225Source documentation
The actual padding execution stops at the family entry on the same physical level stack, and preserves both inactive finite states.
noncomputable def paddingInTime (H : BaseTable) {n d : Nat} (hd : 0 < d) (t : PortTables.Table n d) : StateTransition.EvalsToInTime (TM2.step (program H d hd)) ⟨some main, clean H d hd, initialTapes t⟩ (some ⟨some familyEntry, clean H d hd, paddedTapes t⟩) ((MachineVertexPadding.timePolynomial d).eval (PortTables.tableBits t).length) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.BaseTable, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.program, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.main, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.clean, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.initialTapes, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyEntry, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.paddedTapes, OAI.MaxCutGames.Foundations.Complexity.MachineVertexPadding.timePolynomial
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.family_initial_memoryline 238 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.family_final_memoryline 261 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyInTimeline 292Source documentation
The second phase executes the checked family program from the already materialized level. Its runtime is polynomial in the original vertex count.
noncomputable def familyInTime (H : BaseTable) {n d : Nat} (hd : 0 < d) (t : PortTables.Table n d) : StateTransition.EvalsToInTime (TM2.step (program H d hd)) ⟨some familyEntry, clean H d hd, paddedTapes t⟩ (some ⟨some overlayEntry, clean H d hd, familyTapes H t⟩) (MachineExpanderFamilyBounds.inputCoefficient * (n + 1)^5) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.BaseTable, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.program, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyEntry, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.clean, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.paddedTapes, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayEntry, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyTapes, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamilyBounds.inputCoefficient
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.rotationWords_resizeline 350 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.rotor_familyAtline 356 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlay_memoryline 362 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayInTimeline 386Source documentation
Overlay executes on the two archives physically produced above; only its output stack changes in the retained outside frame.
noncomputable def overlayInTime (H : BaseTable) {n d : Nat} (hd : 0 < d) (t : PortTables.Table n d) : StateTransition.EvalsToInTime (TM2.step (program H d hd)) ⟨some overlayEntry, clean H d hd, familyTapes H t⟩ (some ⟨none, clean H d hd, finalTapes H t⟩) ((MachineOverlayTable.timePolynomial d overlayDegree).eval ((PortTables.tableBits (padded t)).length + (rotor H n).length)) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.BaseTable, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.program, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayEntry, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.clean, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyTapes, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.finalTapes, OAI.MaxCutGames.Foundations.Complexity.MachineOverlayTable.timePolynomial, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.overlayDegree, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.padded, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.rotor
- def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.sizePolynomialline 423Source documentation
The actual padded vertex count is linear in the original encoded size.
noncomputable def sizePolynomial : Polynomial Nat := …
- def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.archivePolynomialline 428Source documentation
Full unary lengths of both physical archives, including all graph predicate entries, all delimiters, and all expander reverse addresses.
noncomputable def archivePolynomial (d : Nat) : Polynomial Nat := …
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.archive_length_leline 434 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.familyPolynomialline 459 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.timePolynomialline 462 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.executionline 468Source documentation
The complete three-phase program executes from the original serialized input alone, with a polynomial bound in that input's full unary length.
noncomputable def execution (H : BaseTable) {n d : Nat} (hd : 0 < d) (t : PortTables.Table n d) : StateTransition.EvalsToInTime (TM2.step (program H d hd)) ⟨some main, clean H d hd, initialTapes t⟩ (some ⟨none, clean H d hd, finalTapes H t⟩) ((timePolynomial d).eval (PortTables.tableBits t).length) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.BaseTable, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.program, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.main, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.clean, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.initialTapes, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.finalTapes, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.timePolynomial
- def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.machineline 494 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.alphabet_finiteline 505 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.initial_configurationline 511 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.final_outputline 528 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.original_preservedline 534 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlayRuntime.rawProgramline 545 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlayRuntime.sourceMachine_eqline 553 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlayRuntime.cleanupTapesline 559Source documentation
A fixed finite list of every non-output stack. This includes both retained archives, the original input, and the physically consumed level.
noncomputable def cleanupTapes : List Tape := …
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlayRuntime.cleanup_completeline 562 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlayRuntime.initial_configurationline 566 - def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlayRuntime.terminalRunline 577Source documentation
The raw terminal witness is the actual three-phase execution. No phase trace, output-size bound, or complexity assertion is an input hypothesis.
noncomputable def terminalRun (H : BaseTable) (d : Nat) (hd : 0 < d) (a : PortTables.Input d) : MachineCanonicalOutput.TerminalRun (rawProgram H d hd) (PortTables.inputBits a) (PortTables.inputBits (PreprocessingStageMaps.paddedOverlay H d a)) ((MachinePaddedOverlay.timePolynomial d).eval (PortTables.inputBits a).length) where …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineCanonicalOutput.TerminalRun, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlayRuntime.rawProgram, OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlay.timePolynomial
- def
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlayRuntime.computableInPolyTimeline 591Source documentation
A concrete machine reaches the canonical
haltListencoding of the existing executable preprocessing map in polynomial time.noncomputable def computableInPolyTime (H : BaseTable) (d : Nat) (hd : 0 < d) : TM2ComputableInPolyTime (PortTables.inputBits (ports := d)) … - theorem
OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlayRuntime.finite_alphabetline 601Source documentation
Finiteness belongs to the exact machine stored in the certificate above.
theorem finite_alphabet (H : BaseTable) (d : Nat) (hd : 0 < d) : ∀ k, Finite ((computableInPolyTime H d hd).tm.Γ k) := …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachinePaddedOverlayRuntime.computableInPolyTime
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineLazyCodec.rowsBits_ofFnline 614 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineLazyCodec.encodeWords_flatMap_inline_MachineLazyCodecline 631 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineLazyCodec.rowBits_stayline 637 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineLazyCodec.rowsBits_stayline 644