An Incremental Simplex Algorithm With Unsatisfiable Core Generation

Filip Marić 📧, Mirko Spasić 📧 and René Thiemann 🌐

August 24, 2018

Abstract

We present an Isabelle/HOL formalization and total correctness proof for the incremental version of the Simplex algorithm which is used in most state-of-the-art SMT solvers. It supports extraction of satisfying assignments, extraction of minimal unsatisfiable cores, incremental assertion of constraints and backtracking. The formalization relies on stepwise program refinement, starting from a simple specification, going through a number of refinement steps, and ending up in a fully executable functional implementation. Symmetries present in the algorithm are handled with special care.
BSD License

Topics

Theories of Simplex