The E Theorem Prover


E is a theorem prover for full first-order logic with equality. It accepts a problem specification, typically consisting of a number of first-order clauses or formulas, and a conjecture, again either in clausal or full first-order form. The system will then try to find a formal proof for the conjecture, assuming the axioms.

If a proof is found, the system can provide a detailed list of proof steps that can be individually verified. If the conjecture is existential (i.e. it’s of the form “there exists an X with property P”), the latest versions can also provide possible answers (values for X).

Development of E started as part of the E-SETHEO project at TUM. The first public release was in in 1998, and the system has been continuously improved ever since. I believe that E now is one of the most powerful and friendly reasoning systems for first-order logic. The prover has successfully participated in many competitions.


E 2.4 Sandakphu (pre-release) has won the UEQ division of CASC-27 in Natal, Brasil. It has also won second places in FOF and LTB, and was an important component of Satallax (winner of TFH) and LEO-III (winner of LTB). We will try to release a polished version in the next days. Until then, it is available via the public github repository.

E 2.3 Gielle is available. This version includes optional support for lambda-free higher-order logic and more robust clausification.

The higher-order features have been developed in the context of the Matryoshka project, largely by Petar Vukmirovic, with input from several other project members.

The new version is available from the Download page.

Latest news