Oblivious Probabilistic Outcome Logic: Verifying Probabilistic Programs with an Oblivious Adversary
Programming LanguagesLogic in Computer Science
Summary
The authors introduce a new logic called opOL to help reason about programs where decisions are made without knowing the outcomes of random events (an oblivious adversary). This is tricky because randomness and unseen choices interact in complex ways. Their logic treats unknown choices as special resources and ensures randomness is hidden from these choices, allowing for clear rules to analyze program behavior and prove things like guaranteed termination. They demonstrate opOL with examples including a paging algorithm and a leader election protocol, and formalize everything in the Lean 4 proof assistant.
Authors
Hanxi Chen, Noam Zilberstein, Andrew C. Myers, Alexandra Silva
Abstract
In the context of probabilistic programs, an oblivious adversary resolves nondeterminism without seeing the outcomes of random draws. Obliviousness is a common assumption in online algorithms and distributed protocols, but the complex interaction between random draws and adversarial choices makes it challenging to reason about correctness. While there has been significant progress toward reasoning about programs that combine randomization with nondeterminism, most of the work has focused on the adaptive model, whose omniscient view of program state is too powerful to establish correctness for certain classes of programs. We introduce Oblivious Probabilistic Outcome Logic (opOL), a new logic for reasoning about probabilistic programs with nondeterminism controlled by an oblivious adversary. Building on Outcome Logic and Probabilistic Separation Logic, opOL models adversarial choice as a resource and uses probabilistic independence to ensure that random outcomes are hidden from the adversary. The opOL proof system provides expressive and compositional rules for case analysis on both random and nondeterministic outcomes, and for proving almost-sure termination. Expressivity is tested through several case studies, including a paging algorithm and a leader election protocol. The opOL metatheory and case studies are mechanized in Lean 4.