Simplifying Safety Proofs with Forward-Backward Reasoning and Prophecy
Eden Frenkel, Kenneth L. McMillan, Oded Padon, Sharon Shoham

TL;DR
This paper introduces an incremental safety proof method combining forward, backward, and prophecy reasoning to simplify invariants and reduce proof complexity.
Contribution
It presents a novel proof system that decomposes safety proofs into simpler steps, increasing proof power and reducing invariant complexity.
Findings
Incremental approach simplifies safety proofs for Paxos, Raft, and variants.
Forward-backward reasoning reduces Boolean complexity of invariants.
Prophecy steps eliminate quantifiers and quantifier alternations.
Abstract
We propose an incremental approach for safety proofs that decomposes a proof with a complex inductive invariant into a sequence of simpler proof steps. Our proof system combines rules for (i) forward reasoning using inductive invariants, (ii) backward reasoning using inductive invariants of a time-reversed system, and (iii) prophecy steps that add witnesses for existentially quantified properties. We prove each rule sound and give a construction that recovers a single safe inductive invariant from an incremental proof. The construction of the invariant demonstrates the increased complexity of a single inductive invariant compared to the invariant formulas used in an incremental proof, which may have simpler Boolean structures and fewer quantifiers and quantifier alternations. Under natural restrictions on the available invariant formulas, each proof rule strictly increases proof power.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
