Litcius/Paper detail

On Strongest Algebraic Program Invariants

Ehud Hrushovski, Joël Ouaknine, Amaury Pouly, James Worrell

2023Journal of the ACM14 citationsDOIOpen Access PDF

Abstract

A polynomial program is one in which all assignments are given by polynomial expressions and in which all branching is nondeterministic (as opposed to conditional). Given such a program, an algebraic invariant is one that is defined by polynomial equations over the program variables at each program location. Müller-Olm and Seidl have posed the question of whether one can compute the strongest algebraic invariant of a given polynomial program. In this article, we show that, while strongest algebraic invariants are not computable in general, they can be computed in the special case of affine programs, that is, programs with exclusively linear assignments. For the latter result, our main tool is an algebraic result of independent interest: Given a finite set of rational square matrices of the same dimension, we show how to compute the Zariski closure of the semigroup that they generate.

Topics & Concepts

Nondeterministic algorithmMathematicsInvariant theoryInvariant (physics)Algebraic numberPolynomialDiscrete mathematicsDimension of an algebraic varietyAlgebra over a fieldPure mathematicsMathematical analysisMathematical physicsFormal Methods in Verificationsemigroups and automata theoryLogic, programming, and type systems