OAI/Computability/UniqueGames/Machines/MachineTableSplit.lean
28 declarations, 0 contain sorry, 0 declared as axioms
A fixed five-tape machine physically copies a graph table, preserves the original input, and splits its two unary header fields from the copied rows. The exact trace is ambient-state polymorphic for static machine placement.
- abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.Tapeline 17 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.Stateline 18 - inductive
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.Labelline 20 - abbrev
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.Label.enumListline 24 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.Label.enumList_getElem?_ctorIdx_eqline 27 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.Label.enumList_nodupline 31 - instance
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.(instance at line 33)line 33 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.tapesline 39Source documentation
Tape 0 is protected input, 1 is the working row stream, 2 is scratch, and 3 and 4 hold the extracted vertex and dart counts.
def tapes (original work vertices darts : List Bool) : Tape → List Bool := …
Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.Tape
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.initialTapesline 43 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.resultTapesline 45 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.resultTapes_originalline 48 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.resultTapes_workline 52 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.resultTapes_scratchline 55 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.resultTapes_verticesline 58 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.resultTapes_dartsline 61 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.programline 65Source documentation
Six finite control labels, independent of all input sizes and contents.
def program {σ : Type} : Label → TM2.Stmt (fun _ : Tape => Bool) Label (State σ) | .copyFirst => Reduction.MachineTransfer.loopAt 0 2 id false .copyFirst (some .copySecond) | .copySecond => MachineCopy.forkLoop 2 0 1 false .copySecond (some .startVertices) | .startVertices => Hastad.SourceMachine.fieldStart 3 .readVertices | .readVertices => Hastad.SourceMachine.fieldLoop 1 3 .readVertices (some .startDarts) | .startDarts => Hastad.SourceMachine.fieldStart 4 .readDarts | .readDarts => Hastad.SourceMachine.fieldLoop 1 4 .readDarts noneMentions: OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.Label, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.Tape, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.State, OAI.UniqueGamesTheorem.Reduction.MachineTransfer.loopAt, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineCopy.forkLoop, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceMachine.fieldStart, OAI.UniqueGamesTheorem.Foundations.Hastad.SourceMachine.fieldLoop
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.exactStepsline 73 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.splitTraceline 76 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.timePolynomialline 146 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.timePolynomial_evalline 148 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.exactSteps_leline 151 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.splitInTimeline 158 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.machineline 168 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.initial_configurationline 179 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.rowsBitsline 186 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.tableBits_header_rowsline 189 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.tableTraceline 193 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.initializedTableInTimeline 203Source documentation
The concrete machine starts at its genuine initial configuration on a full graph table and leaves every output field on the stated physical tape.
def initializedTableInTime (table : PCP.GraphTables.Table) : StateTransition.EvalsToInTime machine.step (initList machine (PCP.GraphTables.tableBits table)) (some ⟨none, ((), none), resultTapes table.vertices table.darts (rowsBits table)⟩) (timePolynomial.eval (PCP.GraphTables.tableBits table).length) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.Table, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.machine, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.tableBits, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.resultTapes, OAI.UniqueGamesTheorem.Foundations.Complexity.MachineTableSplit.rowsBits