4
Combining Decision Procedures Individual DPs Software Engineering Aspects Sergey Berezin Stanford University

Combining Decision Procedures

  • 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

Page 1: Combining Decision Procedures

Combining Decision Procedures

• Individual DPs• Software Engineering Aspects

Sergey BerezinStanford University

Page 2: Combining Decision Procedures

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

Page 3: Combining Decision Procedures

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

Page 4: Combining Decision Procedures

DPs in Combination

• Online (incremental)• Proof-producing (conflict analysis)• Complete w.r.t. combination• Backtracking (driven by SAT solver)• Efficient