Deterministic replay of Boolean oracle replies #
One transcript bit is assigned to every native instruction. A query installs that bit as its
one-symbol reply; a local instruction ignores it. Thus replay requires no external oracle and
is polynomial-time in the input and transcript lengths, including the construction of adaptive
requests. The canonical transcript records the actual oracle reply at query instructions and
false elsewhere. Replaying it recovers the complete coin-fixed configuration and output.
The replay* declarations here replay supplied oracle replies with the coin fixed to false.
The saved-coin controller Turing.MultiTapePTM.replay in
Complexity/Computability/Machines/Turing/MultiTape/Probabilistic/Replay.lean instead replays
supplied random coins for a closed machine using an additional work tape.
Main definitions #
Turing.MultiTapePTM.replyStep: one native instruction with a supplied Boolean reply.Turing.MultiTapePTM.replayConfig: replay a transcript from the initial configuration.Turing.MultiTapePTM.replayPrefix: replay only the given prefix of a transcript.Turing.MultiTapePTM.oracleReplies: the canonical instruction-indexed oracle transcript.
Main results #
Turing.MultiTapePTM.replayConfig_pt: replay is polynomial-time.Turing.MultiTapePTM.replayPrefix_pt: prefix configurations are uniformly polynomial-time.Turing.MultiTapePTM.length_pendingRequest_replayPrefix_le: request size is bounded by the number of elapsed instructions.Turing.MultiTapePTM.replayOutput_oracleReplies: canonical replay is the certified oracle run.
References #
Execute one native instruction, using bit only if that instruction makes a query.
Instances For
Replay assigns one bit to every native instruction, including local and halted ones.
Instances For
Replay the given instruction-indexed replies from the initial configuration.
Instances For
The configuration immediately before instruction index, or after the whole transcript if
index exceeds its length.
Instances For
The output tape after replaying the entire transcript.
Instances For
Supplying the answer to the pending request recovers an instruction against that oracle.
A local instruction ignores its transcript bit.
Replaying concatenated transcripts is sequential replay.
Advancing a transcript prefix executes its next bit, whenever that bit is present.
A prefix query has at most min index answers.length symbols.
The next replay instruction is polynomial-time, uniformly in its reply bit.
Deterministic oracle replay is polynomial-time in the encoded input and transcript.
Prefix replay is jointly polynomial-time in input, transcript and unary instruction index.
The replayed output is polynomial-time.
The next query in a guessed-reply execution is uniformly polynomial-time.
Whether the next guessed-reply instruction is a query is uniformly polynomial-time.
The instruction-indexed transcript of an oracle execution. Local and halted instructions
receive the canonical padding bit false.
Instances For
The canonical transcript of a clocked execution from the initial configuration.
Instances For
The initial canonical transcript has exactly the clock length.
The canonical transcript replays the coin-fixed oracle run from its initial configuration.
Canonical transcript bits agree with the queries seen by replay of their own prefix.
Replayed canonical outputs agree exactly with interpretation of the clocked oracle program.