Linear Loop Synthesis for Quadratic Invariants
S. Hitarth, George Kenison, Laura Kov\'acs, Anton Varonka

TL;DR
This paper introduces a method to synthesize simple loops with linear updates that inherently satisfy quadratic invariants, simplifying the process of loop verification by design.
Contribution
It presents a novel approach to generate loops with polynomial invariants directly, focusing on quadratic invariants and affine updates, reducing verification complexity.
Findings
Decides existence of loops with given quadratic invariants.
Synthesizes loops with variables taking infinitely many values.
Provides a decision procedure for loop synthesis based on quadratic equations.
Abstract
Invariants are key to formal loop verification as they capture loop properties that are valid before and after each loop iteration. Yet, generating invariants is a notorious task already for syntactically restricted classes of loops. Rather than generating invariants for given loops, in this paper we synthesise loops that exhibit a predefined behaviour given by an invariant. From the perspective of formal loop verification, the synthesised loops are thus correct by design and no longer need to be verified. To overcome the hardness of reasoning with arbitrarily strong invariants, in this paper we construct simple (non-nested) while loops with linear updates that exhibit polynomial equality invariants. Rather than solving arbitrary polynomial equations, we consider loop properties defined by a single quadratic invariant in any number of variables. We present a procedure that, given a…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Model-Driven Software Engineering Techniques
