Uniform strict PPT with external word oracles #
IsOraclePPTOn uses one finite-control fair-coin machine and one polynomial clock for all inputs
and all shared stateful oracle handlers. The certificate preserves the joint output and final
oracle state. Finite operation names are separate from unbounded word requests and replies.
The clock charges writing queries, reading replies and writing output, while the oracle's own
computation is external.
Clock exhaustion may cut off a still-live machine; the certificate does not assert that its
control state has already halted.
Typed query encodings are not hidden inside this contract: any translation must separately account for its computation. In particular, an unbounded oracle reply cannot be returned for free. The machine clock bounds every supported output even when the handler returns a longer word.
Oracle.Normalization shows that every certificate also has a clean, intrinsically halting
realization with the same joint law, and Oracle.Composition composes certificates.
Main definitions #
Cslib.Probability.WordOracleComp: private randomness and named word requests/replies.Cslib.Probability.IsOraclePPTOn: joint stateful realization by a strict polynomial clock.
Main results #
Cslib.Probability.IsOraclePPTOn.length_le: uniform bounds on supported encoded output lengths.Turing.MultiTapeTM.ComputableTidilyInPolyTime.isOraclePPTOn: deterministic functional programs reuse the existing tidy machine certificate.
References #
Adapted from Computability/Probabilistic/Oracle.lean on the cslib crypto branch at
5ff69ca93402e7c947208dc56396d6d86203ccd8, using the current encodings and ProbOracleComp.
Private randomness and named external operations on word payloads.
Instances For
One finite machine and polynomial clock preserve the full interaction with every shared stateful oracle. The oracle's computation is external; request construction and reply access are ordinary machine work.
Instances For
A fixed finite-control machine and polynomial clock supply a certificate directly.
Finiteness of the operation names is part of the certificate.
Equality of the complete stateful semantics preserves the same clock. Output marginals alone do not suffice, since later calls may observe the oracle's state.
A program returning its declared encoding has the same strict oracle PPT certificates.
Every supported encoded output has polynomial length, independently of all oracle replies.
A tidy deterministic certificate also works in the presence of arbitrary external oracles.