OAI/Computability/MaxCut/Machines/PoweringMachineRotor.lean
138 declarations, 0 contain sorry, 0 declared as axioms
A rotor step on the live unary port-table encoding. First read the reverse dart identifier; then read that dart's tail vertex. This uses no division or runtime graph data in finite control. Both positional selections are proved from the actual serialization.
- abbrev
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.Alphabetline 21 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.reverseRoleline 23 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.endpointRoleline 26 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.reverseRole_injectiveline 29 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.endpointRole_injectiveline 30 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.source_outside_reverseline 31 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.reverse_outside_endpointline 32 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.reverseTapesline 34 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.endpointTapesline 35 - inductive
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.Labelline 37 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.instructionline 42 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.reverseIdline 51 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.reverseAddressline 54 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.endpointAddressline 57 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.reverse_selectedline 60 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.endpoint_selectedline 70 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.afterReverseline 76 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.finalTapesline 81 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.stepsline 87 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.rotorTraceline 91 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.finalTapes_endpointline 141 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.finalTapes_otherline 152 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.steps_leline 161 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRotor.machineline 180Source documentation
Its finite description depends on the fixed degree and selected port; the vertex count and graph table are runtime tape data.
def machine (degree port : Nat) : FinTM2 where …
- abbrev
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.Alphabetline 207 - abbrev
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.Tapeline 208 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.firstline 210 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.shiftline 212 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.shift_injectiveline 214 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.rotorRoleline 218 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.rotorRole_injectiveline 223 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.Labelline 227 - instance
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.labelFintypeline 231 - instance
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.labelDecidableEqline 238 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.entryline 245 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.copyInstructionline 249 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.instructionline 256 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.stepsline 269 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.finalTapesline 275 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.finalTapes_otherline 284 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.wordTraceline 305Source documentation
Actual execution together with its endpoint word. No trace or running-time hypothesis is needed: the recursive proof composes the concrete instructions.
theorem wordTrace (table : PortTables.Table n d) (t : Nat) (placement : Tape t → K) (distinct : Function.Injective placement) (vertex : Fin n) (ports : Fin t → Fin d) (labels : Label t → Λ) (exit : Option Λ) (program : Λ → TM2.Stmt (Alphabet (K := K)) Λ (σ × Option Bool)) …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.Tape, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.Label, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.Alphabet
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.steps_leline 380 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.machineline 394 - abbrev
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.Tapeline 413 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.tableline 415 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.startline 416 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.queryline 417 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.scanline 418 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.reverseline 419 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.scratchline 420 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.leftEndpointline 421 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.rightEndpointline 422 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.leftCopyline 423 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.rightCopyline 424 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.rowOutputline 425 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.endpointline 427 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.endpoint_falseline 430 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.endpoint_trueline 431 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordSharedRoleline 434Source documentation
Table, query, scan, reverse identifier, scratch, selected endpoint.
def wordSharedRole (target : Bool) (i : Fin 6) : Fin 11 := …
- def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.trajectoryPlacementline 440Source documentation
Position zero is the caller's starting vertex; later positions are the separate physical trajectory tapes.
def trajectoryPlacement {t max : Nat} (h : t ≤ max) : Fin (t + 1) → Tape max := …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.Tape
- def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacementline 443 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement_inl_zeroline 448 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement_inl_oneline 450 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement_inl_twoline 452 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement_inl_threeline 454 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement_inl_fourline 456 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement_inl_fiveline 458 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement_firstline 460 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement_succline 462 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.relationPlacementline 465 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.relationPlacement_zeroline 469 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.relationPlacement_oneline 470 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.relationPlacement_twoline 471 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.relationPlacement_threeline 472 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.relationPlacement_fourline 473 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.relationPlacement_fiveline 474 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.equalityPlacementline 476 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.equalityPlacement_zeroline 480 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.equalityPlacement_oneline 481 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.equalityPlacement_twoline 482 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.equalityPlacement_threeline 483 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.equalityPlacement_fourline 484 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.equalityPlacement_fiveline 485 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordSharedRole_injectiveline 487 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordSharedRole_ne_startline 490 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordSharedRole_ne_rowOutputline 494 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.trajectoryPlacement_injectiveline 498 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordShared_ne_trajectoryline 519 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement_injectiveline 533Source documentation
Every tape used by a bounded word is placed on its own physical tape.
theorem wordPlacement_injective {t max : Nat} (ht : t ≤ max) (target : Bool) : Function.Injective (wordPlacement ht target) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.relationPlacement_injectiveline 550 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.equalityPlacement_injectiveline 554 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement_ne_rowOutputline 559Source documentation
Word subroutines cannot use the row-output tape, even temporarily.
theorem wordPlacement_ne_rowOutput {t max : Nat} (ht : t ≤ max) (target : Bool) (i : PoweringMachineWord.Tape t) : wordPlacement ht target i ≠ rowOutput max := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineWord.Tape, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.rowOutput
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.shared_ne_wordPlacement_succline 577Source documentation
A shared role is disjoint from every trajectory tape. This supplies the position-frame premise of
PoweringMachineWord.finalTapes_other.theorem shared_ne_wordPlacement_succ {t max : Nat} (ht : t ≤ max) (target : Bool) (role : Fin 11) (i : Fin t) : (Sum.inl role : Tape max) ≠ wordPlacement ht target (.inr i.succ) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.Tape, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.wordPlacement
- abbrev
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.ExtraTapeline 596 - abbrev
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.GlobalTapeline 597 - abbrev
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.Labelline 598 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.finalOutputline 600 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.commonPlacementline 603Source documentation
The unary start vertex and outer counter occupy the same physical tape.
def commonPlacement (max : Nat) (tape : PoweringMachineTapes.Tape max) : GlobalTape max := …
Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.Tape, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.GlobalTape
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.commonPlacement_injectiveline 606 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.commonPlacement_startline 612 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.commonPlacement_tableline 616 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.commonPlacement_scratchline 621 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.commonPlacement_rowOutputline 626 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.commonPlacement_ne_finalOutputline 631 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.commonPlacement_ne_headerline 636 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.headerPlacementline 644Source documentation
Header writers use the common work tapes but emit on the final output. The relation producer continues to use
commonPlacement rowOutput.def headerPlacement (max : Nat) (tape : PoweringMachineTapes.Tape max) : GlobalTape max := …
Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.Tape, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.GlobalTape
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.headerPlacement_injectiveline 648 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.headerPlacement_rowOutputline 663 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.headerPlacement_eq_commonline 667 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.headerPlacement_ne_dataline 671 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.headerPlacement_ne_headerline 679 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.castTapes_inline_PoweringMachineInitializeline 691 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.castStatement_inline_PoweringMachineInitializeline 694 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.castConfiguration_inline_PoweringMachineInitializeline 697 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.castTapes_apply_inline_PoweringMachineInitializeline 700 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.castConfiguration_mk_inline_PoweringMachineInitializeline 706 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.stepAux_cast_inline_PoweringMachineInitializeline 712 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.boolAlphabet_eq_inline_PoweringMachineInitializeline 720 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.mergeTapesline 726 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.castTapes_embedding_inline_PoweringMachineInitializeline 731 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.dropUnit_inline_PoweringMachineInitializeline 739 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.headerStatementline 747Source documentation
The native checked header statement is embedded and its inert extra register removed. All four native header tapes keep their identities.
def headerStatement (max N B : Nat) (label : HeaderLabel) : TM2.Stmt (fun _ : GlobalTape max => Bool) Label (Master N) := …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.GlobalTape, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.Label
- def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.headerConfigurationline 754 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.headerConfiguration_eq_inline_PoweringMachineInitializeline 759 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.stepAux_headerStatementline 773 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.programline 786 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.headerStepline 799 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.headerTraceline 815 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.initialGlobalTapesline 826 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.copyFirstTraceline 829 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.initializeTraceline 862Source documentation
A concrete successful trace: copy the live input count, then execute the existing header machine on that copy. Runtime is exactly
3*vertices+5.theorem initializeTrace (max N B vertices : Nat) (extra : ExtraTape max → List Bool) (suffix : List Bool) (input : extra (.inl (PoweringMachineTapes.table max)) = encodeWord vertices ++ suffix) (scratch : extra (.inl (PoweringMachineTapes.scratch max)) = []) (state : Master N) : (MachineComposition.advance (TM2.step (program max N B)))^[3 * vertices + 5] (some ⟨some (.inr .seed), state, initialGlobalTapes extra⟩) = some ⟨none, (state.1, none), mergeTapes (finalTapes B vertices []) extra⟩ := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.ExtraTape, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.table, OAI.MaxCutGames.Foundations.Complexity.encodeWord, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineTapes.scratch, OAI.MaxCutGames.Foundations.Complexity.MachineComposition.advance, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.program, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.initialGlobalTapes, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.mergeTapes
- def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.initializeInTimeline 874 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.instructionline 889Source documentation
The five finite initialization labels can be placed in a caller's program. The native halt becomes its chosen continuation in the very same transition.
def instruction {Λ : Type} (max N B : Nat) (labels : Label → Λ) (exit : Option Λ) (label : Label) : TM2.Stmt (fun _ : GlobalTape max => Bool) Λ (Master N) := …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.Label, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.GlobalTape
- def
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.initializeAtInTimeline 893 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.final_counterline 908 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.final_verticesline 913 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.final_dartsline 916 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.final_extraline 919