FMplex: Exploring a Bridge between Fourier-Motzkin and Simplex
Valentin Promies, Jasper Nalbach, Erika Ábrahám, Paul Kobialka
TL;DR
FMplex introduces a novel, singly exponential variable-elimination and satisfiability-checking framework for conjunctions of linear real arithmetic constraints by applying case-splitting on bound extrema and restricted projections. Building on Fourier-Motzkin elimination, it eliminates redundancies and leverages a DFS-based search with global and local conflict analysis that parallels the simplex method, while accommodating strict constraints via a delta-trick. The paper provides formal guarantees, explores connections to simplex and virtual substitution, and presents an extensive experimental evaluation showing FMplex outperforms Fourier-Motzkin on conjunctive inputs and complements, rather than replaces, classical simplex-based SMT solving. These findings suggest FMplex as a practical, incremental SMT backend for $LRA$ that can be integrated with existing solvers to improve coverage of hard instances.
Abstract
In this paper we present a quantifier elimination method for conjunctions of linear real arithmetic constraints. Our algorithm is based on the Fourier-Motzkin variable elimination procedure, but by case splitting we are able to reduce the worst-case complexity from doubly to singly exponential. The adaption of the procedure for SMT solving has strong correspondence to the simplex algorithm, therefore we name it FMplex. Besides the theoretical foundations, we provide an experimental evaluation in the context of SMT solving. This is an extended version of the authors' work previously published at the fourteenth International Symposium on Games, Automata, Logics, and Formal Verification (GandALF 2023).
