OAI/Computability/UniqueGames/Reduction/MachineTemplateAddress.lean
44 declarations, 0 contain sorry, 0 declared as axioms
A fixed canonical-word template followed by actual radix-address execution. The program is determined by the fixed tokens and tape layout. Numeric field values enter only the tape invariants and execution theorem, never the labels.
- inductive
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Tapeline 21 - abbrev
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Stateline 28 - abbrev
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Alphabetline 29 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.hornerLayoutline 33 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.hornerSlotsline 49 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.chosenline 52 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.mem_chosenline 55 - abbrev
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Labelline 59 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.emitLabelline 63 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.reverseLabelline 65 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.parseLabelline 66 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.hornerLabelline 68 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.cleanupLabelline 70 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.parseDestinationline 73 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.parseDestination_belowline 77 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.instructionline 81Source documentation
Fixed finite instruction assembly, with arbitrary placement and continuation.
def instruction (tokens : List (MachineFieldTemplate.Token q)) (slots : Tape q width ↪ K) (place : Label tokens.length width (chosen slots) → Λ) (exit : Option Λ) : Label tokens.length width (chosen slots) → TM2.Stmt (Alphabet (K := K)) Λ (State σ) …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Token, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Tape, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Label, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.chosen, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Alphabet, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.State
- def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.programline 104 - structure
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Cleanline 110 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.digitsline 120 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.forwardTapesline 122 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.parsedTapesline 125 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.resultTapesline 130 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.afterHornerline 133 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.phaseStepsline 138 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.resultTapes_outputline 145 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.resultTapes_otherline 149 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.hornerValue_eq_radixline 155Source documentation
The numeric recurrence used by the checked Horner machine is the direct canonical-address radix, in the original template-word order.
theorem hornerValue_eq_radix (B : Nat) (values : List Nat) : MachineHorner.value B (digits values) values.length = CanonicalAddress.radix B values := by …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.digits, OAI.UniqueGamesTheorem.Reduction.CanonicalAddress.radix
- theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.parsedTapes_otherline 165 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.parsedTapes_sourceline 176 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.parsedTapes_digitline 185 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.parsedTapes_cleanline 204 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.cleanup_resultline 225 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.parse_atStartline 265 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.parse_atLoopline 274 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.parse_atDoneline 284 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.phaseTraceline 290 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.programTraceline 384Source documentation
The emitted finite program discharges every instruction-placement premise.
theorem programTrace (tokens : List (MachineFieldTemplate.Token q)) (slots : Tape q width ↪ K) (exit : Option (Label tokens.length width (chosen slots))) (base : K → List Bool) (B : Nat) (values : List Nat) (hlen : values.length = width) (clean : Clean slots base) (baseField : base (slots .radix) = encodeWord B) (wordCorrect : MachineFieldTemplate.templateOutput tokens (fun j => base (slots (.field j))) = encodeWords values) (ambient : σ) (register : Option Bool) : (MachineComposition.advance (TM2.step (program tokens slots exit)))^[phaseSteps tokens slots base B values] (some ⟨some (emitLabel (MachineFieldTemplate.startAt tokens.length 0)), ((ambient, ()), register), base⟩) = some ⟨exit, ((ambient, ()), none), resultTapes slots base (CanonicalAddress.radix B values)⟩ := …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Token, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Tape, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Label, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.chosen, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Clean, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.templateOutput, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.program, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.phaseSteps, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.emitLabel, OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.startAt, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.resultTapes, OAI.UniqueGamesTheorem.Reduction.CanonicalAddress.radix
- def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.phaseInTimeline 398Source documentation
Timed witness with the exact sum of the five concrete phase counts.
def phaseInTime (tokens : List (MachineFieldTemplate.Token q)) (slots : Tape q width ↪ K) (place : Label tokens.length width (chosen slots) → Λ) (exit : Option Λ) (P : Λ → TM2.Stmt (Alphabet (K := K)) Λ (State σ)) …Mentions: OAI.UniqueGamesTheorem.Reduction.MachineFieldTemplate.Token, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Tape, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Label, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.chosen, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.Alphabet, OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.State
- theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.copiedLength_leline 417 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.lengthSum_leline 435 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.timePolynomialline 449Source documentation
A fixed polynomial in a magnitude bounding input fields, the serialized word list, the radix, and the digits. Width and token count are static.
noncomputable def timePolynomial (tokenCount width : Nat) : Polynomial Nat := …
- theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.timePolynomial_evalline 455 - theorem
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.phaseSteps_le_timePolynomialline 461 - def
OAI.UniqueGamesTheorem.Reduction.MachineTemplateAddress.phaseInPolynomialTimeline 494