OAI/Computability/MaxCut/Machines/MachineTuple.lean
58 declarations, 0 contain sorry, 0 declared as axioms
- inductive
OAI.MaxCutGames.Reduction.MachineSourceTuple.Tapeline 12 - inductive
OAI.MaxCutGames.Reduction.MachineSourceTuple.Labelline 19 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.placeline 28 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.place_injectiveline 32 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.fillline 36 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.fill_placeline 43 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.fill_selfline 48 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.fill_updateline 58 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.placedLabelline 67 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.placedConfigurationline 71 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.placedStatementline 77 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.placed_stepAuxline 89 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.nextLabelline 114 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.programline 117 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.placed_stepline 128 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.lookupOutputline 145 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.placedLookupInTimeline 150 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.copiedTapesline 166 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.coordinateOutputline 169 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.cleanup_lookupOutputline 177 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.coordinateOutput_savedIndexline 205 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.coordinateOutput_fieldline 210 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.coordinateOutput_other_fieldline 217 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.suffix_length_le_inputline 222 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.coordinateInTimeline 234 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.labelAtline 279 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.nextLabel_eqline 282 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.stageTapesline 284 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.stageTapes_frameline 292 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.stageTapes_cleanline 305 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.stageTapes_fieldline 317 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.prefixInTimeline 342 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.loadInTimeline 385 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.equations_length_le_inputline 408 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.loadUnaryInTimeline 415Source 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.MaxCutGames.Reduction.SourceEncoding.Input, OAI.MaxCutGames.Reduction.MachineSourceTuple.Tape, OAI.MaxCutGames.Reduction.MachineSourceTuple.program, OAI.MaxCutGames.Reduction.MachineSourceTuple.labelAt, OAI.MaxCutGames.Reduction.MachineSourceTuple.stageTapes
- def
OAI.MaxCutGames.Reduction.MachineSourceTuple.timePolynomialline 438 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.timePolynomial_evalline 441 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.tupleBitLengthline 448Source documentation
Total physical length of the saved occurrence-ID tapes.
def tupleBitLength (base : Tape width Extra → List Bool) : Nat := …
- theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.savedIndex_length_le_tupleBitLengthline 452 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.loadTupleInTimeline 457 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.loadTuplePolynomialInTimeline 472Source 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.MaxCutGames.Reduction.SourceEncoding.Input, OAI.MaxCutGames.Reduction.MachineSourceTuple.Tape, OAI.MaxCutGames.Reduction.MachineSourceTuple.program, OAI.MaxCutGames.Reduction.MachineSourceTuple.labelAt, OAI.MaxCutGames.Reduction.MachineSourceTuple.stageTapes, OAI.MaxCutGames.Reduction.MachineSourceTuple.timePolynomial, OAI.MaxCutGames.Reduction.MachineSourceTuple.tupleBitLength
- def
OAI.MaxCutGames.Reduction.MachineSourceTuple.nameSlotline 490 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.nameFieldline 491 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.rhsFieldline 492 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.nameField_ne_rhsFieldline 495 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.equationNameline 504 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.equationWords_nameline 510 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.output_nameline 517 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.output_rhsline 524 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.output_savedIndexline 532 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.output_savedIndex_unaryline 538 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.output_sourceline 545 - def
OAI.MaxCutGames.Reduction.MachineSourceTuple.canonicalFieldsline 552Source 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) := …
- def
OAI.MaxCutGames.Reduction.MachineSourceTuple.canonicalWordsline 555 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.output_canonicalFieldsline 559 - theorem
OAI.MaxCutGames.Reduction.MachineSourceTuple.zeroWidthStepline 569Source 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.MaxCutGames.Reduction.MachineSourceTuple.Tape, OAI.MaxCutGames.Reduction.MachineSourceTuple.program, OAI.MaxCutGames.Reduction.MachineSourceTuple.labelAt
- def
OAI.MaxCutGames.Reduction.MachineSourceTuple.placedLoadUnaryInTimeline 575Source 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.MaxCutGames.Reduction.MachineSourceTuple.Label, OAI.MaxCutGames.Reduction.MachineSourceTuple.Tape, OAI.MaxCutGames.Reduction.MachineSourceTuple.program, OAI.MaxCutGames.Reduction.SourceEncoding.Input, OAI.MaxCutGames.Reduction.MachineSourceTuple.labelAt
- def
OAI.MaxCutGames.Reduction.MachineSourceTuple.machineline 592