On Strongest Algebraic Program Invariants

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

Research output: Contribution to journalArticlepeer-review

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.

Original languageEnglish
Article number29
JournalJournal of the ACM
Volume70
Issue number5
DOIs
Publication statusPublished - 12 Oct 2023
Externally publishedYes

Keywords

  • Program verification
  • Zariski closure
  • algebraic invariants
  • matrix semigroups
  • polynomial programs

Fingerprint

Dive into the research topics of 'On Strongest Algebraic Program Invariants'. Together they form a unique fingerprint.

Cite this