OAI/Computability/UniqueGames/Machines/MachineSubdivisionBodySpecLemmas.lean
81 declarations, 0 contain sorry, 0 declared as axioms
Exact tape framing, row serialization, and a uniform polynomial bound for the already constructed whole subdivision-body execution.
- def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.resultTapesline 27 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.bodyResult_eqline 38Source documentation
Every tape at the body boundary, including all preserved headers and counters.
theorem bodyResult_eq {q : Nat} (base : Tape → List Bool) (u v : Nat) (table : Target.PermutationTable q) (suffix : List Bool) (ready : Ready base u v table suffix) : bodyResult base u v table suffix = resultTapes base u v table suffix := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.resultTapes
- theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.result_inputline 49 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.result_localsline 56 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.result_accumulatorline 67 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.encodeWord_succline 75 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.result_indicesline 78 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.rowBitsline 93Source documentation
Four whole rows, with the final table already in left-to-right orientation.
def rowBits {q : Nat} (u middle first last v : Nat) (table : Target.PermutationTable q) : List Bool := … - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.rowPayload_eqline 101 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.rowBits_eq_dynamicline 116Source documentation
The natural-word description is literally the established finite-target constraint codec, rather than an alternative encoding.
theorem rowBits_eq_dynamic {N q : Nat} (vertices : Fin 5 → Fin N) (table : Target.PermutationTable q) : rowBits (vertices 0).val (vertices 2).val (vertices 1).val (vertices 3).val (vertices 4).val table = MachineSubdivisionDynamicRows.rowBits vertices table := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.rowBits, OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionDynamicRows.rowBits
- theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionBodySpec.bodyBudget_leline 125Source documentation
One conservative bound uniform over all occurrences in this output. Only the fixed alphabet and the runtime header sizes appear in the polynomial.
theorem bodyBudget_le {q : Nat} (base : Tape → List Bool) (u v : Nat) (table : Target.PermutationTable q) (suffix : List Bool) (ready : Ready base u v table suffix) (n Q e : Nat) (hu : u < n) (hv : v < n) (he : e ≤ Q) (middle : base .middle = encodeWord (n + e)) (first : base .first = encodeWord (n + Q + 2 * e)) (last : base .last = encodeWord (n + Q + 2 * e + 1)) : bodyBudget base u v table suffix ≤ 100 * (n + 3 * Q + q * (q + 1) + 1) := by … - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.bodyBitsline 155 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.bodyBits_nilline 158 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.bodyBits_consline 160 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.identityBitsline 167 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.rowBitsline 170 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.outputRowsline 177 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.frameline 181 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.afterGuardline 192 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.frame_preparedline 196 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.guard_consline 203 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.guard_nilline 224 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoopFrame.readyline 241 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCorrespondence.Involutiveline 266 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCorrespondence.inverseTable_eqline 270 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCorrespondence.translations_involutiveline 278 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCorrespondence.rowBits_eq_semanticline 299 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCorrespondence.outputRows_eq_ofFnline 318 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCorrespondence.outputRows_eq_semanticline 327 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCorrespondence.output_eq_gameBitsline 338Source documentation
Exact complete serialized output, including the changed headers and every forward permutation-table entry, in occurrence order.
theorem output_eq_gameBits {q : Nat} (H : Instance q) (involutive : Involutive H) : MachineSubdivisionEmission.headerBits H.vertices q H.constraints.length ++ outputRows H.constraints.length 0 H.constraints = gameBits (SubdivisionTarget.subdivide H) := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCorrespondence.Involutive, OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionEmission.headerBits, OAI.UniqueGamesTheorem.Explicit.SubdivisionTarget.subdivide
- theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoop.rowPayload_eqline 356 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoop.bodyResult_eq_frameline 365 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoop.bodyBoundline 388 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoop.bodyInTimeline 390 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoop.loopInTimeline 406Source documentation
Every list occurrence is read once, emits exactly its four rows, and advances the three private numeric names. The loop includes its final zero-counter test.
def loopInTime {n q : Nat} (Q e : Nat) (edges : List (Constraint n q)) (emitted : List Bool) (fit : e + edges.length ≤ Q) : StateTransition.EvalsToInTime (machine q).step ⟨some .guard, initialState, frame Q e edges emitted⟩ (some ⟨some .finishStart, initialState, frame Q (e + edges.length) ([] : List (Constraint n q)) (emitted ++ outputRows Q e edges)⟩) (edges.length * (bodyBound n q Q + 1) + 1) := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionLoop.bodyBound
- def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.prefixPolynomialline 463 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.timePolynomialline 468 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.input_eqline 471 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.input_sizeline 475 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.finalTapesline 482 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.final_outputEmptyline 487 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.final_accumulatorline 489 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.prefixInTimeline 497Source documentation
The prefix contains every actual header read, fresh-name initialization, header emission, complete four-row body, and occurrence-counter test.
def prefixInTime {q : Nat} (H : Instance q) : StateTransition.EvalsToInTime (machine q).step (initList (machine q) (gameBits H)) (some ⟨some .finishStart, initialState, finalTapes H⟩) ((prefixPolynomial q).eval (gameBits H).length) := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.finalTapes, OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.prefixPolynomial
- def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.fullRunInTimeline 530Source documentation
Literal initialization to literal clean halting configuration, with exact semantic subdivision output. No execution or runtime premise is assumed.
def fullRunInTime {q : Nat} (H : Instance q) (involutive : Involutive H) : TM2OutputsInTime (machine q) (gameBits H) (some (gameBits (SubdivisionTarget.subdivide H))) ((timePolynomial q).eval (gameBits H).length) := by …Mentions: OAI.UniqueGamesTheorem.Explicit.SubdivisionTarget.subdivide, OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.timePolynomial
- def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.computableInPolyTimeline 540Source documentation
The input subtype records the mathematical involution property, while the same finite transition program is used for every instance of the fixed alphabet.
def computableInPolyTime (q : Nat) : TM2ComputableInPolyTime (fun H : {H : Instance q // Involutive H} => gameBits H.val) gameBits (fun H => SubdivisionTarget.subdivide H.val) where …Mentions: OAI.UniqueGamesTheorem.Explicit.SubdivisionTarget.subdivide
- def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.familyComputableInPolyTimeline 555 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionRuntime.workAlphabetFiniteline 570 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCompose.certifiedOutputline 586 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCompose.certifyline 591Source documentation
Attach the already-proved property without executing anything or changing the input or output codec.
def certify (upstream : TM2ComputableInPolyTime encode gameBits f) (involutive : ∀ a, Involutive (f a)) : TM2ComputableInPolyTime encode (fun H : {H : Instance q // Involutive H} => gameBits H.val) (certifiedOutput involutive) where …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCompose.certifiedOutput
- def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCompose.computableInPolyTimeline 601 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCompose.finiteAlphabetline 609 - def
OAI.UniqueGamesTheorem.Explicit.MachineSubdivisionCompose.translationComputableInPolyTimeline 618Source documentation
Binary-translation producers discharge the only table-law condition.
def translationComputableInPolyTime {s : Nat} (coordinates : Fin q ≃ Integration.BinaryLinear.Vector s) (upstream : TM2ComputableInPolyTime encode gameBits f) (translations : ∀ a, Integration.TranslationTarget.IsTranslationInstance coordinates (f a)) : TM2ComputableInPolyTime encode gameBits (fun a => SubdivisionTarget.subdivide (f a)) := …Mentions: OAI.UniqueGamesTheorem.Integration.BinaryLinear.Vector, OAI.UniqueGamesTheorem.Integration.TranslationTarget.IsTranslationInstance, OAI.UniqueGamesTheorem.Explicit.SubdivisionTarget.subdivide
- inductive
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.Tapeline 637 - abbrev
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.Tape.enumListline 642 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.Tape.enumList_getElem?_ctorIdx_eqline 645 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.Tape.enumList_nodupline 649 - instance
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.(instance at line 651)line 651 - abbrev
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.Stateline 655 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.initialStateline 657 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.headerFieldline 659 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.emitFieldline 664 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.tokensline 670 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.clearKeysline 673 - inductive
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.Labelline 677 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.headerNextline 686 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.emitEntryline 689 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.programline 692 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.machineline 708 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.coversline 719 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.accumulator_not_mem_clearKeysline 723 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineUniformProgram.output_not_mem_clearKeysline 724 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformHeaders.inputTapesline 737 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformHeaders.afterVerticesline 740 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformHeaders.afterAlphabetline 743 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformHeaders.resultTapesline 747 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineUniformHeaders.initList_eqline 752 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineUniformHeaders.first_resultline 758 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineUniformHeaders.second_resultline 766 - theorem
OAI.UniqueGamesTheorem.Explicit.MachineUniformHeaders.third_resultline 774 - def
OAI.UniqueGamesTheorem.Explicit.MachineUniformHeaders.headersInTimeline 784Source documentation
The input headers are consumed literally; all unread constraint bits retain their original order and no tape contains an implicit runtime number.
def headersInTime (C q n Q : Nat) (body : List Bool) : StateTransition.EvalsToInTime (machine C).step (initList (machine C) (encodeWords [n, q, Q] ++ body)) (some ⟨some (.scale 0), initialState, resultTapes n q Q body⟩) (n + q + Q + 6) := by …Mentions: OAI.UniqueGamesTheorem.Explicit.MachineUniformHeaders.resultTapes
- theorem
OAI.UniqueGamesTheorem.Explicit.MachineUniformHeaders.headers_budgetline 819