Abstract
Recursively defined linked data structures embedded in a pointer-based heap and their properties are naturally expressed in pure first-order logic with least fixpoint definitions (FO+lfp) with background theories. Such logics, unlike pure first-order logic, do not admit even complete procedures. In this paper, we undertake a novel approach for synthesizing inductive hypotheses to prove validity in this logic. The idea is to utilize several kinds of finite first-order models as counterexamples that capture the non-provability and invalidity of formulas to guide the search for inductive hypotheses. We implement our procedures and evaluate them extensively over theorems involving heap data structures that require inductive proofs and demonstrate the effectiveness of our methodology.
Original language | English (US) |
---|---|
Article number | 191 |
Journal | Proceedings of the ACM on Programming Languages |
Volume | 6 |
Issue number | OOPSLA2 |
Early online date | Oct 31 2022 |
DOIs | |
State | Published - Oct 31 2022 |
Keywords
- Counterexample-Guided Inductive Synthesis
- First Order Logic with Least Fixpoints
- Inductive Hypothesis Synthesis
- Learning Logics
- Verifying Linked Data Structures
ASJC Scopus subject areas
- Software
- Safety, Risk, Reliability and Quality