NIL: Learning Nonlinear Interpolants

  title={NIL: Learning Nonlinear Interpolants},
  author={Mingshuai Chen and Jian Wang and Jie An and Bohua Zhan and Deepak Kapur and Naijun Zhan},
Nonlinear interpolants have been shown useful for the verification of programs and hybrid systems in contexts of theorem proving, model checking, abstract interpretation, etc. The underlying synthesis problem, however, is challenging and existing methods have limitations on the form of formulae to be interpolated. We leverage classification techniques with space transformations and kernel tricks as established in the realm of machine learning, and present a counterexample-guided method named… 
Probably Approximately Correct Interpolants Generation
The PAC interpolant is computed by solving a scenario optimization problem, which can be regarded as a statistically sound formal method in the sense that it provides formal correct guarantees expressed using violation probabilities and confidences.
Nonlinear Craig Interpolant Generation
It is proved that a polynomial interpolant of the form \documentclass[12pt]{minimal} \usepackage{amsmath} £1,000,000 \use package{wasysym} ¬2,500,Ã’¬3,000 ┬4,000 exists for two mutually contradictory polynomials.
Dependable Software Engineering. Theories, Tools, and Applications: 6th International Symposium, SETTA 2020, Guangzhou, China, November 24–27, 2020, Proceedings
Details of Invited Talks Lab Conditions for Research on Explainable Automated Decisions and how to get started with research on explainable automated decisions are provided.
Synthesizing barrier certificates using neural networks
An approach of safety verification based on neural networks for continuous dynamical systems which are modeled as a system of ordinary differential equations and proposes a new type of activation functions, i.e., Bent-ReLU, for the neural networks.


Generating Non-linear Interpolants by Semidefinite Programming
This paper provides an approach for constructing non-linear interpolants based on semidefinite programming, and shows how to apply such results to the verification of programs by examples.
Efficient Interpolant Generation in Satisfiability Modulo Theories
This paper presents several techniques for interpolant generation in SMT which overcome the limitations of the current generators, and which take full advantage of state-of-the-art SMT technology.
Sharper and Simpler Nonlinear Interpolants for Program Verification
The enhancement is made possible by: theoretical observations in real algebraic geometry; and the continued fraction-based algorithm that rounds off (potentially erroneous) numerical solutions of SDP solvers.
Interpolant Synthesis for Quadratic Polynomial Inequalities and Combination with EUF
A generalization of Motzkin's transposition theorem is proved, which is used to generate an interpolant between two mutually contradictory conjunctions of polynomial inequalities, using semi-definite programming in time complexity.
Interpolants as Classifiers
It is shown how interpolants can be viewed as classifiers in supervised machine learning, able to use off-the-shelf classification techniques, in particular support vector machines (SVMs), for interpolation.
Craig Interpolation in the Presence of Non-linear Constraints
This paper makes Craig interpolation available for an in general undecidable theory that contains Boolean combinations of linear and non-linear constraints including transcendental functions like sin(ċ) and cos(Ċ) and shows how the construction rules for CIs can be extended to handle non- linear constraints.
Constraint solving for interpolation
Interpolant Strength
This work presents a system for constructing propositional interpolants of different strength from a resolution refutation, which subsumes existing methods and allows interpolation systems to be ordered by the logical strength of the obtained interpolants.
Interpolants in Nonlinear Theories Over the Reals
We develop algorithms for computing Craig interpolants for first-order formulas over real numbers with a wide range of nonlinear functions, including transcendental functions and differential
Abstractions from proofs
The model checker BLAST is extended with predicate discovery by Craig interpolation, and applied successfully to C programs with more than 130,000 lines of code, which was not possible with approaches that build less parsimonious abstractions.