Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs 2016
DOI: 10.1145/2854065.2854071
|View full text |Cite
|
Sign up to set email alerts
|

The vampire and the FOOL

Abstract: This paper presents new features recently implemented in the theorem prover Vampire, namely support for first-order logic with a first class boolean sort (FOOL) and polymorphic arrays. In addition to having a first class boolean sort, FOOL also contains if-then-else and let-in expressions. We argue that presented extensions facilitate reasoning-based program analysis, both by increasing the expressivity of first-order reasoners and by gains in efficiency.

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
23
0

Year Published

2019
2019
2020
2020

Publication Types

Select...
5
2

Relationship

2
5

Authors

Journals

citations
Cited by 22 publications
(23 citation statements)
references
References 19 publications
0
23
0
Order By: Relevance
“…Whenever we refer to Vampire, we mean the Vampire version extended with our new VCNF FOOL clausification algorithm for FOOL. We will write Vampire for the previous version of Vampire with the FOOL2FOL algorithm of [8]; Vampire translates FOOL formulas to FOL (after which they are clausified in a standard way) and uses a special inference rule to avoid FOOL self-paramodulation.…”
Section: Resultsmentioning
confidence: 99%
See 2 more Smart Citations
“…Whenever we refer to Vampire, we mean the Vampire version extended with our new VCNF FOOL clausification algorithm for FOOL. We will write Vampire for the previous version of Vampire with the FOOL2FOL algorithm of [8]; Vampire translates FOOL formulas to FOL (after which they are clausified in a standard way) and uses a special inference rule to avoid FOOL self-paramodulation.…”
Section: Resultsmentioning
confidence: 99%
“…We evaluate our work on three benchmark suites coming from verification and analysis of software and described in Section 4, and show experimentally that our method significantly improves over [8] by the number of solved problems and the runtime.…”
Section: Contributionsmentioning
confidence: 99%
See 1 more Smart Citation
“…Second, we extend symbol elimination with theory-specific reasoning. Unlike [2], we do not treat arrays as uninterpreted functions but exploit the read/write semantics of array operations and use the polymorphic theory of arrays [8] for generating and proving program properties over arrays. Our work is implemented in Vampire and evaluated on many examples from program analysis and verification.…”
Section: Each Negative Element Of the Arraymentioning
confidence: 99%
“…The recent work of [8] introduces an extension of first-order logic, called FOOL. FOOL extends first-order logic with first-class boolean variables and polymorphic arrays.…”
Section: First-order Reasoning About Array Propertiesmentioning
confidence: 99%