Nonlinear Craig Interpolant Generation
Abstract
Interpolation-based techniques have become popularized in recent years because of their inherently modular and local reasoning, which can scale up existing formal verification techniques like theorem proving, model-checking, abstraction interpretation, and so on, while the scalability is the bottleneck of these techniques. Craig interpolant generation plays a central role in interpolation-based techniques, and therefore has drawn increasing attentions. In the literature, there are various works done on how to automatically synthesize interpolants for decidable fragments of first-order logic, linear arithmetic, array logic, equality logic with uninterpreted functions (EUF), etc., and their combinations. But Craig interpolant generation for non-linear theory and its combination with the aforementioned theories are still in infancy, although some attempts have been done. In this paper, we first prove that a polynomial interpolant of the form exists for two mutually contradictory polynomial formulas and , with the form , where are polynomials in or , and the quadratic module generated by is Archimedean. Then, we show that synthesizing such interpolant can be reduced to solving a semi-definite programming problem (). In addition, we propose a verification approach to assure the validity of the synthesized interpolant and consequently avoid the unsoundness caused by numerical error in solving. Finally, we discuss how to generalize our approach to general semi-algebraic formulas.
Keywords
Cite
@article{arxiv.1903.01297,
title = {Nonlinear Craig Interpolant Generation},
author = {Ting Gan and Bican Xia and Bai Xue and Naijun Zhan and Liyun Dai},
journal= {arXiv preprint arXiv:1903.01297},
year = {2020}
}
Comments
32 pages, 4 figures