
arXiv: 2505.00620
Ensuring software correctness remains a fundamental challenge in formal program verification. One promising approach relies on finding polynomial invariants for loops. Polynomial invariants are properties of a program loop that hold before and after each iteration. Generating polynomial invariants is a crucial task for loops, but it is an undecidable problem in the general case. Recently, an alternative approach to this problem has emerged, focusing on synthesizing loops from invariants. However, existing methods only synthesize affine loops without guard conditions from polynomial invariants. In this paper, we address a more general problem, allowing loops to have polynomial update maps with a given structure, inequations in the guard condition, and polynomial invariants of arbitrary form. In this paper, we use algebraic geometry tools to design and implement an algorithm that computes a finite set of polynomial equations whose solutions correspond to all loops satisfying the given polynomial invariants. In other words, we reduce the problem of synthesizing loops to finding solutions of polynomial systems within a specified subset of the complex numbers. The latter is handled in our software using an SMT solver.
Computer Science - Symbolic Computation, FOS: Computer and information sciences, [INFO.INFO-SC] Computer Science [cs]/Symbolic Computation [cs.SC], [MATH.MATH-AG] Mathematics [math]/Algebraic Geometry [math.AG], CCS Concepts: Applied computing → Invariants Logic and verification • Computing methodologies → Symbolic and algebraic manipulation Program synthesis, Symbolic Computation (cs.SC), [INFO.INFO-PL] Computer Science [cs]/Programming Languages [cs.PL], CCS Concepts:, Mathematics - Algebraic Geometry, FOS: Mathematics, Logic and verification, Polynomial invariants, • Computing methodologies → Symbolic and algebraic manipulation Program synthesis, Applied computing → Invariants, Algebraic Geometry (math.AG)
Computer Science - Symbolic Computation, FOS: Computer and information sciences, [INFO.INFO-SC] Computer Science [cs]/Symbolic Computation [cs.SC], [MATH.MATH-AG] Mathematics [math]/Algebraic Geometry [math.AG], CCS Concepts: Applied computing → Invariants Logic and verification • Computing methodologies → Symbolic and algebraic manipulation Program synthesis, Symbolic Computation (cs.SC), [INFO.INFO-PL] Computer Science [cs]/Programming Languages [cs.PL], CCS Concepts:, Mathematics - Algebraic Geometry, FOS: Mathematics, Logic and verification, Polynomial invariants, • Computing methodologies → Symbolic and algebraic manipulation Program synthesis, Applied computing → Invariants, Algebraic Geometry (math.AG)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
