OAI/Computability/MaxCut/Games/PoweringInitializeFrame.lean
35 declarations, 0 contain sorry, 0 declared as axioms
Concrete global configurations and tape separation
These lemmas specialize the checked initializer placement to the fixed global
machine. The final configuration is the actual Turing.haltList, with the
machine's clean initial register and only the output tape populated.
- def
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.initialExtraline 13Source documentation
The extra tapes initially contain only the live serialized table.
def initialExtra (graph : PortTables.Table vertices d) (n : Nat) : PoweringMachineInitialize.ExtraTape (PoweringMachineRowBody.capacity n) → List Bool := …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.ExtraTape, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRowBody.capacity
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.initialExtra_tableline 18 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.initialExtra_otherline 22 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.initialExtra_scratchline 27 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.preparedTapesline 33Source documentation
Exact frame left by initialization, including the preserved input table.
def preparedTapes (graph : PortTables.Table vertices d) (n : Nat) : PoweringMachineGlobal.Tape n → List Bool := …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineGlobal.Tape
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.prepared_commonRoleline 39 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.prepared_readyline 47 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.prepared_startline 57 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.prepared_counterline 65Source documentation
Installing the outer-loop counter changes nothing: it is already present.
theorem prepared_counter (graph : PortTables.Table vertices d) (n : Nat) : PoweringMachineOuterLoop.counter (PoweringMachineGlobal.placement n) (preparedTapes graph n) vertices = preparedTapes graph n := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineOuterLoop.counter, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineGlobal.placement, OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.preparedTapes
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.prepared_outputline 72 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.prepared_verticesline 77 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.prepared_dartsline 80 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.prepared_sourceline 84 - def
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.preparedCfgline 87 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.initialGlobalTapes_eqline 93Source documentation
A homogeneous Boolean description of the machine's literal initial stacks.
theorem initialGlobalTapes_eq (graph : PortTables.Table vertices d) (n : Nat) : PoweringMachineInitialize.initialGlobalTapes (initialExtra graph n) = fun tape => if tape = PoweringMachineGlobal.inputTape n then PortTables.tableBits graph else [] := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.initialGlobalTapes, OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.initialExtra, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineGlobal.inputTape
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.machine_initialStacks_inline_PoweringInitializeFrameline 108 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.initList_eqline 120Source documentation
The trace starts at
Turing.initList, with no assumed prepared work tapes.theorem initList_eq (graph : PortTables.Table vertices d) (n : Nat) : initList (PoweringMachineGlobal.machine d n) (PortTables.tableBits graph) = ⟨some (PoweringMachineGlobal.main d n), PoweringMasterState.clean (PoweringMachineRowBody.bufferSize d n), PoweringMachineInitialize.initialGlobalTapes (initialExtra graph n)⟩ := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineGlobal.machine, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineGlobal.main, OAI.MaxCutGames.Foundations.Complexity.PoweringMasterState.clean, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRowBody.bufferSize, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineInitialize.initialGlobalTapes, OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.initialExtra
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.tableBits_headline 130Source documentation
The first serialized input field is the actual number of vertices.
theorem tableBits_head (graph : PortTables.Table vertices d) : PortTables.tableBits graph = encodeWord vertices ++ encodeWords (PortTables.tableWords graph).tail := rflMentions: OAI.MaxCutGames.Foundations.Complexity.encodeWord, OAI.MaxCutGames.Foundations.Complexity.encodeWords
- def
OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.initializeInTimeline 136Source documentation
Initialization of the actual global program from its literal input list. Every work-tape readiness property follows from the explicit final frame.
def initializeInTime (graph : PortTables.Table vertices d) (n : Nat) : StateTransition.EvalsToInTime (PoweringMachineGlobal.machine d n).step (initList (PoweringMachineGlobal.machine d n) (PortTables.tableBits graph)) (some (preparedCfg graph n)) (3 * vertices + 5) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMachineGlobal.machine, OAI.MaxCutGames.Foundations.Complexity.PoweringInitializeFrame.preparedCfg
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.placement_injectiveline 164 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.placement_ne_outputline 167 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.output_ne_placementline 173 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.headerVertices_ne_placementline 177 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.headerDarts_ne_placementline 183 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.placement_ne_headerVerticesline 189 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.placement_ne_headerDartsline 193 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.headerVertices_ne_headerDartsline 197 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.headerVertices_ne_outputline 200 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.headerDarts_ne_outputline 203 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.headerVertices_ne_scratchline 206 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.headerDarts_ne_scratchline 211 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.scratch_ne_outputline 216 - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.boolList_mpr_eqline 223Source documentation
A Boolean tape alphabet is constant, so the type-equality transport in the bundled machine's dependent stack specification leaves its word intact.
@[simp] theorem boolList_mpr_eq (h : List Bool = List Bool) (bits : List Bool) : h.mpr bits = bits := rfl - theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.haltList_tapesline 228Source documentation
The dependent stack definition in
haltListis exactly the Boolean output tape shape produced by the checked finite cleanup program.theorem haltList_tapes (d n : Nat) (output : List Bool) : (Turing.haltList (machine d n) output).stk = MachineDrainMany.haltTapes (outputTape n) output := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.MachineDrainMany.haltTapes
- theorem
OAI.MaxCutGames.Foundations.Complexity.PoweringGlobalConfiguration.haltList_eqline 239Source documentation
Exact identity with the global machine's actual output specification.
theorem haltList_eq (d n : Nat) (output : List Bool) : Turing.haltList (machine d n) output = (⟨none, PoweringMasterState.clean (PoweringMachineRowBody.bufferSize d n), MachineDrainMany.haltTapes (outputTape n) output⟩ : (machine d n).Cfg) := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.PoweringMasterState.clean, OAI.MaxCutGames.Foundations.Complexity.PoweringMachineRowBody.bufferSize, OAI.MaxCutGames.Foundations.Complexity.MachineDrainMany.haltTapes