Raw machine bound for deadlines not exceeding the job count
ProvedOAI.ThreeMachine.StackCompiler.requestRawBound_lengthThroughout, a routine R : Uniform f is a program in the compiler's while-language Code, with a charge function, that computes the function family on encoded data. R.time i x is the charge of on the encoding of , a natural number that bounds the number of evaluation steps of the program on that input. For , the predicate Poly s f d means that there is a constant with for all . Let SmallDeadline be the type of requests whose deadline is either absent or at most the number of jobs. For in this type, let be the length of the bit encoding RequestData.bits of the request. Then the raw time bound for the compiled machine, requestRawBound x , with time the running time of Uniform.requestAnswer on the request and out the bit list Algorithm.output of the request, satisfies Poly of degree in .
Formalization Note The statement is reproduced verbatim from upstream Main.lean (openai/math, Apache-2.0, credit OpenAI). It is derived from requestRawBound_poly and gives the running-time bound used in main_theorem.
import Mathlib import Definitions.Def_OAIThreeMachineSched02 set_option maxHeartbeats 2000000 set_option maxRecDepth 100000 set_option linter.all false set_option Elab.async false namespace OAI section namespace ThreeMachine.StackCompiler
theorem requestRawBound_length : Poly (fun x : SmallDeadline => (RequestData.bits x.1).length)
(fun x => requestRawBound x.1) 150020 := by
sorry
end ThreeMachine.StackCompiler
end
end OAI