A First Class Boolean Sort in First-Order Theorem Proving and TPTP
Evgenii Kotelnikov, Laura Kov\'acs, Andrei Voronkov

TL;DR
This paper introduces FOOL, an extension of many-sorted first-order logic that treats boolean sorts as first-class citizens, enabling more effective reasoning about program properties in theorem provers.
Contribution
The paper presents FOOL, a novel logic extension that integrates boolean sorts as first-class entities and proposes modifications to TPTP for improved program analysis.
Findings
FOOL allows boolean terms to be used as arguments to functions.
A model-preserving translation from FOOL to first-order logic is defined.
A new technique for handling boolean sorts in superposition-based theorem provers is introduced.
Abstract
To support reasoning about properties of programs operating with boolean values one needs theorem provers to be able to natively deal with the boolean sort. This way, program properties can be translated to first-order logic and theorem provers can be used to prove program properties efficiently. However, in the TPTP language, the input language of automated first-order theorem provers, the use of the boolean sort is limited compared to other sorts, thus hindering the use of first-order theorem provers in program analysis and verification. In this paper, we present an extension FOOL of many-sorted first-order logic, in which the boolean sort is treated as a first-class sort. Boolean terms are indistinguishable from formulas and can appear as arguments to functions. In addition, FOOL contains if-then-else and let-in constructs. We define the syntax and semantics of FOOL and its…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
