OAI/Computability/UniqueGames/Reduction/AddressTuplePolynomialLemmas.lean
59 declarations, 0 contain sorry, 0 declared as axioms
The actual address machine's final bridge, cleanup, reversal, and halt. The
polynomial cleanup bound follows from space used by the supplied actual prefix
execution. The complete reduction supplies that prefix in MachineAddressGame.
- def
OAI.UniqueGamesTheorem.Integration.AddressTuplePolynomial.run_actualline 19 - theorem
OAI.UniqueGamesTheorem.Integration.AddressTuplePolynomial.trace_actualline 48Source documentation
The explicit iterated transition trace and its uniform bound, for callers that compose traces directly instead of runtime-witness structures.
theorem trace_actual (T : NoiseTables.Table s d) (labels : AddressTupleBody.Label k s d noiseCount (AddressOutcomeSpecs.rows k T) → Λ) (exit : Option Λ) (P : Λ → TM2.Stmt (fun _ : AddressTupleBody.Arena k s d noiseCount => Bool) Λ (BodyState k)) (atLabels : ∀ l, P (labels l) = instruction (AddressOutcomeSpecs.rows k T) labels exit l) (F : SourceEncoding.Input) (tuple : Fin k → Fin F.equations.length) (base : AddressTupleBody.Arena k s d noiseCount → List Bool) (ready : Ready F tuple base) (clean : MachineAddressEdge.Clean (Slots k s d noiseCount) base) (oldRhs : Fin k → Bool) (hB : base (headerTape k s d noiseCount .baseValue) = encodeWord (CanonicalAddress.base F.variables F.equations.length s d)) (hC : base (headerTape k s d noiseCount .capacity) = …Mentions: OAI.UniqueGamesTheorem.Integration.NoiseTables.Table, OAI.UniqueGamesTheorem.Integration.AddressTupleBody.Label, OAI.UniqueGamesTheorem.Integration.AddressTupleBody.Arena
- abbrev
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.Tapeline 82 - abbrev
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.Stateline 84 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.accumulatorline 88 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.outputline 89 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.accumulator_ne_outputline 91 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.clearKeysline 95Source documentation
The finalizer visits every other tape in a fixed finite order.
def clearKeys : List (Tape k T) := by …
Mentions: OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.Tape
- theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.mem_clearKeysline 100 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.accumulator_not_mem_clearKeysline 105 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.output_not_mem_clearKeysline 106 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.clearKeys_coversline 108 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.clearKeys_nodupline 111 - abbrev
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.HeaderLabelline 115 - abbrev
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.BodyLabelline 116 - abbrev
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.FinishLabelline 118 - inductive
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.Labelline 120 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.headerLabelsline 130 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.initializeLabelsline 131 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.bodyLabelsline 132 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.finishLabelsline 133 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.startline 135 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.initializeStartline 136 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.bodyStartline 137 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.checkLabelline 138 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.resetLabelline 139 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.finishStartline 140 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.nextline 142 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.resetAtline 145 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.next_ltline 148 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.next_geline 150 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.resetAt_ltline 152 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.programline 157Source documentation
Header, digit initialization, physical tuple body, carry loops, and complete finalization are placed in a single actual finite transition program.
def program : Label k T → TM2.Stmt (fun _ : Tape k T => Bool) (Label k T) (State k) | .header l => MachineAddressHeaders.statement (AddressMachineSpace.fullHeaderSlots k s d T.vectors.length) (headerLabels k T) (some (initializeStart k T)) l | .initialize l => MachineOdometerInit.statement (AddressMachineSpace.odometerSlots k s d T.vectors.length) (initializeLabels k T) (some (bodyStart k T)) l | .body l => Integration.AddressTupleBody.instruction (AddressOutcomeSpecs.rows k T) (bodyLabels k T) (some (next k T 0)) l | .check j => MachineTupleOdometer.increment (AddressMachineSpace.current k s d T.vectors.length j) (AddressMachineSpace.remaining k s d T.vectors.length j) …Mentions: OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.Label, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.Tape, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.State, OAI.UniqueGamesTheorem.Reduction.MachineAddressHeaders.statement, OAI.UniqueGamesTheorem.Reduction.AddressMachineSpace.fullHeaderSlots, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.headerLabels, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.initializeStart, OAI.UniqueGamesTheorem.Reduction.AddressMachineSpace.odometerSlots, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.initializeLabels, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.bodyStart, OAI.UniqueGamesTheorem.Integration.AddressTupleBody.instruction, OAI.UniqueGamesTheorem.Reduction.AddressOutcomeSpecs.rows, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.bodyLabels, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.next, OAI.UniqueGamesTheorem.Reduction.AddressMachineSpace.current, OAI.UniqueGamesTheorem.Reduction.AddressMachineSpace.remaining
- theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.atHeaderline 179 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.atInitializeline 183 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.atBodyline 188 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.atCheckline 192 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.atResetline 197 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.atFinishline 202 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.finishStartStepline 207Source documentation
This bridge has no data-dependent action and costs exactly one transition.
theorem finishStartStep (state : State k) (base : Tape k T → List Bool) : TM2.step (program k T) ⟨some (finishStart k T),state,base⟩ = some ⟨SourceRuntimeFinish.entry (clearKeys k T) (finishLabels k T),state,base⟩ := by …Mentions: OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.State, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.Tape, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.program, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.finishStart, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.clearKeys, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.finishLabels
- def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.finishStartInTimeline 214 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.machineline 223Source documentation
All alphabets and registers are finite. Counts live solely on Bool stacks.
def machine : FinTM2 where …
- theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.machine_mainline 234 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.machine_programline 235 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.machine_initialStateline 236 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.machine_inputline 237 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.machine_outputline 238 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.inputAlphabetline 241Source documentation
Identity alphabet encodings at both ends of the concrete machine.
def inputAlphabet : (machine k T).Γ (machine k T).k₀ ≃ Bool := Equiv.refl Bool
Mentions: OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.machine
- def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.outputAlphabetline 242 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.inputTapesline 244 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.outputTapesline 247 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.inputTapes_sourceline 250 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.inputTapes_otherline 253 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.outputTapes_outputline 256 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.outputTapes_otherline 259 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.initList_eqline 262 - theorem
OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.haltList_eqline 274 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineFinish.timePolynomialline 306 - def
OAI.UniqueGamesTheorem.Reduction.AddressMachineFinish.completePrefixline 313Source documentation
Finish the concrete program, including its one-step finalizer entry bridge. The runtime bound uses all actual intermediate tapes, with no output-size or private-space assumption.
def completePrefix (input : List Bool) (prefixTime : Polynomial Nat) (base : AddressMachineProgram.Tape k T → List Bool) (execution : StateTransition.EvalsToInTime (AddressMachineProgram.machine k T).step (initList (AddressMachineProgram.machine k T) input) (some ⟨some (AddressMachineProgram.finishStart k T), AddressMachineSpace.initialState k, base⟩) (prefixTime.eval input.length)) (outputEmpty : base (AddressMachineProgram.output k T) = []) : TM2OutputsInTime (AddressMachineProgram.machine k T) input (some (base (AddressMachineProgram.accumulator k T)).reverse) ((timePolynomial k T prefixTime).eval input.length) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.Tape, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.machine, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.finishStart, OAI.UniqueGamesTheorem.Reduction.AddressMachineSpace.initialState, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.output, OAI.UniqueGamesTheorem.Reduction.AddressMachineProgram.accumulator, OAI.UniqueGamesTheorem.Reduction.AddressMachineFinish.timePolynomial