OAI/Computability/MaxCut/Machines/RuntimeModel.lean
81 declarations, 0 contain sorry, 0 declared as axioms
Fixed natural polynomials are represented by literal Horner coefficients. The coefficient representation is independent of the machine input. The actual machine wrapper is built from the shared physical unary Horner subroutine.
- inductive
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.BodyWorkline 11 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.BodyExtraline 19 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.Arenaline 20 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.QueryStateline 21 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.ArithmeticStateline 22 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.Stateline 23 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.QueryMetadataline 24 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.ArithmeticMetadataline 26 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.workTapeline 31 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.variableHeaderline 32 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.clauseHeaderline 33 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.canonicalSignatureline 35 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.canonicalStateline 38 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.queryStateEquivline 42 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.arithmeticStateEquivline 48 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.rankControlsline 54 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.clauseRankSlotsline 64 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.variableRankSlotsline 67 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.baseSlotsline 72Source documentation
Both address-base phases use the same clean arithmetic work tapes. The right side adds the retained left block; the left side adds a seeded zero.
def baseSlots (right : Bool) : MachineHorner.Layout 2 ↪ Arena u Extra where …
Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.Arena
- def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.querySourcesline 94 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.queryLayoutline 99 - def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.perSlotCleanupline 112Source documentation
Retained global headers are excluded from cleanup.
def perSlotCleanup : List (Arena u Extra) := [workTape .rank, workTape .leftBase]
Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.Arena, OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.workTape
- def
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.finalBaseCleanupline 113 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceRuntimeModel.initializer_arenaline 115 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.coefficientPolynomialline 126 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.coefficientPolynomial_evalline 130 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.coefficientPolynomial_eval_reverseline 136 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.coefficientsline 143Source documentation
An actual finite coefficient list for every fixed natural polynomial. No evaluation of an input is included in this static representation choice.
noncomputable def coefficients (p : Polynomial Nat) : {cs : List Nat // coefficientPolynomial cs = p} := by …Mentions: OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.coefficientPolynomial
- def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.highCoefficientsline 163 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.widthline 166 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.digitline 168 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.digitBoundline 171 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.le_sum_of_memline 173 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.digit_le_boundline 183 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.highCoefficients_foldlline 189 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.range_map_digitline 196 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.prependFieldsline 210 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.prependFieldsTapesline 216 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.stepAux_prependFieldsline 222 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.prependFieldsTapes_applyline 232 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.popNline 246 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.stepAux_popNline 251 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.clearFieldsline 262 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.clearFieldsTapesline 267 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.stepAux_clearFieldsline 272 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.clearFieldsTapes_applyline 282 - abbrev
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.Layoutline 300 - abbrev
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.Labelline 301 - abbrev
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.Stateline 302 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.fieldWordline 304 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.fieldIndicesline 308 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.fieldIndices_nodupline 311 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.inl_not_mem_fieldsline 314 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.inr_mem_fieldsline 317 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.initialTapesline 320 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.preparedTapesline 323 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.preparedTapes_inlline 326 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.preparedTapes_inrline 331 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.slotsline 336 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.preparedTapes_cleanline 338 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.innerLabelsline 342 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.programline 345 - abbrev
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.machineline 355 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.afterHornerTapesline 366 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.afterInputTapesline 369 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.finalTapesline 372 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.clearFields_finalline 375 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.initList_eqline 386 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.haltList_eqline 392 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.initializationTraceline 398 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.cleanupTraceline 408 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.prefixValuePolynomialline 425 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.prefixCostPolynomialline 429 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.prefixValuePolynomial_evalline 435 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.prefixCostPolynomial_evalline 441 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.timePolynomialline 451 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.timePolynomial_evalline 455 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.hornerValue_eq_evalline 462 - theorem
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.hornerStageTraceline 468 - def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.outputsInTimeline 484Source documentation
Exact execution includes literal initialization, the physical Horner subroutine, input consumption, and cleanup of every coefficient tape.
def outputsInTime (p : Polynomial Nat) (n : Nat) : Turing.TM2OutputsInTime (machine p) (encodeWord n) (some (encodeWord (p.eval n))) ((timePolynomial p).eval n) where …Mentions: OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.machine, OAI.MaxCutGames.Foundations.Complexity.encodeWord, OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.timePolynomial
- def
OAI.MaxCutGames.Foundations.Complexity.CookLevin.PolynomialMachine.computableInPolyTimeline 505Source documentation
A genuine finite Boolean-stack machine for evaluating any fixed natural polynomial on zero-delimited unary input, with a polynomial transition bound.
def computableInPolyTime (p : Polynomial Nat) : Turing.TM2ComputableInPolyTime encodeWord encodeWord p.eval where …