Algebraic Tools for Computing Polynomial Loop Invariants

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Bayarmagnai, Erdenebayar, Mohammadi, Fatemeh, Prébet, Rémi
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913351273021440
author Bayarmagnai, Erdenebayar
Mohammadi, Fatemeh
Prébet, Rémi
author_facet Bayarmagnai, Erdenebayar
Mohammadi, Fatemeh
Prébet, Rémi
contents Loop invariants are properties of a program loop that hold before and after each iteration of the loop. They are often employed to verify programs and ensure that algorithms consistently produce correct results during execution. Consequently, the generation of invariants becomes a crucial task for loops. We specifically focus on polynomial loops, where both the loop conditions and assignments within the loop are expressed as polynomials. Although computing polynomial invariants for general loops is undecidable, efficient algorithms have been developed for certain classes of loops. For instance, when all assignments within a while loop involve linear polynomials, the loop becomes solvable. In this work, we study the more general case where the polynomials exhibit arbitrary degrees. Applying tools from algebraic geometry, we present two algorithms designed to generate all polynomial invariants for a while loop, up to a specified degree. These algorithms differ based on whether the initial values of the loop variables are given or treated as parameters. Furthermore, we introduce various methods to address cases where the algebraic problem exceeds the computational capabilities of our methods. In such instances, we identify alternative approaches to generate specific polynomial invariants.
format Preprint
id arxiv_https___arxiv_org_abs_2405_09232
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Algebraic Tools for Computing Polynomial Loop Invariants
Bayarmagnai, Erdenebayar
Mohammadi, Fatemeh
Prébet, Rémi
Symbolic Computation
Programming Languages
Algebraic Geometry
Loop invariants are properties of a program loop that hold before and after each iteration of the loop. They are often employed to verify programs and ensure that algorithms consistently produce correct results during execution. Consequently, the generation of invariants becomes a crucial task for loops. We specifically focus on polynomial loops, where both the loop conditions and assignments within the loop are expressed as polynomials. Although computing polynomial invariants for general loops is undecidable, efficient algorithms have been developed for certain classes of loops. For instance, when all assignments within a while loop involve linear polynomials, the loop becomes solvable. In this work, we study the more general case where the polynomials exhibit arbitrary degrees. Applying tools from algebraic geometry, we present two algorithms designed to generate all polynomial invariants for a while loop, up to a specified degree. These algorithms differ based on whether the initial values of the loop variables are given or treated as parameters. Furthermore, we introduce various methods to address cases where the algebraic problem exceeds the computational capabilities of our methods. In such instances, we identify alternative approaches to generate specific polynomial invariants.
title Algebraic Tools for Computing Polynomial Loop Invariants
topic Symbolic Computation
Programming Languages
Algebraic Geometry
url https://arxiv.org/abs/2405.09232