Verification, Model Checking, and Abstract Interpretation

Volume 3385 of the series Lecture Notes in Computer Science pp 1-24

Proving Program Invariance and Termination by Parametric Abstraction, Lagrangian Relaxation and Semidefinite Programming

  • Patrick CousotAffiliated withÉcole Normale Supérieure

* Final gross prices may vary according to local VAT.

Get Access


In order to verify semialgebraic programs, we automatize the Floyd/Naur/Hoare proof method. The main task is to automatically infer valid invariants and rank functions.

First we express the program semantics in polynomial form. Then the unknown rank function and invariants are abstracted in parametric form. The implication in the Floyd/Naur/Hoare verification conditions is handled by abstraction into numerical constraints by Lagrangian relaxation. The remaining universal quantification is handled by semidefinite programming relaxation. Finally the parameters are computed using semidefinite programming solvers.

This new approach exploits the recent progress in the numerical resolution of linear or bilinear matrix inequalities by semidefinite programming using efficient polynomial primal/dual interior point methods generalizing those well-known in linear programming to convex optimization.

The framework is applied to invariance and termination proof of sequential, nondeterministic, concurrent, and fair parallel imperative polynomial programs and can easily be extended to other safety and liveness properties.


Bilinear matrix inequality (BMI) Convex optimization Invariance Lagrangian relaxation Linear matrix inequality (LMI) Liveness Parametric abstraction Polynomial optimization Proof Rank function Safety S-procedure Semidefinite programming Termination precondition Termination Program verification