OAI/Computability/MaxCut/Machines/MachineExpanderTableProgram.lean
171 declarations, 0 contain sorry, 0 declared as axioms
Static, pointwise Boolean presentation of the actual family tape alphabet. Every conversion below is an identity on symbols and has no machine runtime.
- inductive
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.ExtraTapeline 11 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.ExtraTape.enumListline 15 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.ExtraTape.enumList_getElem?_ctorIdx_eqline 17 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.ExtraTape.enumList_nodupline 21 - instance
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.(instance at line 23)line 23 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Tapeline 27 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Alphabetline 29 - instance
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.alphabetFintypeline 33 - inductive
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.OuterLabelline 36 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.OuterLabel.enumListline 40 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.OuterLabel.enumList_getElem?_ctorIdx_eqline 43 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.OuterLabel.enumList_nodupline 47 - instance
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.(instance at line 49)line 49 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Labelline 53 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Positionline 54 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Stateline 55 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.RowStatePrefixline 56 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.guardStatesline 60Source documentation
Static movement of the bit register to the last product coordinate.
def guardStates (ρ : Type) (d : Nat) : ((RowStatePrefix ρ d × Position d) × Option Bool) ≃ State ρ d where …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.RowStatePrefix, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Position, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.State
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.guardStates_applyline 67 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.guardStates_symm_applyline 71 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.rowFactor_posline 74 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.zeroPositionline 78 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.nextPositionline 81 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.positionPairline 84 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.callerline 87 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.boundaryStateline 90Source documentation
A fresh row call, with its residue and bit register reset.
def boundaryState {ρ : Type} {d : Nat} (positive : 0 < d) (H : Table (cloudSize d) d) (ambient : ρ) (p : Position d) : State ρ d := …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Position, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.State
- def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.initialStateline 95 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.prepareStateline 99 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.resetStateline 103 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.clearRegisterline 107 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.advancePositionStateline 110 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.resetPositionStateline 113 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.vertexGuardCoreline 119Source documentation
The unary guard specialized to the concrete extra tape. The zero delimiter is retained; both branches clear the bit register. Its dependent alphabet is the same alphabet used by the embedded row program.
def vertexGuardCore {ρ : Type} {d : Nat} : TM2.Stmt Alphabet (Label d) ((RowStatePrefix ρ d × Position d) × Option Bool) := …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Alphabet, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Label, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.RowStatePrefix, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Position
- def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.outerStatementline 131Source documentation
Actual statements for the table loop. No unbounded natural number is stored in the state or evaluated by a state-update function.
def outerStatement {d : Nat} (positive : 0 < d) (H : Table (cloudSize d) d) : OuterLabel → TM2.Stmt Alphabet (Label d) (State ρ d) | .initialize => .push (.inl .inputVertex) (fun _ => false) (.load (resetState positive H) (.goto fun _ => .inr .vertexGuard)) | .vertexGuard => MachineControl.statement id (guardStates ρ d) vertexGuardCore | .prepareRow => .load (prepareState positive H) (.goto fun _ => .inl .initialize) | .afterRow => .branch (fun s => decide (s.2.val + 1 < rowFactor d)) (.load (advancePositionState positive) (.goto fun _ => .inr .prepareRow)) (.push (.inl .inputVertex) (fun _ => true) …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.OuterLabel, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Alphabet, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Label, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.State, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.resetState, OAI.MaxCutGames.Foundations.Complexity.MachineControl.statement, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.guardStates, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.vertexGuardCore, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.prepareState, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.advancePositionState
- def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.rowReturnline 151 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.programline 155Source documentation
The complete finite program. The vertex count is supplied on a tape, while the small table and all finite control types depend only on fixed
d.def program {d : Nat} (positive : 0 < d) (H : Table (cloudSize d) d) : Label d → TM2.Stmt Alphabet (Label d) (State ρ d) := …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Label, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Alphabet, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.State
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.program_rowline 160 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.program_outerline 166 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.rowExecutionline 172Source documentation
Every transition of an actual row run embeds with its original cost, preserving the position and both extra tapes, including its return jump.
def rowExecution {d : Nat} (positive : 0 < d) (H : Table (cloudSize d) d) (position : Position d) (extra : ExtraTape → List Bool) {a b : TM2.Cfg (fun _ : MachineExpanderRow.Tape => Bool) (MachineExpanderRow.Label d) (MachineExpanderRow.State ρ d)} {budget : Nat} (execution : StateTransition.EvalsToInTime (TM2.step (MachineExpanderRow.program positive H)) a (some b) budget) : StateTransition.EvalsToInTime (TM2.step (program positive H)) (MachineEmbedding.configuration (rowReturn d) position extra a) (some (MachineEmbedding.configuration (rowReturn d) position extra b)) budget := …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Position, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.ExtraTape, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderRow.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderRow.Label, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderRow.State, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderRow.program, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.program, OAI.MaxCutGames.Foundations.Complexity.MachineEmbedding.configuration, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.rowReturn
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.rowExecution_stepsline 184 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.rowTapesline 192 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.extraTapesline 198 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.boundaryTapesline 202 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.initialTapesline 208Source documentation
Before initialization, only the old table and remaining-count word are populated. The program itself creates the initial vertex delimiter.
def initialTapes (vertices : Nat) (oldTable countSuffix : List Bool) : (tape : Tape) → List (Alphabet tape) := …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.Alphabet
- def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderTable.finalTapesline 214 - def
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.tapesline 226 - def
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.statementline 228 - def
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.configurationline 230 - def
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.programline 232 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.castStatementline 235 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.castConfigurationline 236 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.castProgramline 237 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.tapes_rflline 239 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.statement_rflline 240 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.configuration_rflline 241 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.program_rflline 242 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.program_applyline 244 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.statement_roundtripline 247 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.statement_symm_roundtripline 250 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.configuration_roundtripline 253 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.configuration_symm_roundtripline 256 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.program_roundtripline 259 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.program_symm_roundtripline 262 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.tapes_roundtripline 265 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.tapes_symm_roundtripline 268 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.configuration_labelline 271 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.configuration_stateline 274 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.configuration_tapesline 277 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.configuration_mkline 280 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.map_configuration_rflline 284 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.stepAux_simulationline 289 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.step_simulationline 294 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.trace_transportline 301Source documentation
Exact conjugacy of every finite trace, including a
noneendpoint.theorem trace_transport (h : Γ = Δ) (source : Λ → Stmt Γ Λ σ) (n : Nat) (start : Option (Cfg Γ Λ σ)) : (MachineComposition.advance (step (program h source)))^[n] (start.map (configuration h)) = ((MachineComposition.advance (step source))^[n] start).map (configuration h) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineComposition.advance, OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.program, OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.configuration
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.successfulTraceline 309 - def
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.executionInTimeline 317 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.executionInTime_stepsline 329 - def
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.successfulExecutionInTimeline 334 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.successfulExecutionInTime_stepsline 340 - inductive
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.ExtraTapeline 352 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.ExtraTape.enumListline 356 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.ExtraTape.enumList_getElem?_ctorIdx_eqline 359 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.ExtraTape.enumList_nodupline 363 - instance
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.(instance at line 365)line 365 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Tapeline 369 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Alphabetline 370 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.BoolAlphabetline 372 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.alphabet_eqline 376Source documentation
All physical tapes contain Booleans. This equality changes the static type presentation only; no runtime symbol conversion is performed.
theorem alphabet_eq : Alphabet = BoolAlphabet := by …
Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Alphabet, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.BoolAlphabet
- instance
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.alphabetFintypeline 382 - inductive
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.AffinePhaseline 386 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.AffinePhase.enumListline 390 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.AffinePhase.enumList_getElem?_ctorIdx_eqline 392 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.AffinePhase.enumList_nodupline 396 - instance
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.(instance at line 398)line 398 - inductive
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.AffineLabelline 402 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.AffineLabel.enumListline 406 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.AffineLabel.enumList_getElem?_ctorIdx_eqline 408 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.AffineLabel.enumList_nodupline 412 - instance
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.(instance at line 414)line 414 - inductive
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.OuterLabelline 418 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Labelline 426 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Stateline 427 - abbrev
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.RegisterAmbientline 428 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.registerStatesline 431 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.registerStates_applyline 438 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.registerStates_symm_applyline 442 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.callerline 445 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.initialStateline 448 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.normalizeStateline 452 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.initialEncodingline 456 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.initialEncoding_eq_familyline 459Source documentation
The literal used by initialization is exactly the actual family's base.
theorem initialEncoding_eq_family {d : Nat} (H : Table (cloudSize d) d) : initialEncoding d = encodeWords (rotationWords (family H 0)) := rflMentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.initialEncoding, OAI.MaxCutGames.Foundations.Complexity.encodeWords
- def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.tableTapeline 462 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.inputVertexTapeline 463 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.vertexCountTapeline 464 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.resultTapeline 465 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.affineSourceline 467 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.affineDestinationline 471 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.affineCoefficientline 475 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.affineExitline 479 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.affineStatementline 483 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.drainStatementline 501 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.boolOuterStatementline 511Source documentation
Uniform-alphabet presentation of the actual outer code. All arithmetic parameters here are fixed program constants; runtime sizes are scanned.
def boolOuterStatement {d : Nat} (positive : 0 < d) (H : Table (cloudSize d) d) : OuterLabel → TM2.Stmt BoolAlphabet (Label d) (State ρ d) | .initialize => Reduction.MachineSubstitution.pushWord tableTape (initialEncoding d).reverse (Reduction.MachineSubstitution.pushWord (.inr .currentSize) (encodeWord 1).reverse (.load (normalizeState positive H) (.goto fun _ => .inr .levelGuard))) | .levelGuard => MachineControl.statement id (registerStates ρ d) (MachineUnaryCounter.guard (K := Tape) (Λ := Label d) (σ := RegisterAmbient ρ d) …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.OuterLabel, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.BoolAlphabet, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Label, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.State, OAI.MaxCutGames.Reduction.MachineSubstitution.pushWord, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.tableTape, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.initialEncoding, OAI.MaxCutGames.Foundations.Complexity.encodeWord, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.normalizeState, OAI.MaxCutGames.Foundations.Complexity.MachineControl.statement, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.registerStates, OAI.MaxCutGames.Foundations.Complexity.MachineUnaryCounter.guard, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.RegisterAmbient
- def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.outerStatementline 540 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.tableReturnline 544 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.programline 546 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.program_tableline 551 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.program_outerline 558 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.boolViewline 562 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.boolView_outerline 566 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.tableExecutionline 575 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.tableExecution_stepsline 587 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.tableFrameline 596 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.extraFrameline 602 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.boundaryTapesline 607 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.initialTapesline 611 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.familyTapesline 618 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.boolWordline 632 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.toBoolWordline 637 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.fromBoolTapesline 642 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.toBoolTapesline 645 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.toBoolWord_boolWordline 648 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.boolWord_toBoolWordline 654 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.toBool_fromBoolline 660 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.fromBool_toBoolline 665 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.transport_tapes_apply_inline_MachineExpanderFamilyTapesline 670 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.toBoolTapes_eq_transportline 677 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.fromBoolTapes_eq_transportline 685 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.fromBoolTapes_updateline 693 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.toBoolTapes_updateline 702 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.configuration_fromBoolline 712 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.configuration_toBoolline 718 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.controlStatementInverseline 739 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.controlTraceline 747Source 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.MaxCutGames.Foundations.Complexity.MachineControl.program, OAI.MaxCutGames.Foundations.Complexity.MachineControl.configuration
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.controlDrainTraceline 771 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.controlTransferTraceline 790 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.clearRegisterline 815 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.registerStates_resetline 818 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.clearRegister_idempotentline 822 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.caller_clearRegisterline 825 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.clearRegister_positionline 828 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.clearRegister_registerline 831 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.boolTraceActualline 837Source 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.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.BoolAlphabet, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Label, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.State, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.boolView, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.program, OAI.MaxCutGames.Foundations.Complexity.MachineAlphabetTransport.configuration
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.drainBoolTraceline 848 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.transferBoolTraceline 865 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.installedTapesline 889Source documentation
Only these four tape words change during installation.
def installedTapes (base : Tape → List Bool) (newWord : List Bool) : Tape → List Bool := …
Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Tape
- def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.cleanedCounterTapesline 896 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.installTableBoolTraceline 899 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.cleanupCountersBoolTraceline 958 - theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.installTableTraceline 978Source 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.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Alphabet, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.toBoolTapes, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.resultTape, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.State, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.program, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.tableTape, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.clearRegister, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.fromBoolTapes, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.installedTapes
- theorem
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.cleanupCountersTraceline 993Source 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.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Tape, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.Alphabet, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.State, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.program, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.toBoolTapes, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.inputVertexTape, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.vertexCountTape, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.clearRegister, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.fromBoolTapes, OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.cleanedCounterTapes
- def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.installTableInTimeline 1004 - def
OAI.MaxCutGames.Foundations.Complexity.MachineExpanderFamily.cleanupCountersInTimeline 1019