Effectively Propositional Higher-Order Functional Programming
Nicholas V. Lewchenko, Kunha Kim, Bor-Yuh Evan Chang, Gowtham Kaki
Abstract
and Amazon, USA GOWTHAM KAKI, University of Colorado Boulder, USA Decidable automation is a key feature of program verification tools, which makes them easier for non-expert developers to use and understand. Unfortunately, decidable fragments of logic are very restrictive, and not ideal for the expression of idiomatic programs. The decidable Extended EPR fragment, combined with an encoding technique called relational abstraction, has seen wide use for its ability to handle both quantifiers and uninterpreted functions. However, the complexity of the relational abstraction encoding, combined with its inherent incompleteness, still poses a significant obstacle to non-experts.
In this paper, we show that Extended EPR and relational abstraction can be deployed to achieve decidable, quantified verification within a familiar, principled domain: a higher-order, purely-functional programming language. We observe that, by defining the semantics of our language in terms of partial functions, we obtain a well-behaved, three-valued logic that matches the behavior of the relational abstraction encoding while hiding its complexity. We demonstrate that our prototype implementation can ergonomically replicate EPR-based program verification benchmarks and verify recursive programs on inductive datatypes.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext bab2b3bf-b74f-4e4e-9591-da19c744c8d8Builds on2
- Counterexample Driven Quantifier Instantiations with Applications to Distributed ProtocolsOrr Tamir, Marcelo Taube, Kenneth L. McMillan, Sharon Shoham et al.OOPSLA 2023 · 5 citations
- Bolt-On Strong Consistency: Specification, Implementation, and VerificationNicholas V. Lewchenko, Gowtham Kaki, Bor-Yuh Evan ChangOOPSLA 2025 · 2 citations
Related papers
- Relational compilation for performance-critical applications: extensible proof-producing translation of functional models into low-level codeClément Pit-Claudel, Jade Philipoom, Dustin Jamner, Andres Erbsen et al.PLDI 2022 · 26 citations
- On Decidable and Undecidable Extensions of Simply Typed Lambda CalculusNaoki KobayashiPOPL 2025 · 4 citations
- HFL(Z) Validity Checking for Automated Program VerificationNaoki Kobayashi, Kento Tanahashi, Ryosuke Sato, Takeshi TsukadaPOPL 2023 · 8 citations
- Generating Proof Certificates for a Language-Agnostic Deductive Program VerifierZhengyao Lin, Xiaohong Chen, Minh-Thai Trinh, John Wang et al.OOPSLA 2023 · 12 citations
- Axe 'Em: Eliminating Spurious States with Induction AxiomsNeta Elad, Sharon ShohamPOPL 2025 · 1 citation
