Word-valued computation by word-RAM program families #
The primary computability predicates allow code and constants to depend on word size, with
one register count and a uniform bound on program length. Their Uniform counterparts use
one program at every width; that program may read the width, branch on it, and have
width-dependent execution time. Both permit arbitrary
admissible-width conditions, width-dependent input encodings and width-dependent time bounds.
Instruction counts include halt. Input placement follows State.init; loading registers and
constructing maintained representations must be part of the certified program.
The LogWord wrappers express the transdichotomous assumption: a positive multiple of
logWidth 1 (size a), where logWidth k n = k * (Nat.log 2 n + 1), is a lower
threshold, independently of input fit. Applications claiming successful execution must supply
the separate fit guarantee. Outputs also have to fit, since a machine register returns them.
No cost is assigned to the mathematical input encoding, and no conversion to Turing-machine
polynomial time is asserted.
Main definitions #
WordSizeDependentProgram.ComputesInTime: a family computes a word-valued function.ComputableInTime: existence of a family with bounded program length.UniformComputableInTime: existence of one fixed program.ComputableInTimeLogWord,UniformComputableInTimeLogWord: transdichotomous word-size wrappers.ComputableInPolyTime,UniformComputableInPolyTime: polynomial instruction bounds.
Main results #
UniformComputableInTime.computableInTime: uniform computation gives a bounded-code family.Code.computesInTime_program: a structured certificate charges the final halt.UniformComputableInPolyTime.of_code: structured execution yields polynomial RAM time.
References #
See WordRAM.Time for the transdichotomous word-size convention and its sources.
One program returns f a at every admitted fitting width within time a w instructions.
The final halt is counted; the mathematical input encoding is a convention.
Instances For
At width w, the selected program computes every admitted fitting input. The selected
program depends only on the width, and the running-time bound may depend on both parameters.
Instances For
Computation under the transdichotomous word-size assumption: every fitting width above some positive multiple of the logarithmic input size is admitted.
Instances For
Uniform computation under the transdichotomous word-size assumption. The fixed program may read the width and have width-dependent execution time.
Instances For
Correct computation on every admitted fitting input, with an eventual runtime bound using one positive multiplicative constant and one size threshold shared by every admitted width.
Instances For
Increase a fixed program's time bound and restrict its admitted widths.
Increase a family's time bound and restrict its admitted widths.
Transfer fixed-program computation along a change of instances.
Transfer a program family along a change of instances.
A fit certificate removes the conditional input-fit premise.
A uniform certificate gives a nonuniform certificate using a constant family.
Increase an existential family's time bound and restrict its admitted widths.
Increase an existential fixed program's time bound and restrict its admitted widths.
Transfer bounded-code computation along an encoding-preserving instance map.
Transfer uniform computation along an encoding-preserving instance map.
Basis translation preserves fixed-program computation with the same instruction count.
Basis translation preserves family computation with the same instruction count.
Computation transfers to a basis implementing the original operations.
Uniform computation transfers to a basis implementing the original operations.
Uniform logarithmic-threshold computation gives bounded-code computation.
Uniform asymptotic computation gives bounded-code asymptotic computation.
Uniform polynomial computation is a special case of bounded-code polynomial computation.
Structured computation followed by halt gives the same word in one additional instruction.
A width-indexed structured certificate includes one instruction for the final halt.
A structured fixed-program execution certificate yields computation including halt.
Structured families with uniformly bounded assembled size yield computation including halt.
A supplied polynomial bound for complete flat execution yields a uniform certificate.
A supplied polynomial bound and bounded program length yield a family certificate.
Structured execution yields uniform polynomial RAM time, including the final halt.
Bounded structured families yield polynomial RAM time, including the final halt.