TL;DR
This paper introduces a geometric method using algebraic geometry and SMT solvers to synthesize complex polynomial loops with guards and invariants, extending beyond affine loops.
Contribution
It presents a novel algorithm that synthesizes loops with polynomial updates and guards from polynomial invariants, generalizing previous affine loop synthesis methods.
Findings
Successfully synthesizes loops with polynomial update maps and guards.
Reduces loop synthesis to solving polynomial systems with an SMT solver.
Extends the scope of loop synthesis beyond affine loops.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
