OAI/Computability/UniqueGames/Reduction/SourceEquationLookupLemmas.lean
110 declarations, 0 contain sorry, 0 declared as axioms
- inductive
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Tapeline 18 - inductive
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Labelline 22 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.fieldDestinationline 28 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.readStartline 29 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.readLoopline 30 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.skipLabelline 31 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.headerLabelline 32 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.programline 39Source documentation
Eight binary stacks and fixed finite control. Every loop scans one actual bit or tests one actual counter bit. The arbitrary ambient state is preserved.
def program : Label → TM2.Stmt (fun _ : Tape => Bool) Label (σ × Option Bool) | .copyOut => Reduction.MachineTransfer.loopAt .source .scratch id false .copyOut (some .copyBack) | .copyBack => MachineCopy.forkLoop .scratch .source .work false .copyBack (some .headerFirst) | .headerFirst => MachineLookup.discard .work .headerFirst .headerSecond | .headerSecond => MachineLookup.discard .work .headerSecond .guard | .guard => MachineUnaryCounter.guard .index (skipLabel 0) (readStart 0) | .skip slot => MachineLookup.discard .work (.skip slot) (skipLabel (slot.val + 1)) | .read slot => if slot.1.val < 4 then if slot.2 then …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Label, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Tape, OAI.UniqueGamesTheorem.Reduction.MachineTransfer.loopAt, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.skipLabel, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.readStart
- theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.atSkipline 56 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.atReadStartline 60 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.atReadLoopline 64 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.atReadDoneline 69 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.discardHeadersTraceline 73Source documentation
The two header fields are physically consumed from the work copy.
theorem discardHeadersTrace (base : Tape → List Bool) (variableCount equations : Nat) (suffix : List Bool) (hinput : base .work = encodeWords [variableCount, equations] ++ suffix) (ambient : σ) : (advance (TM2.step program))^[variableCount + equations + 2] (some ⟨some .headerFirst, (ambient, none), base⟩) = some ⟨some .guard, (ambient, none), Function.update base .work suffix⟩ := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Tape, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.program
- theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.discardFourTraceline 87Source documentation
The fixed skip body consumes four complete unary fields and returns to the same counter guard, preserving the counter and every other tape.
theorem discardFourTrace (base : Tape → List Bool) (values : List Nat) (hlen : values.length = 4) (suffix : List Bool) (hinput : base .work = encodeWords values ++ suffix) (ambient : σ) : (advance (TM2.step program))^[(encodeWords values).length] (some ⟨some (skipLabel 0), (ambient, none), base⟩) = some ⟨some .guard, (ambient, none), Function.update base .work suffix⟩ := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Tape, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.program, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.skipLabel
- theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.readFourTraceline 98Source documentation
Read the selected four fields using the already checked scanner.
theorem readFourTrace (base : Tape → List Bool) (values : List Nat) (hlen : values.length = 4) (suffix : List Bool) (hinput : base .work = encodeWords values ++ suffix) (ambient : σ) : (advance (TM2.step program))^[(encodeWords values).length + 5] (some ⟨some (readStart 0), (ambient, none), base⟩) = some ⟨none, (ambient, none), SourceFieldArray.sequenceTapes .work fieldDestination base 0 values suffix⟩ := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Tape, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.program, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.readStart, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.fieldDestination
- def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.scanTapesline 115Source documentation
Normal form for the changing counter and consumed work-copy prefix.
def scanTapes (base : Tape → List Bool) (index : Nat) (indexSuffix input : List Bool) : Tape → List Bool := …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Tape
- theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.scanTapes_workline 119 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.scanTapes_indexline 123 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.scanTapes_otherline 128 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.update_scanTapes_workline 133 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.skipEquationsTraceline 142Source documentation
Each equation-index bit causes one genuine guard transition and exactly four field-discard loops. The final zero guard enters the field reader.
theorem skipEquationsTrace {n : Nat} (base : Tape → List Bool) (prior : List (CloneGap.Equation (Fin n))) (indexSuffix suffix : List Bool) (ambient : σ) (register : Option Bool) : (advance (TM2.step program))^[(encodeWords (prior.flatMap equationWords)).length + prior.length + 1] (some ⟨some .guard, (ambient, register), scanTapes base prior.length indexSuffix (encodeWords (prior.flatMap equationWords) ++ suffix)⟩) = some ⟨some (readStart 0), (ambient, none), scanTapes base 0 indexSuffix suffix⟩ := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Tape, OAI.UniqueGamesTheorem.Reduction.CloneGap.Equation, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.program, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.scanTapes, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.readStart
- theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.fieldDestination_eqline 190 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.fieldDestination_injective_belowline 196 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.readFour_output_fieldline 202 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.readFour_output_workline 214 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.readFour_output_frameline 222 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.outputTapesline 230 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.scanStepsline 236 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.scanReadTraceline 242 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.lookupStepsline 270 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.lookupWithSplitTraceline 274 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.output_sourceline 304 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.output_indexline 310 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.output_workline 316 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.output_fieldline 322 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.output_firstline 329 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.output_secondline 335 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.output_thirdline 341 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.output_rhsline 347 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.output_frameline 353 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.equationWords_fourline 360 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.fieldWordsline 365 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.output_fieldWordsline 368 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.lookupSteps_le_inputline 374 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.timePolynomialline 393 - theorem
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.timePolynomial_evalline 395 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.lookupWithSplitInTimeline 399Source documentation
A polynomial bound on the actual complete copy/skip/read execution.
def lookupWithSplitInTime (F : SourceEncoding.Input) (prior : List (CloneGap.Equation (Fin F.variables))) (equation : CloneGap.Equation (Fin F.variables)) (after : List (CloneGap.Equation (Fin F.variables))) (hsplit : F.equations = prior ++ equation :: after) (base : Tape → List Bool) (indexSuffix : List Bool) (hsource : base .source = inputBits F) (hindex : base .index = encodeWord prior.length ++ indexSuffix) (hwork : base .work = []) (hscratch : base .scratch = []) (ambient : σ) (register : Option Bool) : StateTransition.EvalsToInTime (TM2.step program) ⟨some .copyOut, (ambient, register), base⟩ (some ⟨none, (ambient, none), outputTapes base equation indexSuffix (encodeWords (after.flatMap equationWords))⟩) …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.CloneGap.Equation, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Tape, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.program, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.outputTapes
- def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.lookupInTimeline 419 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.machineline 438 - def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.machineInTimeline 450Source documentation
The same proved run stated directly for the concrete finite machine.
def machineInTime (F : SourceEncoding.Input) (i : Fin F.equations.length) (base : Tape → List Bool) (indexSuffix : List Bool) (hsource : base .source = inputBits F) (hindex : base .index = encodeWord i.val ++ indexSuffix) (hwork : base .work = []) (hscratch : base .scratch = []) (register : Option Bool) : StateTransition.EvalsToInTime machine.step ⟨some .copyOut, ((), register), base⟩ (some ⟨none, ((), none), outputTapes base F.equations[i.val] indexSuffix (encodeWords ((F.equations.drop (i.val + 1)).flatMap equationWords))⟩) (timePolynomial.eval (inputBits F).length) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Tape, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.outputTapes
- def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.placedLookupInTimeline 466Source documentation
Same-tape placement into the caller's finite control. Choosing the ambient type to be
τ × Unitgives the shared state(τ × Unit) × Option Boolused by the field-template machinery. The lookup's final transition entersexit.noncomputable def placedLookupInTime {Λ' : Type} (labels : Label → Λ') (exit : Option Λ') (target : Λ' → TM2.Stmt (fun _ : Tape => Bool) Λ' (σ × Option Bool)) (atLabels : ∀ l, target (labels l) = MachineSubroutine.statement labels exit (program (σ := σ) l)) …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Label, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Tape, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.program
- def
OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.embeddedLookupInTimeline 487Source documentation
An optional disjoint-stack placement preserves arbitrary extra tapes and state. It reuses the same generic lookup and introduces no extra transitions.
noncomputable def embeddedLookupInTime {E Λextra τ : Type} [DecidableEq E] (continuation : Option (Label ⊕ Λextra)) (extraState : τ) (extraTapes : E → List Bool) (extra : Λextra → TM2.Stmt (MachineEmbedding.Alphabet (fun _ : Tape => Bool) (fun _ : E => Bool)) (Label ⊕ Λextra) ((σ × Option Bool) × τ)) (input : SourceEncoding.Input) (i : Fin input.equations.length) (base : Tape → List Bool) (indexSuffix : List Bool) (hsource : base .source = inputBits input) (hindex : base .index = encodeWord i.val ++ indexSuffix) (hwork : base .work = []) (hscratch : base .scratch = []) (ambient : σ) (register : Option Bool) : …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Label, OAI.UniqueGamesTheorem.Reduction.SourceEquationLookup.Tape, OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input
- inductive
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.Tapeline 522 - inductive
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.Labelline 529 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.placeline 538 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.place_injectiveline 542 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.fillline 546 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.fill_placeline 553 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.fill_selfline 558 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.fill_updateline 568 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.placedLabelline 577 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.placedConfigurationline 581 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.placedStatementline 587 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.placed_stepAuxline 599 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.nextLabelline 624 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.programline 627 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.placed_stepline 638 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.lookupOutputline 655 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.placedLookupInTimeline 660 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.copiedTapesline 676 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.coordinateOutputline 679 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.cleanup_lookupOutputline 687 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.coordinateOutput_savedIndexline 715 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.coordinateOutput_fieldline 720 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.coordinateOutput_other_fieldline 727 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.suffix_length_le_inputline 732 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.coordinateInTimeline 744 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.labelAtline 789 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.nextLabel_eqline 792 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.stageTapesline 794 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.stageTapes_frameline 802 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.stageTapes_cleanline 815 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.stageTapes_fieldline 827 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.prefixInTimeline 852 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.loadInTimeline 895 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.equations_length_le_inputline 918 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.loadUnaryInTimeline 925Source documentation
Actual odometer digits have empty suffixes. The resulting complete loader runs in a polynomial whose coefficients depend only on the fixed repetition k.
noncomputable def loadUnaryInTime (F : SourceEncoding.Input) (tuple : Fin width → Fin F.equations.length) (base : Tape width Extra → List Bool) (hsource : base .source = inputBits F) (hsavedIndex : ∀ j, base (.savedIndex j) = encodeWord (tuple j).val) (hindex : base .index = []) (hwork : base .work = []) (hscratch : base .scratch = []) (hcopy : base .copyScratch = []) (ambient : σ) : StateTransition.EvalsToInTime (TM2.step program) ⟨some (labelAt 0), ((ambient, ()), none), base⟩ (some ⟨none, ((ambient, ()), none), stageTapes F tuple base width⟩) (width * (10 * (inputBits F).length + 20) + 1) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.Tape, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.program, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.labelAt, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.stageTapes
- def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.timePolynomialline 948 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.timePolynomial_evalline 951 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.tupleBitLengthline 958Source documentation
Total physical length of the saved occurrence-ID tapes.
def tupleBitLength (base : Tape width Extra → List Bool) : Nat := …
Mentions: OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.Tape
- theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.savedIndex_length_le_tupleBitLengthline 962 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.loadTupleInTimeline 967 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.loadTuplePolynomialInTimeline 982Source documentation
The same concrete run with a univariate polynomial in the combined size.
noncomputable def loadTuplePolynomialInTime (F : SourceEncoding.Input) (tuple : Fin width → Fin F.equations.length) (base : Tape width Extra → List Bool) (hsource : base .source = inputBits F) (hsaved : ∀ j, base (.savedIndex j) = encodeWord (tuple j).val) (hindex : base .index = []) (hwork : base .work = []) (hscratch : base .scratch = []) (hcopy : base .copyScratch = []) (ambient : σ) : StateTransition.EvalsToInTime (TM2.step program) ⟨some (labelAt 0), ((ambient, ()), none), base⟩ (some ⟨none, ((ambient, ()), none), stageTapes F tuple base width⟩) ((timePolynomial width).eval ((inputBits F).length + tupleBitLength base)) := by …Mentions: OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.Tape, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.program, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.labelAt, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.stageTapes, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.timePolynomial, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.tupleBitLength
- def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.nameSlotline 1000 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.nameFieldline 1001 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.rhsFieldline 1002 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.nameField_ne_rhsFieldline 1005 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.equationNameline 1014 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.equationWords_nameline 1020 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.output_nameline 1027 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.output_rhsline 1034 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.output_savedIndexline 1042 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.output_savedIndex_unaryline 1048 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.output_sourceline 1055 - def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.canonicalFieldsline 1062Source documentation
The fourth canonical record field is the saved occurrence ID. The equation RHS remains separately available on
rhsField j.def canonicalFields (tapes : Tape width Extra → List Bool) (j : Fin width) : List (List Bool) := …
Mentions: OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.Tape
- def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.canonicalWordsline 1065 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.output_canonicalFieldsline 1069 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.zeroWidthStepline 1079Source documentation
Width zero executes its actual done statement in one transition.
theorem zeroWidthStep (base : Tape 0 Extra → List Bool) (ambient : σ) : TM2.step program ⟨some (labelAt 0), ((ambient, ()), none), base⟩ = some ⟨none, ((ambient, ()), none), base⟩ := rflMentions: OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.Tape, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.program, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.labelAt
- def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.placedLoadUnaryInTimeline 1085Source documentation
A caller shares this complete tape arena and state, mapping only labels and the final continuation. All saved occurrence IDs remain available to its body.
noncomputable def placedLoadUnaryInTime {Λ : Type} (labels : Label width → Λ) (exit : Option Λ) (target : Λ → TM2.Stmt (fun _ : Tape width Extra => Bool) Λ ((σ × Unit) × Option Bool)) (atLabels : ∀ l, target (labels l) = MachineSubroutine.statement labels exit (program l)) (F : SourceEncoding.Input) (tuple : Fin width → Fin F.equations.length) (base : Tape width Extra → List Bool) (hsource : base .source = inputBits F) (hsaved : ∀ j, base (.savedIndex j) = encodeWord (tuple j).val) (hindex : base .index = []) (hwork : base .work = []) (hscratch : base .scratch = []) (hcopy : base .copyScratch = []) (ambient : σ) : StateTransition.EvalsToInTime (TM2.step target) ⟨some (labels (labelAt 0)), ((ambient, ()), none), base⟩ …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.Label, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.Tape, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.program, OAI.UniqueGamesTheorem.Reduction.SourceEncoding.Input, OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.labelAt
- def
OAI.UniqueGamesTheorem.Reduction.MachineSourceTuple.machineline 1102