OAI/Computability/UniqueGames/Machines/MachineExpanderFamilyTransferLemmas.lean
76 declarations, 0 contain sorry, 0 declared as axioms
Actual family-table installation and counter cleanup
Checked physical drain and transfer loops are placed in the family program through its finite register equivalence. Alphabet equality transports their actual traces back to the dependent alphabet of the full family machine.
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.controlStatementInverseline 24 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.controlTraceline 32Source documentation
Static state-coordinate transport preserves every actual transition.
theorem controlTrace {K Λ σ τ : Type} {Γ : K → Type} [DecidableEq K] (states : σ ≃ τ) (target : Λ → TM2.Stmt Γ Λ τ) (n : Nat) (start finish : TM2.Cfg Γ Λ σ) (run : (advance (TM2.step (MachineControl.program (Equiv.refl Λ) states.symm target)))^[n] (some start) = some finish) : (advance (TM2.step target))^[n] (some (MachineControl.configuration id states start)) = some (MachineControl.configuration id states finish) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineControl.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineControl.configuration
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.controlDrainTraceline 56 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.controlTransferTraceline 75 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.clearRegisterline 102 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.registerStates_resetline 105 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.clearRegister_idempotentline 109 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.caller_clearRegisterline 112 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.clearRegister_positionline 115 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.clearRegister_registerline 118 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.boolTraceActualline 124Source documentation
The Boolean view is the same actual program under alphabet equality.
theorem boolTraceActual (positive : 0 < d) (H : Table (cloudSize d) d) (growth : 1 < cloudSize d) (n : Nat) (start finish : TM2.Cfg BoolAlphabet (Label d) (State ρ d)) (run : (advance (TM2.step (boolView positive H growth)))^[n] (some start) = some finish) : (advance (TM2.step (program positive H growth)))^[n] (some (MachineAlphabetTransport.configuration alphabet_eq.symm start)) = some (MachineAlphabetTransport.configuration alphabet_eq.symm finish) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.BoolAlphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Label, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.boolView, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineAlphabetTransport.configuration
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.drainBoolTraceline 135 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.transferBoolTraceline 152 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.installedTapesline 176Source documentation
Only these four tape words change during installation.
def installedTapes (base : Tape → List Bool) (newWord : List Bool) : Tape → List Bool := …
Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Tape
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.cleanedCounterTapesline 183 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.installTableBoolTraceline 186 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.cleanupCountersBoolTraceline 245 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.installTableTraceline 265Source documentation
Actual dependent-alphabet trace for draining the old table, installing the new forward table by two physical reversals, and clearing the old size word.
theorem installTableTrace (positive : 0 < d) (H : Table (cloudSize d) d) (growth : 1 < cloudSize d) (base : (tape : Tape) → List (Alphabet tape)) (newWord : List Bool) (resultWord : toBoolTapes base resultTape = newWord) (reverseEmpty : toBoolTapes base (.inr .tableReverse) = []) (state : State ρ d) : (advance (TM2.step (program positive H growth)))^[ (toBoolTapes base tableTape).length + 2 * newWord.length + (toBoolTapes base (.inr .currentSize)).length + 4] (some ⟨some (.inr .clearOldTable), state, base⟩) = some ⟨some (.inr (.affine .multiplySize .seed)), clearRegister state, fromBoolTapes (installedTapes (toBoolTapes base) newWord)⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.toBoolTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.resultTape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.tableTape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.clearRegister, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.fromBoolTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.installedTapes
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.cleanupCountersTraceline 280Source documentation
After the checked affine phase, both table-loop counters are physically drained and the actual family level guard is reached.
theorem cleanupCountersTrace (positive : 0 < d) (H : Table (cloudSize d) d) (growth : 1 < cloudSize d) (base : (tape : Tape) → List (Alphabet tape)) (state : State ρ d) : (advance (TM2.step (program positive H growth)))^[ (toBoolTapes base inputVertexTape).length + (toBoolTapes base vertexCountTape).length + 2] (some ⟨some (.inr .drainInputVertex), state, base⟩) = some ⟨some (.inr .levelGuard), clearRegister state, fromBoolTapes (cleanedCounterTapes (toBoolTapes base))⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.toBoolTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.inputVertexTape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.vertexCountTape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.clearRegister, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.fromBoolTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.cleanedCounterTapes
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.installTableInTimeline 291 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.cleanupCountersInTimeline 306 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affine_source_ne_scratchline 320 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affine_source_ne_destinationline 323 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affine_scratch_ne_destinationline 326 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineResultTapesline 330Source documentation
Exact final dependent tape family, with all other tape contents retained.
def affineResultTapes (d : Nat) (phase : AffinePhase) (base : (tape : Tape) → List (Alphabet tape)) (n : Nat) : (tape : Tape) → List (Alphabet tape) := …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.AffinePhase, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Alphabet
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineResultTapes_otherline 337 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineResultTapes_sourceline 343 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineResultTapes_scratchline 348 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineResultTapes_destinationline 353 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affinePhaseBoolTraceline 363Source documentation
The concrete Boolean view is pulled into unary-affine state coordinates, executed from its actual statements, and transported back without extra steps.
theorem affinePhaseBoolTrace (positive : 0 < d) (H : Table (cloudSize d) d) (growth : 1 < cloudSize d) (phase : AffinePhase) (base : Tape → List Bool) (n : Nat) (suffix : List Bool) (sourceWord : base (affineSource phase) = encodeWord n ++ suffix) (scratchEmpty : base (.inr .unaryScratch) = []) (state : State ρ d) : (advance (TM2.step (boolView positive H growth)))^[2 * (n + 1) + 1] (some ⟨some (.inr (.affine phase .seed)), state, base⟩) = some ⟨some (affineExit d phase), clearRegister state, Function.update base (affineDestination phase) (encodeWord (affineCoefficient d phase * n) ++ base (affineDestination phase))⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.AffinePhase, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineSource, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.boolView, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineExit, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.clearRegister, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineDestination, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineCoefficient
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affinePhaseTraceline 410Source documentation
Actual family-program execution. Alphabet conversion is static equality transport; the transition count is exactly the checked unary-affine count.
theorem affinePhaseTrace (positive : 0 < d) (H : Table (cloudSize d) d) (growth : 1 < cloudSize d) (phase : AffinePhase) (base : (tape : Tape) → List (Alphabet tape)) (n : Nat) (suffix : List Bool) (sourceWord : toBoolTapes base (affineSource phase) = encodeWord n ++ suffix) (scratchEmpty : base (.inr .unaryScratch) = []) (state : State ρ d) : (advance (TM2.step (program positive H growth)))^[2 * (n + 1) + 1] (some ⟨some (.inr (.affine phase .seed)), state, base⟩) = some ⟨some (affineExit d phase), clearRegister state, affineResultTapes d phase base n⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.AffinePhase, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.toBoolTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineSource, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineExit, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.clearRegister, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affineResultTapes
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.affinePhaseInTimeline 425 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.copyCountInTimeline 438 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.multiplySizeInTimeline 455 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.caller_initialStateline 476 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.caller_normalizeStateline 479 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.clearRegister_initialStateline 482 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.boundaryTapes_update_levelline 487Source documentation
The guard changes only the physical remaining-level word.
theorem boundaryTapes_update_level (remaining current next : Nat) (word suffix : List Bool) : Function.update (boundaryTapes remaining current word suffix) (.inr .remainingLevel) (encodeWord next ++ suffix) = boundaryTapes next current word suffix := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.boundaryTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.initialTapes_initializeline 500Source documentation
The two literal prefixes install the actual level-zero table and unary one.
theorem initialTapes_initialize (level : Nat) (suffix : List Bool) : Function.update (Function.update (initialTapes level suffix) tableTape (initialEncoding d)) (.inr .currentSize) (encodeWord 1) = boundaryTapes level 1 (initialEncoding d) suffix := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.initialTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.tableTape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.initialEncoding, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.boundaryTapes
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.actualStep_of_boolStepline 518Source documentation
Static alphabet transport preserves this actual single transition.
theorem actualStep_of_boolStep (positive : 0 < d) (H : Table (cloudSize d) d) (growth : 1 < cloudSize d) (start finish : TM2.Cfg BoolAlphabet (Label d) (State ρ d)) (run : TM2.step (boolView positive H growth) start = some finish) : TM2.step (program positive H growth) (MachineAlphabetTransport.configuration alphabet_eq.symm start) = some (MachineAlphabetTransport.configuration alphabet_eq.symm finish) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.BoolAlphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Label, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.boolView, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineAlphabetTransport.configuration
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.bool_initializeStepline 531 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.bool_levelGuard_succStepline 544 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.bool_levelGuard_zeroStepline 557 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.bool_doneStepline 569 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.initializeStepline 578Source documentation
The literal initialization executes in one transition of the actual program.
theorem initializeStep (positive : 0 < d) (H : Table (cloudSize d) d) (growth : 1 < cloudSize d) (base : ∀ tape, List (Alphabet tape)) (state : State ρ d) : TM2.step (program positive H growth) ⟨some (.inr .initialize), state, base⟩ = some ⟨some (.inr .levelGuard), normalizeState positive H state, Function.update (Function.update base tableTape (initialEncoding d ++ base (.inl (.inl .table)))) (.inr .currentSize) (encodeWord 1 ++ base (.inr .currentSize))⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.normalizeState, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.tableTape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.initialEncoding, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.levelGuard_succStepline 591Source documentation
A positive level physically loses one true bit, retaining its delimiter and suffix.
theorem levelGuard_succStep (positive : 0 < d) (H : Table (cloudSize d) d) (growth : 1 < cloudSize d) (base : ∀ tape, List (Alphabet tape)) (state : State ρ d) (remaining : Nat) (suffix : List Bool) (counter : base (.inr .remainingLevel) = encodeWord (remaining + 1) ++ suffix) : TM2.step (program positive H growth) ⟨some (.inr .levelGuard), state, base⟩ = some ⟨some (.inr (.affine .copyCount .seed)), clearRegister state, Function.update base (.inr .remainingLevel) (encodeWord remaining ++ suffix)⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.State, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.clearRegister
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.levelGuard_zeroStepline 605Source documentation
The zero delimiter is retained when the family loop enters its final halt.
theorem levelGuard_zeroStep (positive : 0 < d) (H : Table (cloudSize d) d) (growth : 1 < cloudSize d) (base : ∀ tape, List (Alphabet tape)) (state : State ρ d) (suffix : List Bool) (counter : base (.inr .remainingLevel) = encodeWord 0 ++ suffix) : TM2.step (program positive H growth) ⟨some (.inr .levelGuard), state, base⟩ = some ⟨some (.inr .done), clearRegister state, base⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.State, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.clearRegister
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.doneStepline 615 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.initialize_boundaryStepline 623 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.levelGuard_boundary_succStepline 639 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderFamily.levelGuard_boundary_zeroStepline 650 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.caller_boundaryStateline 678 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.prepareState_boundaryStateline 682 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.clearRegister_boundaryStateline 687 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.caller_prepareStateline 692 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.caller_resetStateline 695 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.caller_clearRegisterline 698 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.caller_advancePositionStateline 701 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.caller_resetPositionStateline 704 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.nextPosition_val_of_ltline 707 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.boundaryTapes_update_countline 712Source documentation
Replacing the count word leaves the entire row frame and result unchanged.
theorem boundaryTapes_update_count (vertex remaining next : Nat) (oldTable output countSuffix result : List Bool) : Function.update (boundaryTapes vertex remaining oldTable output countSuffix result) (.inr .vertexCount) (encodeWord next ++ countSuffix) = boundaryTapes vertex next oldTable output countSuffix result := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.boundaryTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.boundaryTapes_increment_vertexline 723Source documentation
The last row's one actual push increments the unary vertex word.
theorem boundaryTapes_increment_vertex (vertex remaining : Nat) (oldTable output countSuffix result : List Bool) : Function.update (boundaryTapes vertex remaining oldTable output countSuffix result) (.inl .inputVertex) (true :: encodeWord vertex) = boundaryTapes (vertex + 1) remaining oldTable output countSuffix result := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.boundaryTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.initialTapes_initializeline 736 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.initializeStepline 750 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.initialize_boundaryStepline 759 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.vertexGuard_succStepline 775Source documentation
A positive vertex counter is physically decremented; its suffix remains.
theorem vertexGuard_succStep (positive : 0 < d) (H : Table (cloudSize d) d) (base : ∀ tape, List (Alphabet tape)) (state : State ρ d) (remaining : Nat) (suffix : List Bool) (counter : base (.inr .vertexCount) = encodeWord (remaining + 1) ++ suffix) : TM2.step (program positive H) ⟨some (.inr .vertexGuard), state, base⟩ = some ⟨some (.inr .prepareRow), clearRegister state, Function.update base (.inr .vertexCount) (encodeWord remaining ++ suffix)⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.State, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.clearRegister
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.vertexGuard_zeroStepline 788Source documentation
The zero delimiter is retained when the loop enters output reversal.
theorem vertexGuard_zeroStep (positive : 0 < d) (H : Table (cloudSize d) d) (base : ∀ tape, List (Alphabet tape)) (state : State ρ d) (suffix : List Bool) (counter : base (.inr .vertexCount) = encodeWord 0 ++ suffix) : TM2.step (program positive H) ⟨some (.inr .vertexGuard), state, base⟩ = some ⟨some (.inr .reverseOutput), clearRegister state, base⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.State, OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.clearRegister
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.vertexGuard_boundary_succStepline 799 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.vertexGuard_boundary_zeroStepline 812 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.prepareRowStepline 823Source documentation
Preparing a row modifies finite control only, preserving every tape.
theorem prepareRowStep (positive : 0 < d) (H : Table (cloudSize d) d) (base : ∀ tape, List (Alphabet tape)) (state : State ρ d) : TM2.step (program positive H) ⟨some (.inr .prepareRow), state, base⟩ = some ⟨some (.inl .initialize), prepareState positive H state, base⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.prepareState
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.afterRow_moreStepline 832Source documentation
A nonfinal row advances the finite position without changing tapes.
theorem afterRow_moreStep (positive : 0 < d) (H : Table (cloudSize d) d) (base : ∀ tape, List (Alphabet tape)) (state : State ρ d) (more : state.2.val + 1 < rowFactor d) : TM2.step (program positive H) ⟨some (.inr .afterRow), state, base⟩ = some ⟨some (.inr .prepareRow), advancePositionState positive state, base⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.advancePositionState
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.afterRow_lastStepline 842Source documentation
The final row increments the tape vertex and resets the finite position.
theorem afterRow_lastStep (positive : 0 < d) (H : Table (cloudSize d) d) (base : ∀ tape, List (Alphabet tape)) (state : State ρ d) (last : ¬ state.2.val + 1 < rowFactor d) : TM2.step (program positive H) ⟨some (.inr .afterRow), state, base⟩ = some ⟨some (.inr .vertexGuard), resetPositionState positive state, Function.update base (.inl .inputVertex) (true :: base (.inl .inputVertex))⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.program, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.resetPositionState
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.afterRow_last_boundaryStepline 852 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.reverseOutput_consStepline 872Source documentation
One reversal step moves an actual symbol and preserves the finite position.
theorem reverseOutput_consStep (positive : 0 < d) (H : Table (cloudSize d) d) (base : ∀ tape, List (Alphabet tape)) (state : State ρ d) (symbol : Bool) (word : List Bool) (source : base (.inl .output) = symbol :: word) : TM2.step (program positive H) ⟨some (.inr .reverseOutput), state, base⟩ = some ⟨some (.inr .reverseOutput), ((state.1.1, some symbol), state.2), Function.update (Function.update base (.inl .output) word) (.inr .result) (symbol :: base (.inr .result))⟩ := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.Alphabet, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.State, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.program
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.reverseOutput_nilStepline 884 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineExpanderTable.doneStepline 896