DocumentCode
545655
Title
CalCS: SMT solving for non-linear convex constraints
Author
Nuzzo, Pierluigi ; Puggelli, Alberto ; Seshia, Sanjit A. ; Sangiovanni-Vincentelli, Alberto
Author_Institution
Dept. of Electr. Eng. & Comput. Sci., Univ. of California, Berkeley, Berkeley, CA, USA
fYear
2010
fDate
20-23 Oct. 2010
Firstpage
71
Lastpage
79
Abstract
Certain formal verification tasks require reasoning about Boolean combinations of non-linear arithmetic constraints over the real numbers. In this paper, we present a new technique for satisfiability solving of Boolean combinations of non-linear constraints that are convex. Our approach applies fundamental results from the theory of convex programming to realize a satisfiability modulo theory (SMT) solver. Our solver, CalCS, uses a lazy combination of SAT and a theory solver. A key step in our algorithm is the use of complementary slackness and duality theory to generate succinct infeasibility proofs that support conflict-driven learning. Moreover, whenever non-convex constraints are produced from Boolean reasoning, we provide a procedure that generates conservative approximations of the original set of constraints by using geometric properties of convex sets and supporting hyperplanes. We validate CalCS on several benchmarks including formulas generated from bounded model checking of hybrid automata and static analysis of floating-point software.
Keywords
Boolean algebra; computability; convex programming; formal verification; Boolean reasoning; CalCS; SMT; automata; bounded model checking; conflict-driven learning; convex programming; floating-point software; formal verification; nonlinear convex constraints; satisfiability modulo theory; theory solver; Approximation methods; Cognition; Convex functions; Cost accounting; Integrated circuit modeling; Optimization; Programming;
fLanguage
English
Publisher
ieee
Conference_Titel
Formal Methods in Computer-Aided Design (FMCAD), 2010
Conference_Location
Lugano
Print_ISBN
978-1-4577-0734-6
Electronic_ISBN
978-0-9835678-0-6
Type
conf
Filename
5770935
Link To Document