article Open access

Lazy Proof Automation for Separation Logic

  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Schloss Dagstuhl – Leibniz Center for Informatics
Research footprint

At a glance

Citations
0
References
0
Comments
0
Paper overview

Abstract

Separation Logic is an established formalism for deductive verification of heap-manipulating programs. Proofs of symbolic heap entailment, an analogue of the ordinary logical implication, are amongst the most common reasoning steps in Separation Logic, and many existing heap verifiers provide automation for discharging valid heap entailments. We observe that existing techniques for automating entailment proofs in foundational Separation Logic verifiers embedded into provers such as Rocq, suffer from three main drawbacks: (a) poor performance due to metaprogramming overhead, (b) limited expressivity, and (c) restricted extensibility. To address these shortcomings, we propose lazy proof automation - an approach to entailment proofs inspired by translation validation. Our key idea is to implement an entailment checker as a combination of (1) an efficient but unverified prover, suitable for fast-paced interactive proofs, and (2) a proof reconstruction procedure that takes the prover’s trace and produces a certificate of entailment validity that can be checked a posteriori. We implemented these ideas in Yolo - a generic and extensible heap entailment prover built in Lean. We instantiate Yolo for two Lean-embedded Separation Logics and show its practical benefits, both in terms of user experience and proof-checking speed, compared with the automation available in state-of-the-art foundational Separation Logics.

Record transparency

Publication details

DOI
10.4230/lipics.itp.2026.6
OpenAlex
W7168573586
Document type
article
Language
EN
Source
DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
Last metadata update
Community

Comments

Log in to join the discussion.

  1. No comments yet. Start the discussion.