EN FR
EN FR

## Section: New Software and Platforms

### Integer polynomial Fourier-Motzkin elimination

Quantifier elimination is the process of removing existential variables of a given formula, obtaining one that is simpler in the number of variables, and that is implied by the original formula. A very well known algorithm is the Fourier-Motzkin elimination process, that given a system (or formula) of inequalities removes variables by combining all upper and lower bounds of such variables. At each step a variable is selected and eliminated. The very first limitation of this algorithm is the fact that it is designed for linear systems, where all coefficients of the variable being eliminated are numeric values, and the inequality can be classified as either a upper or lower bound. When dealing with polynomials, all possible values, positive, negative, or zero, for an coefficient, that is, a symbolic expression, must be explored. To avoid this requirement we use the positiveness algorithm, proposed by Mark Schweighofer, to retrieve symbolic coefficient signs. In fact, this algorithm is of major importance when resolving system over integer variables, instead of reals, as it is used in many other techniques required to preserve the precision of the simplified formula, such as symbolic normalization, convex hull detection, redundancy removing. Our C++ implementation uses GiNaC for symbolic expressions manipulation.