With Programming empty run' eq
OracleComp.ProgramLogic.Relational.withProgramming_empty_run'_eq
Plain-language statement
run' projection corollary of withProgramming_empty_run_proj_eq.
Source project: VCVio
Person-level attribution pending.
Source-pinned research
Search theorem names, mathematical ideas, modules, topics, projects, and role-labelled researchers. Open a result for its complete indexed Lean declaration and source record.
This index contains 150 research declarations. Search 10,000 more complete Mathlib declarations.
150 results
Clear filtersOracleComp.ProgramLogic.Relational.withProgramming_empty_run'_eq
Plain-language statement
run' projection corollary of withProgramming_empty_run_proj_eq.
Source project: VCVio
Person-level attribution pending.
OracleComp.ProgramLogic.StdDo.simulateQ_triple_preserves_invariant
Plain-language statement
Generic simulation triple: if every handler call handler t preserves an invariant I on the simulation state, then simulateQ handler oa preserves I for any oa : OracleComp spec α. The invariant-only form (same I as pre- and post-condition, independent of return value) is the most common case; stronger per-call specs can be derived by instantiat...
Source project: VCVio
Person-level attribution pending.
OracleComp.ProgramLogic.StdDo.triple_writerT_iff_forall_support
Plain-language statement
Support characterization of Std.Do.Triple on WriterT ω (OracleComp spec). A triple ⦃P⦄ mx ⦃Q⦄ over the writer log holds iff every outcome (a, w) in the support of mx.run satisfies Q.1 a (s ++ w) for every starting log s satisfying P. The starting log s threads through the WP interpretation itself, not through mx: WriterT.run mx alway...
Source project: VCVio
Person-level attribution pending.
OracleComp.ProgramLogic.wp_simulateQ_eq
Plain-language statement
If every oracle query in impl has the same evaluation distribution as the original query, then wp of the simulated computation equals wp of the original.
Source project: VCVio
Person-level attribution pending.
OracleComp.simulateQ_cachingOracle_cache_le
Plain-language statement
simulateQ cachingOracle only grows the cache: for any oa, if z ∈ support ((simulateQ cachingOracle oa).run cache₀) then cache₀ ≤ z.2.
Source project: VCVio
Person-level attribution pending.
OracleComp.simulateQ_run_preservesInv
Plain-language statement
If impl preserves Inv, then simulating any oracle computation with simulateQ impl preserves Inv on the final state (support-wise).
Source project: VCVio
Person-level attribution pending.