Automated Theorem Proving with Extensions of First-Order Logic
Doctoral thesis, 2018

Automated theorem provers are computer programs that check whether a logical conjecture follows from a set of logical statements. The conjecture and the statements are expressed in the language of some formal logic, such as first-order logic. Theorem provers for first-order logic have been used for automation in proof assistants, verification of programs, static analysis of networks, and other purposes. However, the efficient usage of these provers remains challenging. One of the challenges is the complexity of translating domain problems to first-order logic. Not only can such translation be cumbersome due to semantic differences between the domain and the logic, but it might inadvertently result in problems that provers cannot easily handle.

The work presented in the thesis addresses this challenge by developing an extension of first-order logic named FOOL. FOOL contains syntactical features of programming languages and more expressive logics, is friendly for translation of problems from various domains, and can be efficiently supported by existing theorem provers. We describe the syntax and semantics of FOOL and present a simple translation from FOOL to plain first-order logic. We describe an efficient clausal normal form transformation algorithm for FOOL and based on it implement a support for FOOL in the Vampire theorem prover. We illustrate the efficient use of FOOL for program verification by describing a concise encoding of next state relations of imperative programs in FOOL. We show a usage of features of FOOL in problems of static analysis of networks. We demonstrate the efficiency of automated theorem proving in FOOL with an extensive set of experiments. In these experiments we compare the performance of Vampire on a large collection of problems from various sources translated to FOOL and ordinary first-order logic. Finally, we fix the syntax for FOOL in TPTP, the standard language of first-order theorem provers.

clausal normal form

Program Verification

automated theorem proving

program analysis



first-order logic

Lecture hall ED, EDIT building
Opponent: Professor Dr. Stephan Schulz, DHBW Stuttgart, Fakultät Technik, Stuttgart, Germany


Evgenii Kotelnikov

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

A First Class Boolean Sort in First-Order Theorem Proving and TPTP

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),; Vol. 9150(2015)p. 71-86

Paper in proceeding

The Vampire and the FOOL

2016,; (2016)p. 37-48

Paper in proceeding

A Clausal Normal Form Translation for FOOL

Proceedings of the 2nd Global Conference on Artificial Intelligence (GCAI),; Vol. EasyChair EPiC Series in Computing volume 41(2016)

Paper in proceeding

A FOOLish Encoding of the Next State Relations of Imperative Programs

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),; Vol. 10900 LNAI(2018)p. 405-421

Paper in proceeding

TFX: The TPTP Extended Typed First-Order Form

Proceedings of the 6th Workshop on Practical Aspects of Automated Reasoning co-located with Federated Logic Conference 2018,; (2018)p. 72-87

Paper in proceeding

Evgeny Kotelnikov, Pavle Subotic. Checking Network Reachability Properties by Automated Reasoning in First-Order Logic

Software systems are routinely used to process mathematical knowledge. Some of them are designed to represent and store mathematical theorems and their proofs and some check that a proof of a theorem is correct. Another type of systems, called automated theorem provers, can construct proofs of mathematical theorems fully automatically without the assistance of a human mathematician. Automated theorem provers are complex and powerful tools that are used in applications that require rigorous reasoning, for example in formal methods for computer systems engineering. Theorem provers work with formal logic and expect their users to present their problems as logical formulas. However, encoding an application problem in logic can be a very challenging task. This thesis explores how such encoding can be made less challenging. For that, the thesis develops several extensions to the formal logic used by theorem provers. On one hand, these extensions make encoding of application problems more straightforward. On the other, they allow applications include more information about their problems in logical formulas and automated theorem provers can use this information to construct proofs more efficiently. The thesis demonstrates the benefits of automated theorem proving with these extensions on a large collection of application problems coming from diverse domains.

Subject Categories

Algebra and Logic

Software Engineering

Computer Science

Areas of Advance

Information and Communication Technology



Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie: 4451



Lecture hall ED, EDIT building

Opponent: Professor Dr. Stephan Schulz, DHBW Stuttgart, Fakultät Technik, Stuttgart, Germany

More information

Latest update