OAI/Computability/UniqueGames/Machines/MachineFixedCopiesLemmas.lean
44 declarations, 0 contain sorry, 0 declared as axioms
A fixed number of copies of an arbitrary bit stream, by a real finite-alphabet
machine. This is the uniform-rounding stream primitive: copying a header-free
occurrence stream C times gives multiplicity C to every listed occurrence.
The input is preserved during the copy phase, physically drained, and replaced
by the forward-order result. No unbounded word is stored in finite control.
- def
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.copiesline 24 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.copies_zeroline 27 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.copies_succline 29 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.copies_lengthline 33 - def
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.tokensline 39 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.tokens_lengthline 42 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.templateOutputline 44 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.copiedLengthline 53 - abbrev
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.Tapeline 57 - abbrev
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.Labelline 58 - abbrev
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.Stateline 59 - def
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.initialStateline 61 - def
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.programline 63 - def
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.machineline 69 - def
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.tapesline 80 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.initList_eqline 83 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.haltList_eqline 93 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.copied_tapesline 101 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.drained_tapesline 107 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.transferred_tapesline 112 - def
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.outputInTimeline 119Source documentation
Copy, cleanup, and reversal all run on the actual finite transition program.
def outputInTime (C : Nat) (word : List Bool) : TM2OutputsInTime (machine C) word (some (copies C word)) ((4 * C + 1) * word.length + 3 * C + 3) := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.machine, OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.copies
- def
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.computableInPolyTimeline 165Source documentation
Its linear polynomial is measured in the actual input bit length.
noncomputable def computableInPolyTime (C : Nat) : TM2ComputableInPolyTime (id : List Bool → List Bool) id (copies C) where …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.copies
- theorem
OAI.UniqueGamesTheorem.Explicit.MachineFixedCopies.computation_finiteAlphabetline 181 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.identityTableline 196 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.inverseTableline 202 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.rowsline 210Source documentation
The saved fields are ordered
u,p,q,r,v. All four edges are oriented left-to-right; hence the last permutation is inverted.def rows {n q : Nat} (vertices : Fin 5 → Fin n) (p : PermutationTable q) : List (Constraint n q) := … - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.rows_lengthline 217 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.tokensline 222Source documentation
The program copies saved endpoint words and emits complete forward tables.
def tokens (identity inverse : List Bool) : List (MachineFieldTemplate.Token 5) := …
- theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.tokens_lengthline 228 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.fieldsline 231 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.rowBitsline 234 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.templateOutput_rowsline 237 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.fieldline 247Source documentation
A finite stack layout: five preserved fields, scratch, and reversed output.
def field (j : Fin 5) : Fin 7 := ⟨j.val, by omega⟩
- def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.scratchline 249 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.outputline 250 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.field_ne_scratchline 252 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.field_ne_outputline 258 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.scratch_ne_outputline 264 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.machineline 266 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.machine_finiteAlphabetline 277 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.phaseInTimeline 285Source documentation
Exact physical row execution, preserving the five saved fields and restoring scratch. This is a phase theorem; it does not assume its own execution.
def phaseInTime (identity inverse : List Bool) (base : Fin 7 → List Bool) (emptyScratch : base scratch = []) (state : MachineFieldTemplate.State Unit) : StateTransition.EvalsToInTime (machine identity inverse).step ⟨some (MachineFieldTemplate.startAt (tokens identity inverse).length 0), state, base⟩ (some ⟨none, MachineFieldTemplate.reset state, MachineFieldTemplate.outputTapes base output (MachineFieldTemplate.templateOutput (tokens identity inverse) (fun j => base (field j)))⟩) (3 * MachineFieldTemplate.copiedLength (tokens identity inverse) (fun j => base (field j)) + 37) := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.scratch, OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.machine, OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.tokens, OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.output, OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.field
- theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.phase_budgetline 300 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.subdivisionVertexWordsline 311Source documentation
The semantic subdivision numbering: originals and middle vertices on the left, then two private right vertices for each occurrence.
def subdivisionVertexWords (n Q u v e : Nat) : Fin 5 → Nat | 0 => u | 1 => n + Q + 2 * e | 2 => n + e | 3 => n + Q + 2 * e + 1 | 4 => v
- theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRows.subdivisionVertexWords_boundedline 318