Alt-Ergo

Last updated

Alt-Ergo
Developer OCamlPro
Repository
Written in OCaml
Available inEnglish
Type Mathematical solver, program verifier
Website alt-ergo.ocamlpro.com

Alt-Ergo, an automatic solver for mathematical formulas, is mainly used in formal program verification. It operates on the principle of satisfiability modulo theories (SMT). Development was undertaken by researchers at the Paris-Sud University, Laboratoire de Recherche en Informatique, Inria Saclay Ile-de-France, and CNRS. Since 2013, project management and oversight has been conducted by OCamlPro company. [1] It is released under the free and open-source software CeCILL-C license.

Contents

Technologies

Design choices

Alt-Ergo employs a specialized input language with prenex polymorphism, designed to reduce the number of axioms requiring quantification and to simplify the complexity of problems. While Alt-Ergo offers partial support for the SMT-LIB 2 language, its efficiency with SMT files is comparatively limited.

Main components

The core architecture of Alt-Ergo comprises three main elements: a depth-first search (DFS)-based SAT solver, a quantifiers instantiation engine that uses e-matching, and an assembly of decision procedures for a range of built-in theories. These components collectively enable Alt-Ergo's abilities in automatic formula solving.

Built-in theories

Alt-Ergo implements (semi-)decision procedures for the following theories:

Industrial uses

Several verification platforms are built on Alt-Ergo:

See also

References

  1. "About". alt-ergo.ocamlpro.com. Retrieved 15 June 2023.
  2. "Why3". why3.lri.fr. Retrieved 15 June 2023.
  3. 1 2 3 4 5 6 "The Alt-Ergo Theorem Prover: Academic Web Page". alt-ergo.lri.fr. Retrieved 15 June 2023.