Automated theorem provers are routinely used in program analysis and verification for checking program properties. These properties are translated from program fragments to formulas expressed in the logic supported by the theorem prover. Such translations can be complex and require deep knowledge of how theorem provers work in order for the prover to succeed on the translated formulas. Our previous work introduced FOOL, a modification of first-order logic that extends it with syntactical constructs resembling features of programming languages. One can express program properties directly in FOOL and leave translations to plain first-order logic to the theorem prover. In this paper we present a FOOL encoding of the next state relations of imp...
We argue that the naive use of the imperative style of working witharrays in a declarative setting l...
We present the design philosophy of a proof checker based on a notion of foundational proof certific...
International audienceThis paper is a study of the forcing translation through the proofs as program...
Automated theorem proving is one of the central areas of computer mathematics. It studies methods an...
Automated theorem provers are computer programs that check whether a logical conjecture follows from...
Static analysis of program semantics can be used to provide strong guarantees about the correctness ...
To support reasoning about properties of programs operating with boolean values one needs theorem pr...
Exploration of language specifications helps to discover errors and inconsistencies early during the...
Since logic programming systems directly implement search and unification and since these operations...
Logic programming languages have many characteristics that indicate that they should serve as good i...
Language Since logic programming systems directly implement search and unification and since these o...
We present a method using an extended logical system for obtaining "correct" programs from specifica...
Proofs involving large specifications are typically carried out through interactive provers that use...
Interactive provers typically use higher-order logic, while automatic provers typically use first-or...
This paper presents new features recently implemented in the theorem prover Vampire, namely support ...
We argue that the naive use of the imperative style of working witharrays in a declarative setting l...
We present the design philosophy of a proof checker based on a notion of foundational proof certific...
International audienceThis paper is a study of the forcing translation through the proofs as program...
Automated theorem proving is one of the central areas of computer mathematics. It studies methods an...
Automated theorem provers are computer programs that check whether a logical conjecture follows from...
Static analysis of program semantics can be used to provide strong guarantees about the correctness ...
To support reasoning about properties of programs operating with boolean values one needs theorem pr...
Exploration of language specifications helps to discover errors and inconsistencies early during the...
Since logic programming systems directly implement search and unification and since these operations...
Logic programming languages have many characteristics that indicate that they should serve as good i...
Language Since logic programming systems directly implement search and unification and since these o...
We present a method using an extended logical system for obtaining "correct" programs from specifica...
Proofs involving large specifications are typically carried out through interactive provers that use...
Interactive provers typically use higher-order logic, while automatic provers typically use first-or...
This paper presents new features recently implemented in the theorem prover Vampire, namely support ...
We argue that the naive use of the imperative style of working witharrays in a declarative setting l...
We present the design philosophy of a proof checker based on a notion of foundational proof certific...
International audienceThis paper is a study of the forcing translation through the proofs as program...