Efficient oracle substitution with saved samples #
A supplied list replaces fresh draws in a closed external handler. Its local contract covers every supplied value and the fallback used on short lists. The sample list only shrinks, so no additional storage invariant is needed. The certificate retains the output, ordinary private state and unused suffix; only the separate distribution law forgets that suffix.
Main results #
Cslib.Probability.IsOraclePPTOn.run_interpret_withSampleList: arbitrary encoded callers and saved values, with all sample consumption and storage charged.Cslib.Probability.IsOraclePPT.run_interpret_withSampleList: security-parameter specialization.
References #
Adapted from Computability/Probabilistic/Presample.lean on the cslib crypto branch at
5ff69ca93402e7c947208dc56396d6d86203ccd8, using the common stateful substitution theorem.
Supply saved samples to a closed external handler. Bounds hold for every supplied value, including the fallback on an exhausted list. The certificate retains the complete final state.
Security-parameter specialization of saved-sample substitution, retaining the complete ordinary state and unused suffix under the same local resource contract.