Concise Outlines for a Complex Logic: A Proof Outline Checker for TaDA (Full Paper)
Felix A. Wolf, Malte Schwerhoff, Peter M\"uller

TL;DR
This paper introduces a proof outline checker for the TaDA logic, enabling automated validation of complex program proofs with greater simplicity and automation than traditional interactive or fully automatic methods.
Contribution
It systematically develops a proof outline checker for TaDA, simplifying proof validation and enhancing automation compared to existing interactive and automatic verifiers.
Findings
The checker automates proof validation for TaDA logic.
It reduces complex proof checking to simpler, existing verification problems.
The approach balances automation and simplicity, facilitating experimentation with program logics.
Abstract
Modern separation logics allow one to prove rich properties of intricate code, e.g. functional correctness and linearizability of non-blocking concurrent code. However, this expressiveness leads to a complexity that makes these logics difficult to apply. Manual proofs or proofs in interactive theorem provers consist of a large number of steps, often with subtle side conditions. On the other hand, automation with dedicated verifiers typically requires sophisticated proof search algorithms that are specific to the given program logic, resulting in limited tool support that makes it difficult to experiment with program logics, e.g. when learning, improving, or comparing them. Proof outline checkers fill this gap. Their input is a program annotated with the most essential proof steps, just like the proof outlines typically presented in papers. The tool then checks automatically that this…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Software Testing and Debugging Techniques
