Foundations for natural proofs and quantifier instantiation
We give foundational results that explain the efficacy of heuristics used for dealing with quantified formulas and recursive definitions. We develop a framework for first order logic (FOL) over an uninterpreted combination of background theories. Our central technical result is that systematic term...
Saved in:
Published in | Proceedings of ACM on programming languages Vol. 2; no. POPL; pp. 1 - 30 |
---|---|
Main Authors | , , |
Format | Journal Article |
Language | English |
Published |
01.01.2018
|
Online Access | Get full text |
Cover
Loading…
Summary: | We give foundational results that explain the efficacy of heuristics used for dealing with quantified formulas and recursive definitions. We develop a framework for first order logic (FOL) over an uninterpreted combination of background theories. Our central technical result is that systematic term instantiation is
complete
for a fragment of FOL that we call
safe
. Coupled with the fact that unfolding recursive definitions is essentially term instantiation and with the observation that heap verification engines generate verification conditions in the safe fragment explains the efficacy of verification engines like natural proofs that resort to such heuristics. Furthermore, we study recursive definitions with least fixpoint semantics and show that though they are not amenable to complete procedures, we can systematically introduce induction principles that in practice bridge the divide between FOL and FOL with recursive definitions. |
---|---|
ISSN: | 2475-1421 2475-1421 |
DOI: | 10.1145/3158098 |