OAI/Computability/UniqueGames/Reduction/AddressMachineLoopLemmas.lean
33 declarations, 0 contain sorry, 0 declared as axioms
The complete addressed outer-reduction machine
The fixed finite machine reads an encoded nonempty E3LIN occurrence list and writes the exact encoded addressed Unique Games instance. Its execution covers all headers, all occurrence tuples, every fixed noise/coefficient outcome, every permutation image, reversal, and complete tape cleanup.
- def
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.bitsline 18 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.stateTapesline 23 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.stateTapes_frameline 29 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.stateTapes_savedIndexline 39 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.stateTapes_privateline 44 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.stateTapes_headerline 52 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.stateTapes_readyline 63 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.stateTapes_cleanline 90 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.stateTapes_baseline 106 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.stateTapes_capacityline 115 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.appended_stateTapesline 128Source documentation
Appending actual tuple bytes is exactly the schedule's accumulator update.
theorem appended_stateTapes (F : SourceEncoding.Input) (digits : Fin k → Fin F.equations.length) (output payload : List Bool) : MachineAddressEdge.appended (AddressMachineSpace.addressEdgeSlots k s d T.vectors.length) (stateTapes k T F digits output) payload = stateTapes k T F digits (payload.reverse ++ output) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.MachineAddressEdge.appended, OAI.UniqueGamesTheorem.Reduction.AddressMachineSpace.addressEdgeSlots, OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.stateTapes
- theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.bodyTraceline 142Source documentation
The local-body premise of the odometer theorem is derived from the actual placed tuple-body implementation and its actual uniform budget theorem.
theorem bodyTrace (F : SourceEncoding.Input) : AddressOdometerSchedule.BodyTrace (AddressMachineProgram.program k T) (AddressMachineProgram.bodyStart k T) (AddressMachineProgram.next k T 0) (AddressMachineSpace.initialState k).1 (AddressMachineInitial.initialized k T F) (bits k T F) ((AddressTupleBudget.timePolynomial k T).eval (SourceEncoding.inputBits F).length) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.AddressOdometerSchedule.BodyTrace, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.program, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.bodyStart, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.next, OAI.UniqueGamesTheorem.Reduction.AddressMachineSpace.initialState, OAI.UniqueGamesTheorem.Reduction.AddressMachineInitial.initialized, OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.bits, OAI.UniqueGamesTheorem.Reduction.SourceEncoding.inputBits
- theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.setDigits_initialized_zeroline 165Source documentation
The all-zero assignment is already physically present after initialization.
theorem setDigits_initialized_zero (F : SourceEncoding.Input) : AddressOdometerSchedule.setDigits F.equations.length (fun _ : Fin k => 0) (AddressMachineInitial.initialized k T F) = AddressMachineInitial.initialized k T F := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.AddressOdometerSchedule.setDigits, OAI.UniqueGamesTheorem.Reduction.AddressMachineInitial.initialized
- def
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.finalTapesline 185 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.traversalline 190Source documentation
Actual complete tuple traversal, before the final output reversal.
def traversal (F : SourceEncoding.Input) : StateTransition.EvalsToInTime (TM2.step (AddressMachineProgram.program k T)) ⟨some (AddressMachineProgram.bodyStart k T), AddressMachineSpace.initialState k, AddressMachineInitial.initialized k T F⟩ (some ⟨some (AddressMachineProgram.finishStart k T), AddressMachineSpace.initialState k, finalTapes k T F⟩) (((AddressTupleBudget.timePolynomial k T).eval (SourceEncoding.inputBits F).length + 2*k) * F.equations.length^k) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.program, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.bodyStart, OAI.UniqueGamesTheorem.Reduction.AddressMachineSpace.initialState, OAI.UniqueGamesTheorem.Reduction.AddressMachineInitial.initialized, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.finishStart, OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.finalTapes, OAI.UniqueGamesTheorem.Reduction.SourceEncoding.inputBits
- theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.allBits_eqline 227Source documentation
Exact output order, including repeated constraints and the original header.
theorem allBits_eq (F : SourceEncoding.Input) : AddressOdometerSchedule.allBits (bits k T F) = (FixedOutcomes.occurrenceTuples F.equations.length k).flatMap (AddressOutcomeSpecs.tupleBits (AddressTupleBody.source F) k T) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.AddressOdometerSchedule.allBits, OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.bits, OAI.UniqueGamesTheorem.Reduction.FixedOutcomes.occurrenceTuples, OAI.UniqueGamesTheorem.Reduction.AddressOutcomeSpecs.tupleBits
- theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.final_reversedline 233 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.headerBits_eqline 247Source documentation
The actual header machine emits exactly the target instance's three headers.
theorem headerBits_eq (F : SourceEncoding.Input) : MachineAddressHeaders.Arithmetic.headerBits k s d T.vectors.length F.variables F.equations.length = encodeWords [(AddressGame.tableOutput (AddressTupleBody.source F) k T).vertices, 2^s, (AddressGame.tableOutput (AddressTupleBody.source F) k T).constraints.length] := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.MachineAddressHeaders.Arithmetic.headerBits, OAI.UniqueGamesTheorem.Reduction.AddressGame.tableOutput
- theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.final_accumulatorline 270Source documentation
The final reversed tape is exactly the complete encoded actual instance.
theorem final_accumulator (F : SourceEncoding.Input) : finalTapes k T F (AddressMachineProgram.accumulator k T) = (gameBits (AddressGame.tableOutput (AddressTupleBody.source F) k T)).reverse := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.finalTapes, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.accumulator, OAI.UniqueGamesTheorem.Reduction.AddressGame.tableOutput
- theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.final_otherline 276 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.final_outputEmptyline 283 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.final_currentline 293 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.final_remainingline 297 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.timePolynomialline 303Source documentation
The exponent and coefficients depend only on fixed reduction parameters.
def timePolynomial : Polynomial Nat := …
- theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.timePolynomial_evalline 306 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.inPolynomialTimeline 311 - def
OAI.UniqueGamesTheorem.Reduction.MachineAddressGame.outputline 345 - def
OAI.UniqueGamesTheorem.Reduction.MachineAddressGame.prefixPolynomialline 349 - def
OAI.UniqueGamesTheorem.Reduction.MachineAddressGame.timePolynomialline 352 - def
OAI.UniqueGamesTheorem.Reduction.MachineAddressGame.prefixInTimeline 357Source documentation
The complete actual prefix, with both initialization and every tuple body supplied by their constructed finite programs.
def prefixInTime (input : SourceEncoding.Input) : StateTransition.EvalsToInTime (AddressMachineProgram.machine k T).step (initList (AddressMachineProgram.machine k T) (SourceEncoding.inputBits input)) (some ⟨some (AddressMachineProgram.finishStart k T), AddressMachineSpace.initialState k, AddressMachineLoop.finalTapes k T input⟩) ((prefixPolynomial k T).eval (SourceEncoding.inputBits input).length) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.machine, OAI.UniqueGamesTheorem.Reduction.SourceEncoding.inputBits, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.finishStart, OAI.UniqueGamesTheorem.Reduction.AddressMachineSpace.initialState, OAI.UniqueGamesTheorem.Reduction.AddressMachineLoop.finalTapes, OAI.UniqueGamesTheorem.Reduction.MachineAddressGame.prefixPolynomial
- def
OAI.UniqueGamesTheorem.Reduction.MachineAddressGame.fullRunInTimeline 371Source documentation
Literal
initListto literalhaltList, including all private tape and finite-state cleanup. This theorem has no runtime premise.def fullRunInTime (input : SourceEncoding.Input) : TM2OutputsInTime (AddressMachineProgram.machine k T) (SourceEncoding.inputBits input) (some (gameBits (output k T input))) ((timePolynomial k T).eval (SourceEncoding.inputBits input).length) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.machine, OAI.UniqueGamesTheorem.Reduction.SourceEncoding.inputBits, OAI.UniqueGamesTheorem.Reduction.MachineAddressGame.output, OAI.UniqueGamesTheorem.Reduction.MachineAddressGame.timePolynomial
- def
OAI.UniqueGamesTheorem.Reduction.MachineAddressGame.computableInPolyTimeline 381 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineAddressGame.workAlphabetFiniteline 404Source documentation
Every working tape of the actual certificate uses the finite Bool alphabet.
theorem workAlphabetFinite (tape : (computableInPolyTime k T).tm.K) : Finite ((computableInPolyTime k T).tm.Γ tape) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineAddressGame.computableInPolyTime