OAI/Computability/UniqueGames/Reduction/AddressTupleCleanupLemmas.lean
66 declarations, 0 contain sorry, 0 declared as axioms
The exact frame after a tuple body and its field cleanup
Loading replaces the initially empty equation-field tapes. Appending writes only the shared reversed-output header, which is outside those fields. The actual field drains therefore restore the original arena with precisely the same appended bytes. Saved occurrence indices and the odometer survive.
- def
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.loadedFieldsline 15Source documentation
The executable field order is slot-major within each tuple position.
def loadedFields : List (AddressMachineSpace.Tape k s d noiseCount) := …
- theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.loadedFields_lengthline 20 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.mem_loadedFieldsline 23 - abbrev
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.Labelline 37 - abbrev
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.clearedline 39 - abbrev
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.stepsline 45Source documentation
Proof-side cost on the shared arena. Its arithmetic-header tape dimensions use the fixed polynomial coefficient representation in
PolynomialMachine. The executable drain list, entry, and instructions do not evaluate this cost.noncomputable abbrev steps (base : AddressMachineSpace.Tape k s d noiseCount → List Bool) := …
- abbrev
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.budgetline 48 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_fieldline 51 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_outsideline 58Source documentation
Every tape outside the physical loaded fields is preserved verbatim.
theorem cleared_outside (base : AddressMachineSpace.Tape k s d noiseCount → List Bool) (tape : AddressMachineSpace.Tape k s d noiseCount) (outside : ∀ position : Fin k, ∀ slot : Fin 4, tape ≠ .field position slot) : cleared k s d noiseCount base tape = base tape := by …Mentions: OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared
- theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_sourceline 67 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_savedIndexline 73 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_extraline 80 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_indexline 87 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_workline 93 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_scratchline 99 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_copyScratchline 105 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_headerTapeline 111 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_currentline 119 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_remainingline 126 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared_finalOutputline 133 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.steps_leline 140 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.steps_le_uniformline 145 - abbrev
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.entryline 153 - def
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.instructionline 157Source documentation
Fixed concrete drain instructions on the actual shared address state.
def instruction (labels : Label k s d noiseCount → Λ) (exit : Option Λ) : Label k s d noiseCount → TM2.Stmt (fun _ : AddressMachineSpace.Tape k s d noiseCount => Bool) Λ (AddressMachineSpace.State k) := …Mentions: OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.Label
- theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.traceline 162 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.trace_cleanline 175 - def
OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.executionline 187 - abbrev
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.Arenaline 212 - def
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.fieldAssignmentline 218Source documentation
The explicit field assignment performed by all
kreal lookup stages. Unrelated tapes, including the loader's empty index/work tapes, are unchanged.def fieldAssignment (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (baseArena : Arena k s d noiseCount → List Bool) : Arena k s d noiseCount → List Bool | .field j slot => encodeWord ((SourceEncoding.equationWords F.equations[(tuple j).val])[slot.val]'(by simp)) ++ baseArena (.field j slot) | tape => baseArena tapeMentions: OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.Arena
- theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.stageTapes_eqline 225 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.fieldAssignment_frameline 251 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_frameline 257 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_fieldline 265 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_sourceline 272 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_extraline 278 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_headerline 285 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_radixline 293 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_capacityline 301 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_currentline 309 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_remainingline 316 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_finalOutputline 323 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_loaderWorkline 330 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_privateAddressline 345 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_cleanline 355Source documentation
Cleanliness of the actual edge machine is preserved by the actual loader. All of these local work tapes occupy the private disjoint arena block.
theorem loaded_clean (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (baseArena : Arena k s d noiseCount → List Bool) (clean : MachineAddressEdge.Clean (AddressMachineSpace.addressEdgeSlots k s d noiseCount) baseArena) : MachineAddressEdge.Clean (AddressMachineSpace.addressEdgeSlots k s d noiseCount) (MachineSourceTuple.stageTapes F tuple baseArena k) := by …Mentions: OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.Arena
- theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_rhsline 374 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_nameline 384 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_occurrenceline 393 - def
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.canonicalValuesline 399 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_canonicalFieldline 406Source documentation
The three names and the distinct saved occurrence field are exact unary values; the RHS remains on its separate field tape.
theorem loaded_canonicalField (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (baseArena : Arena k s d noiseCount → List Bool) (hsaved : ∀ j, baseArena (.savedIndex j) = encodeWord (tuple j).val) (hempty : ∀ j slot, baseArena (.field j slot) = []) (j : Fin k) (slot : Fin 4) : MachineSourceTuple.stageTapes F tuple baseArena k (AddressMachineSpace.canonicalField k s d noiseCount j slot) = encodeWord (canonicalValues F tuple j slot) := by …Mentions: OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.Arena, OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.canonicalValues
- theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.loaded_savedFieldsline 427Source documentation
Literal input function used by the generic field-template machine.
theorem loaded_savedFields (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (baseArena : Arena k s d noiseCount → List Bool) (hsaved : ∀ j, baseArena (.savedIndex j) = encodeWord (tuple j).val) (hempty : ∀ j slot, baseArena (.field j slot) = []) : (fun i => MachineSourceTuple.stageTapes F tuple baseArena k (MachineAddressEdge.addressSlots (AddressMachineSpace.addressEdgeSlots k s d noiseCount) (.field i))) = CanonicalBodyMachine.savedFields (canonicalValues F tuple) := by …Mentions: OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.Arena, OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.canonicalValues
- abbrev
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.Arenaline 462 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.cleared_outputTapesline 465Source documentation
Clearing the physical fields commutes with an append to any other tape.
theorem cleared_outputTapes (base : Arena k s d noiseCount → List Bool) (output : Arena k s d noiseCount) (bits : List Bool) (outside : ∀ j : Fin k, ∀ slot : Fin 4, output ≠ .field j slot) : AddressTupleCleanup.cleared k s d noiseCount (MachineFieldTemplate.outputTapes base output bits) = MachineFieldTemplate.outputTapes (AddressTupleCleanup.cleared k s d noiseCount base) output bits := by …Mentions: OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.Arena, OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared
- theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.cleared_appendedline 486Source documentation
The actual edge-output slot is a header tape, not a loaded equation field.
theorem cleared_appended (base : Arena k s d noiseCount → List Bool) (bits : List Bool) : AddressTupleCleanup.cleared k s d noiseCount (MachineAddressEdge.appended (AddressMachineSpace.addressEdgeSlots k s d noiseCount) base bits) = MachineAddressEdge.appended (AddressMachineSpace.addressEdgeSlots k s d noiseCount) (AddressTupleCleanup.cleared k s d noiseCount base) bits := by …Mentions: OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.Arena, OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared
- theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.cleared_fieldAssignmentline 497Source documentation
Cleanup erases exactly the fields assigned by the tuple loader.
theorem cleared_fieldAssignment (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (base : Arena k s d noiseCount → List Bool) (hfields : ∀ j slot, base (.field j slot) = []) : AddressTupleCleanup.cleared k s d noiseCount (AddressTupleLoaded.fieldAssignment F tuple base) = base := by …Mentions: OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.Arena, OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared, OAI.UniqueGamesTheorem.Integration.AddressTupleLoaded.fieldAssignment
- theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.cleared_loadedline 505 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.cleared_appended_loadedline 515Source documentation
Exact endpoint of load, edge-byte append, and actual loaded-field cleanup.
theorem cleared_appended_loaded (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (base : Arena k s d noiseCount → List Bool) (hindex : base .index = []) (hwork : base .work = []) (hfields : ∀ j slot, base (.field j slot) = []) (bits : List Bool) : AddressTupleCleanup.cleared k s d noiseCount (MachineAddressEdge.appended (AddressMachineSpace.addressEdgeSlots k s d noiseCount) (MachineSourceTuple.stageTapes F tuple base k) bits) = MachineAddressEdge.appended (AddressMachineSpace.addressEdgeSlots k s d noiseCount) base bits := by …Mentions: OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.Arena, OAI.UniqueGamesTheorem.Integration.AddressTupleCleanup.cleared
- abbrev
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.finalTapesline 527Source documentation
Literal final arena; this abbreviation contains no execution assumption.
noncomputable abbrev finalTapes (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (base : Arena k s d noiseCount → List Bool) (bits : List Bool) : Arena k s d noiseCount → List Bool := …Mentions: OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.Arena
- theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.finalTapes_otherline 543 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.finalTapes_sourceline 550 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.finalTapes_currentline 554 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.finalTapes_remainingline 561 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.finalTapes_headerline 569Source documentation
All arithmetic headers except the reversed-output tape remain literal.
theorem finalTapes_header (header : MachineAddressHeaders.Arithmetic.Control) (hne : header ≠ .reversed) : finalTapes F tuple base bits (AddressMachineSpace.headerTape k s d noiseCount header) = base (AddressMachineSpace.headerTape k s d noiseCount header) := by …Mentions: OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.finalTapes
- theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.finalTapes_radixline 578 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.finalTapes_capacityline 586 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.finalTapes_outputline 594 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTupleFrame.finalTapes_cleanline 602