Upload
alina
View
25
Download
0
Embed Size (px)
DESCRIPTION
Combining Decision Procedures. Individual DPs Software Engineering Aspects. Sergey Berezin Stanford University. 2*x+3*y
Citation preview
Combining Decision Procedures
• Individual DPs• Software Engineering Aspects
Sergey BerezinStanford University
DecisionProcedures
UninterpretedFunctions
Arrays
Records, Tuples
Bitvectors
Integer Real
RecursiveDatatypes
Linear Arithmetic
Non-linearArithmetic
SpecialFragments
2*x+3*y<17
x-y<17
car(cons(x,y))=x
a[i] = (b with [i] := 0)[j]
{f:=x, g:=y} = r
f(x,y) = g(z)
x*y+z>=17
x@y[7:5] & 10010 = ~z
Quantifiers
TransitiveClosure
8x.9y.
x!*y
Interpolants
Widening
SoftwareEngineering
Soundness
GenericArchitecture
Efficiency
ConcreteCounterexamples
User API
DP Completeness
CombiningTools
Rapid Prototying
Input Language
C/C++ lib
SMT-LIB
Core
DP DPDP
SAT
Hackability
TheoremObject
Simple Properties on API
Integrating SAT
new/deleteClean restarts
DPs as plug-ins (?)
Open-source model (?)
I can change my code,and so can you
DPs in Combination
• Online (incremental)• Proof-producing (conflict analysis)• Complete w.r.t. combination• Backtracking (driven by SAT solver)• Efficient