OAI/Computability/UniqueGames/Machines/MachinePaddedOverlay.lean
61 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.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.BaseTableline 22 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.baseDegreeline 23 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayDegreeline 24 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.Tapeline 25 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.Alphabetline 26 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.Labelline 27 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.Stateline 28 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayDegree_positiveline 30 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.paddingTapeline 33 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.paddingViewline 35 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.paddingView_leftline 39 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.paddingView_rightline 41 - def
OAI.UniqueGamesTheorem.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.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.Tape
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyViewline 51 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyView_leftline 56 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyView_rightline 61 - def
OAI.UniqueGamesTheorem.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.UniqueGamesTheorem.Foundations.Complexity.MachineOverlayTable.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.Tape
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayViewline 75 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayView_leftline 82 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayView_rightline 89 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.paddingLabelline 109 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyLabelline 110 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayLabelline 111 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.mainline 112 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyEntryline 113 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayEntryline 114 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyStatesline 116 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayStatesline 124 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familySourceline 132 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlaySourceline 137 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.programline 142 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.cleanline 149 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.memoryline 155Source 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.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.padded, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.rotor, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineVertexPadding.memory, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineOverlayTable.output
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.paddedline 162 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.rotorline 165 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.initialTapesline 169 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.paddedTapesline 172 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyTapesline 176 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.finalTapesline 180 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.placeExecutionline 185 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.padding_initial_memoryline 201 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.padding_final_memoryline 213 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.paddingInTimeline 227Source 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.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.BaseTable, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.main, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.clean, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.initialTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyEntry, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.paddedTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineVertexPadding.timePolynomial
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.family_initial_memoryline 240 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.family_final_memoryline 263 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyInTimeline 294Source 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.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.BaseTable, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyEntry, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.clean, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.paddedTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayEntry, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamilyBounds.inputCoefficient
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.rotationWords_resizeline 352 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.rotor_familyAtline 358 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlay_memoryline 365 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayInTimeline 388Source 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.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.BaseTable, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayEntry, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.clean, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.finalTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineOverlayTable.timePolynomial, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.overlayDegree, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.padded, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.rotor
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.sizePolynomialline 425Source documentation
The actual padded vertex count is linear in the original encoded size.
noncomputable def sizePolynomial : Polynomial Nat := …
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.archivePolynomialline 430Source 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.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.archive_length_leline 436 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.familyPolynomialline 461 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.timePolynomialline 464 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.executionline 470Source 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.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.BaseTable, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.main, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.clean, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.initialTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.finalTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.timePolynomial
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.machineline 496 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.alphabet_finiteline 507 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.initial_configurationline 513 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.final_outputline 530 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachinePaddedOverlay.original_preservedline 536