Hopping Proofs of Expectation-Based Properties: Applications to Skiplists and Security Proofs
Abstract
We propose, implement, and evaluate a hopping proof approach for proving expectation-based properties of probabilistic programs. Our approach combines eHL, a syntax-directed proof system for reducing proof goals of a program to proof goals of simpler programs, with a “hopping” proof rule for reducing proof goals of an original program to proof goal of a different program which is suitably related (by means of PRHL, a relational program logic for probabilistic program) to the original program. We prove that eHL is sound for a core language with procedure calls and adversarial computations, and complete for the adversary-free fragment of the language. We also provide an implementation of eHL into EasyCrypt, a proof assistant tailored for reasoning about relational properties of probabilistic programs. We provide a tight integration of eHL with other program logics supported by EasyCrypt, and in particular probabilistic Relational Hoare Logic (PRHL). Using this tight integration, we give mechanized proofs of expected complexity of in-place implementations of randomized quickselect and skip lists. We also sketch applications of our approach to cryptographic proofs and discuss the broader impact of eHL in the EasyCrypt proof assistant.
Categories
EasyCrypt, Probabilistic, Complexity Analysis, Expectation Transformers, Program Analysis, Cryptography