OAI/Computability/UniqueGames/Machines/Runtime.lean
13 declarations, 0 contain sorry, 0 declared as axioms
Stack-length bounds derived from actual machine transitions. A finite program has a maximum number of pushes in any one statement. Iterating its transitions therefore bounds output length by input length plus that constant times elapsed steps. This proves a consequence of a runtime certificate, not its converse.
- def
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.statementPushBoundline 16 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.maxLabelPushesline 26 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.maxLabelPushes_geline 31 - def
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.programPushBoundline 45Source documentation
The finite maximum is a proof-bound constant, not an operation of the machine being analyzed.
noncomputable def programPushBound (tm : Turing.FinTM2) : Nat := …
- theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.statement_le_programPushBoundline 48 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.stepAuxStackLengthline 53 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.iterateSizeBoundline 96 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.executionSizeBoundline 109Source documentation
Resource growth along the actual iterated transition witness.
theorem executionSizeBound {σ : Type} (step : σ → Option σ) (size : σ → Nat) (C : Nat) (oneStep : ∀ a b, step a = some b → size b ≤ size a + C) {start finish : σ} {budget : Nat} (execution : StateTransition.EvalsToInTime step start (some finish) budget) : size finish ≤ size start + budget * C := by … - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.stepStackLengthline 132 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.initialStackLengthline 145 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.haltedOutputLengthline 152 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.outputLength_leline 156 - theorem
OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.encodedOutputLengthline 170Source documentation
Polynomial-time computation implies a polynomial bound on serialized output length. This direction is used for intermediate data in composition.
theorem encodedOutputLength {α β αΓ βΓ : Type} {ea : α → List αΓ} {eb : β → List βΓ} {f : α → β} (certificate : Turing.TM2ComputableInPolyTime ea eb f) (a : α) : (eb (f a)).length ≤ (Polynomial.X + Polynomial.C (programPushBound certificate.tm) * certificate.time).eval (ea a).length := by …Mentions: OAI.UniqueGamesTheorem.Foundations.Complexity.Runtime.programPushBound