Model-based reasoning DPLL(+ T ): algorithmic reasoner + first-order - - PowerPoint PPT Presentation

model based reasoning dpll t algorithmic reasoner first
SMART_READER_LITE
LIVE PREVIEW

Model-based reasoning DPLL(+ T ): algorithmic reasoner + first-order - - PowerPoint PPT Presentation

Outline Model-based reasoning DPLL( + T ): algorithmic reasoner + first-order prover DPLL( + T ) + speculative inferences: Decision procedures Current and future work On Model-Based Reasoning 1 Recent Trends and Current Developments Maria


slide-1
SLIDE 1

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

On Model-Based Reasoning1

Recent Trends and Current Developments Maria Paola Bonacina

Dipartimento di Informatica Universit` a degli Studi di Verona Verona, Italy

September, 2013

1Joint work with Leonardo de Moura Maria Paola Bonacina On Model-Based Reasoning

slide-2
SLIDE 2

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Maria Paola Bonacina On Model-Based Reasoning

slide-3
SLIDE 3

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

The gist of this talk

◮ Automated reasoning from proofs to models ◮ Models are relevant to applications

(e.g., program testing, program synthesis)

◮ Theorem provers that terminate on satisfiable inputs

(Decision procedures)

◮ Trade-off between decidability and expressivity

Maria Paola Bonacina On Model-Based Reasoning

slide-4
SLIDE 4

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Automated reasoning

Computational Logic Reasoning Automated Computation Symbolic Artificial Intelligence

◮ Logico-deductive reasoning ◮ Other kinds: Probabilistic ...

Maria Paola Bonacina On Model-Based Reasoning

slide-5
SLIDE 5

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Logico-deductive reasoning

◮ Proofs and Models ◮ Theorem Proving

◮ Validity: T |

= ϕ

◮ Refutationally: T ∪ {¬ϕ} unsatisfiable ◮ If not: T -model of ¬ϕ, counter-example for ϕ

◮ Model Building

◮ Satisfiability: is there a T -model of ϕ? ◮ If not: T ∪ {ϕ} unsatisfiable, T |

= ¬ϕ

Maria Paola Bonacina On Model-Based Reasoning

slide-6
SLIDE 6

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Theorem proving strategies (Semi-decision procedures)

◮ First-order logic with equality ◮ Unsatisfiability is semi-decidable, satisfiability is not ◮ Search for proof (refutation) ◮ Models for semantic guidance:

◮ Hyper-resolution [Alan Robinson 1965] ◮ Set of support [Larry Wos et al. 1965] ◮ Semantic resolution [James Slagle 1967] ◮ ... Maria Paola Bonacina On Model-Based Reasoning

slide-7
SLIDE 7

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Algorithmic reasoning (Decision procedures)

◮ Satisfiability decidable: Symmetry restored ◮ Propositional logic ◮ Decidable (fragments of) first-order theories

◮ QFF: equality, recursive data structures, arrays ◮ Linear arithmetic (integers, rationals), arithmetic (reals) Maria Paola Bonacina On Model-Based Reasoning

slide-8
SLIDE 8

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Symmetry in the reasoner’s operations

◮ Deduction guides search for model ◮ Candidate partial model guides deduction ◮ How?

Maria Paola Bonacina On Model-Based Reasoning

slide-9
SLIDE 9

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Propositional logic (SAT)

◮ Davis-Putnam-Logemann-Loveland (DPLL) procedure

[Martin Davis and Hilary Putnam 1960] [Martin Davis and George Logemann and Donald Loveland 1962]

◮ Backtracking search for model ◮ State of derivation: M |

| F M: sequence of truth assignments F: clauses to satisfy

Maria Paola Bonacina On Model-Based Reasoning

slide-10
SLIDE 10

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Conflict-Driven Clause Learning (CDCL)

◮ Conflict: M falsifies clause L1 ∨ . . . ∨ Ln: conflict clause ◮ Explain: resolve and get another conflict clause

L1 ∨ . . . ∨ Ln ¬L1 ∨ Q2 . . . ∨ Qk

◮ Learn: may add resolvent(s) ◮ Backjump: undoes at least an assignment, jumps back as far

as possible to state where learnt resolvent can be satisfied

[Jo˜ ao P. Marques-Silva and Karem A. Sakallah 1997] [Matthew W. Moskewicz, Conor F. Madigan, Ying Zhao, Lintao Zhang and Sharad Malik 2001] Maria Paola Bonacina On Model-Based Reasoning

slide-11
SLIDE 11

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Example of CDCL

F = {¬a ∨ b, ¬c ∨ d, ¬e ∨ ¬f , f ∨ ¬e ∨ ¬b} M = a b c d e ¬f blue: assignments; violet: propagations Conflict: f ∨ ¬e ∨ ¬b Explain by resolving f ∨ ¬e ∨ ¬b and ¬e ∨ ¬f : ¬e ∨ ¬b Learn ¬e ∨ ¬b: no model with e and b true Jump back to earliest state with ¬b false and ¬e unassigned: M = a b ¬e Chronological backtracking: M = a b c d ¬e

Maria Paola Bonacina On Model-Based Reasoning

slide-12
SLIDE 12

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Satisfiability modulo theories (SMT)

◮ DPLL(T ) procedure ◮ Integrate T -satisfiability procedure in DPLL ◮ Ground first-order literals abstracted to propositional variables ◮ CDCL: same

[Robert Nieuwenhuis, Albert Oliveras and Cesare Tinelli 2006] Maria Paola Bonacina On Model-Based Reasoning

slide-13
SLIDE 13

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Theory combination by equality sharing

◮ Theories T1, . . . , Tn ◮ T = n i=1 Ti ◮ Ti-satisfiability procedures ◮ Disjoint: share only ≃ and uninterpreted constants ◮ Need to compute arrangement: which shared constants are

equal and which are not

◮ Conservative approach: propagate all entailed (disjunctions

  • f) equalities between shared constants

[Greg Nelson and Derek C. Oppen 1979] Maria Paola Bonacina On Model-Based Reasoning

slide-14
SLIDE 14

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Model-based theory combination (MBTC)

◮ Every Ti-satisfiability procedure builds a Ti-model ◮ Optimistic approach: propagate equalities true in Ti-model ◮ If not entailed: conflict + backjumping with CDCL + update

Ti-model

◮ Rationale: few equalities matter in practice

[Leonardo de Moura and Nikolaj Bjørner 2007] Maria Paola Bonacina On Model-Based Reasoning

slide-15
SLIDE 15

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

CDCL for ∃-fragments of arithmetic

◮ Linear arithmetic (rationals)

[Ken McMillan, A. Kuehlmann and Mooly Sagiv 2009] [Konstantin Korovin, Nestan Tsiskaridze and Andrei Voronkov 2009] [Scott Cotton 2010]

◮ Linear arithmetic (integers)

[Dejan Jovanovi´ c and Leonardo de Moura 2011]

◮ Non-linear arithmetic (reals)

[Dejan Jovanovi´ c and Leonardo de Moura 2012]

◮ Floating-point binary arithmetic

[Leopold Haller, Alberto Griggio, Martin Brain and Daniel Kroening 2012] Maria Paola Bonacina On Model-Based Reasoning

slide-16
SLIDE 16

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Model-constructing satisfiability procedures (MCsat)

◮ Satisfiability modulo assignment (SMA) ◮ M: both L (means L ← true) and x ← 3 ◮ CDCL + MBTC ◮ Theory CDCL: explain theory conflicts and theory

propagations

◮ Beyond input literals: finite bag for termination ◮ Equality, lists, arrays, linear arithmetic (rationals)

[Leonardo de Moura and Dejan Jovanovi´ c 2013] [Dejan Jovanovi´ c, Clark Barrett and Leonardo de Moura 2013] Maria Paola Bonacina On Model-Based Reasoning

slide-17
SLIDE 17

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Example of theory explanation (equality)

F = {. . . , v ≃ f (a), w ≃ f (b), . . .} M = . . . a ← α b ← α w ← β1 v ← β2 . . . Conflict! Explain by a ≃ b ⊃ f (a) ≃ f (b) (instance of substitutivity)

Maria Paola Bonacina On Model-Based Reasoning

slide-18
SLIDE 18

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Summary: Recent trends in model-based reasoning

◮ Deduction guides search for model ◮ Candidate model guides deduction ◮ Propositional CDCL (both DPLL and DPLL(T )) ◮ Model-based theory combination (MBTC) ◮ CDCL for arithmetic (aka Natural domain SMT) ◮ Model-constructing satisfiability procedures (MCsat)

Maria Paola Bonacina On Model-Based Reasoning

slide-19
SLIDE 19

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Motivation

◮ Decision procedures are most desirable, but ... ◮ Formulæ from SW verification tools (verifying compiler, static

analyzer, test generator, synthesizer, model checker) use quantifiers to write

◮ invariants ◮ axioms of theories without decision procedure

◮ Need for generic first-order inferences

Maria Paola Bonacina On Model-Based Reasoning

slide-20
SLIDE 20

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Shape of problem

◮ Background theory T

◮ T = n

i=1 Ti (linear arithmetic, data structures)

◮ Set of formulæ: R ∪ P

◮ R: set of non-ground clauses without T -symbols ◮ P: large ground formula (set of ground clauses)

typically with T -symbols

◮ Determine whether R ∪ P is satisfiable modulo T

Maria Paola Bonacina On Model-Based Reasoning

slide-21
SLIDE 21

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

DPLL(Γ+T ): integrate Γ in DPLL(T )

◮ Superposition-based inference system Γ:

◮ FOL+= clauses with universally quantified variables ◮ Expansion: generate clauses (resolution, superposition) ◮ Contraction: delete redundant clauses (subsumption,

simplification)

◮ Well-founded ordering and literal selection ◮ Decision procedure for several theories of data structures

(e.g., lists, arrays, records)

◮ Model-based deduction:

literals in M as premises of Γ-inferences!

[Alessandro Armando, Maria Paola Bonacina, Silvio Ranise and Stephan Schulz 2009] [Leonardo de Moura and Nikolaj Bjørner 2008] Maria Paola Bonacina On Model-Based Reasoning

slide-22
SLIDE 22

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Hypothetical clauses

◮ Literals from M used as premises of Γ-inferences stored as

hypotheses in inferred clause: (L1 ∧ . . . ∧ Ln) ⊲ (L′

1 ∨ . . . L′ m)

interpreted as ¬L1 ∨ . . . ∨ ¬Ln ∨ L′

1 ∨ . . . ∨ L′ m ◮ Inferred clauses inherit hypotheses from premises ◮ Backjump: remove hypothetical clauses depending on undone

assignments

Maria Paola Bonacina On Model-Based Reasoning

slide-23
SLIDE 23

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

DPLL(Γ+T ): expansion inferences

◮ If non-ground clauses C1, . . . , Cm and ground R-literals

Lm+1, . . . , Ln generate C : H1 ⊲ C1, . . . , Hm ⊲ Cm and Lm+1, . . . , Ln in M generate H1 ∪ . . . ∪ Hm ∪ {Lm+1, . . . , Ln} ⊲ C

◮ Only R-literals: Γ-inferences ignore T -literals ◮ Take ground unit R-clauses from M as MBTC puts them

there

Maria Paola Bonacina On Model-Based Reasoning

slide-24
SLIDE 24

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

DPLL(Γ+T ): contraction inferences

◮ Don’t delete clause if clauses that make it redundant gone by

backjumping

◮ Level of a literal in M: its decision level ◮ Level of a set of literals: the maximum

◮ If non-ground clauses C1, . . . , Cm and ground R-literals

Lm+1, . . . , Ln simplify C to C ′ : H1 ⊲ C1, . . . , Hm ⊲ Cm and Lm+1, . . . , Ln in M simplify H ⊲ C to H ∪ H1 ∪ . . . ∪ Hm ∪ {Lm+1, . . . , Ln} ⊲ C ′

◮ If level(H) ≥ level(H′): delete ◮ If level(H) < level(H′): disable

(re-enable when backjumping level(H′))

Maria Paola Bonacina On Model-Based Reasoning

slide-25
SLIDE 25

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Completeness of DPLL(Γ+T )

◮ Refutational completeness of the inference system:

◮ From that of Γ, DPLL(T ) and equality sharing ◮ Combines both built-in and axiomatized theories

◮ Fairness of the search plan:

◮ Depth-first search fair only for ground SMT problems; ◮ Add iterative deepening on inference depth:

k-bounded DPLL(Γ+T )

Maria Paola Bonacina On Model-Based Reasoning

slide-26
SLIDE 26

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

DPLL(Γ+T ): Summary

Use each engine for what is best at:

◮ DPLL(T ) works on ground clauses and built-in theory ◮ Γ works on non-ground clauses and ground unit clauses taken

from M: Γ works on R-satisfiability problem

◮ Γ-inferences guided by current partial model

Maria Paola Bonacina On Model-Based Reasoning

slide-27
SLIDE 27

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Can DPLL(Γ+T ) still be a decision procedure?

Problematic axioms do occur in relevant inputs:

  • 1. ¬(x ⊑ y) ∨ f (x) ⊑ f (y) (Monotonicity)
  • 2. a ⊑ b generates by resolution
  • 3. {f i(a) ⊑ f i(b)}i≥0

When f (a) ⊑ f (b) or f 2(a) ⊑ f 2(b) often suffice to show satisfiability

Maria Paola Bonacina On Model-Based Reasoning

slide-28
SLIDE 28

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Idea: Allow speculative inferences

  • 1. ¬(x ⊑ y) ∨ f (x) ⊑ f (y)
  • 2. a ⊑ b
  • 3. a ⊑ f (c)
  • 4. ¬(a ⊑ c)

Maria Paola Bonacina On Model-Based Reasoning

slide-29
SLIDE 29

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Idea: Allow speculative inferences

  • 1. ¬(x ⊑ y) ∨ f (x) ⊑ f (y)
  • 2. a ⊑ b
  • 3. a ⊑ f (c)
  • 4. ¬(a ⊑ c)
  • 1. Add f (x) ≃ x
  • 2. Rewrite a ⊑ f (c) into a ⊑ c and get ✷: backtrack!

Maria Paola Bonacina On Model-Based Reasoning

slide-30
SLIDE 30

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Idea: Allow speculative inferences

  • 1. ¬(x ⊑ y) ∨ f (x) ⊑ f (y)
  • 2. a ⊑ b
  • 3. a ⊑ f (c)
  • 4. ¬(a ⊑ c)
  • 1. Add f (x) ≃ x
  • 2. Rewrite a ⊑ f (c) into a ⊑ c and get ✷: backtrack!
  • 3. Add f (f (x)) ≃ x
  • 4. a ⊑ b yields only f (a) ⊑ f (b)
  • 5. a ⊑ f (c) yields only f (a) ⊑ c
  • 6. Terminate and detect satisfiability

Maria Paola Bonacina On Model-Based Reasoning

slide-31
SLIDE 31

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Speculative inferences in DPLL(Γ+T )

◮ Speculative inference: add arbitrary clause C ◮ To induce termination on satisfiable input ◮ What if it makes problem unsatisfiable?! ◮ Detect conflict and backjump:

◮ ⌈C⌉: new propositional variable (a “name” for C) ◮ Add ⌈C⌉ ⊲ C to clauses and ⌈C⌉ to M ◮ Speculative inferences are reversible Maria Paola Bonacina On Model-Based Reasoning

slide-32
SLIDE 32

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Example as done by system

  • 1. ¬(x ⊑ y) ∨ f (x) ⊑ f (y)
  • 2. a ⊑ b
  • 3. a ⊑ f (c)
  • 4. ¬(a ⊑ c)

Maria Paola Bonacina On Model-Based Reasoning

slide-33
SLIDE 33

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Example as done by system

  • 1. ¬(x ⊑ y) ∨ f (x) ⊑ f (y)
  • 2. a ⊑ b
  • 3. a ⊑ f (c)
  • 4. ¬(a ⊑ c)
  • 1. Add ⌈f (x) ≃ x⌉ ⊲ f (x) ≃ x
  • 2. Rewrite a ⊑ f (c) into ⌈f (x) ≃ x⌉ ⊲ a ⊑ c

Maria Paola Bonacina On Model-Based Reasoning

slide-34
SLIDE 34

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Example as done by system

  • 1. ¬(x ⊑ y) ∨ f (x) ⊑ f (y)
  • 2. a ⊑ b
  • 3. a ⊑ f (c)
  • 4. ¬(a ⊑ c)
  • 1. Add ⌈f (x) ≃ x⌉ ⊲ f (x) ≃ x
  • 2. Rewrite a ⊑ f (c) into ⌈f (x) ≃ x⌉ ⊲ a ⊑ c
  • 3. Generate ⌈f (x) ≃ x⌉ ⊲ ✷; Backtrack, learn ¬⌈f (x) ≃ x⌉

Maria Paola Bonacina On Model-Based Reasoning

slide-35
SLIDE 35

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Example as done by system

  • 1. ¬(x ⊑ y) ∨ f (x) ⊑ f (y)
  • 2. a ⊑ b
  • 3. a ⊑ f (c)
  • 4. ¬(a ⊑ c)
  • 1. Add ⌈f (x) ≃ x⌉ ⊲ f (x) ≃ x
  • 2. Rewrite a ⊑ f (c) into ⌈f (x) ≃ x⌉ ⊲ a ⊑ c
  • 3. Generate ⌈f (x) ≃ x⌉ ⊲ ✷; Backtrack, learn ¬⌈f (x) ≃ x⌉
  • 4. Add ⌈f (f (x)) ≃ x⌉ ⊲ f (f (x)) ≃ x
  • 5. a ⊑ b yields only f (a) ⊑ f (b)
  • 6. a ⊑ f (c) yields only ⌈f (f (x)) = x⌉ ⊲ f (a) ⊑ c
  • 7. Terminate and detect satisfiability

Maria Paola Bonacina On Model-Based Reasoning

slide-36
SLIDE 36

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Decision procedures with speculative inferences

To decide satisfiability modulo T of R ∪ P:

◮ Find sequence of speculative axioms U ◮ Show that there exists k s.t. k-bounded DPLL(Γ+T ) is

guaranteed to terminate

◮ returning Unsat if R ∪ P is T -unsatisfiable ◮ in a state which is not stuck at k otherwise Maria Paola Bonacina On Model-Based Reasoning

slide-37
SLIDE 37

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Decision procedures

◮ R has single monadic function symbol f ◮ Essentially finite: if R ∪ P is satisfiable, has model where

range of f is finite

◮ Such a model satisfies f j(x) ≃ f k(x) for some j = k

Maria Paola Bonacina On Model-Based Reasoning

slide-38
SLIDE 38

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Decision procedures

◮ R has single monadic function symbol f ◮ Essentially finite: if R ∪ P is satisfiable, has model where

range of f is finite

◮ Such a model satisfies f j(x) ≃ f k(x) for some j = k ◮ Add pseudo-axioms f j(x) ≃ f k(x), j > k ◮ Use f j(x) ≃ f k(x) as rewrite rule to limit term depth

Maria Paola Bonacina On Model-Based Reasoning

slide-39
SLIDE 39

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Decision procedures

◮ R has single monadic function symbol f ◮ Essentially finite: if R ∪ P is satisfiable, has model where

range of f is finite

◮ Such a model satisfies f j(x) ≃ f k(x) for some j = k ◮ Add pseudo-axioms f j(x) ≃ f k(x), j > k ◮ Use f j(x) ≃ f k(x) as rewrite rule to limit term depth ◮ Clause length limited by properties of Γ and R ◮ Only finitely many clauses generated: termination

Maria Paola Bonacina On Model-Based Reasoning

slide-40
SLIDE 40

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Situations where clause length is limited

Γ: Superposition, Resolution + negative selection, Simplification Negative selection: only positive literals in positive clauses resolve

  • r superpose

◮ R is Horn: number of literals in each clause is bounded ◮ R is ground-preserving: all variables appear also in negative

literals the only positive clauses are ground

  • nly finitely many clauses generated

Maria Paola Bonacina On Model-Based Reasoning

slide-41
SLIDE 41

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Axiomatizations of type systems

Reflexivity x ⊑ x (1) Transitivity ¬(x ⊑ y) ∨ ¬(y ⊑ z) ∨ x ⊑ z (2) Anti-Symmetry ¬(x ⊑ y) ∨ ¬(y ⊑ x) ∨ x ≃ y (3) Monotonicity ¬(x ⊑ y) ∨ f (x) ⊑ f (y) (4) Tree-Property ¬(z ⊑ x) ∨ ¬(z ⊑ y) ∨ x ⊑ y ∨ y ⊑ x (5) Multiple inheritance: MI = {(1), (2), (3), (4)} Single inheritance: SI = MI ∪ {(5)}

Maria Paola Bonacina On Model-Based Reasoning

slide-42
SLIDE 42

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Concrete examples of decision procedures

DPLL(Γ+T ) with addition of f j(x) ≃ f k(x) for j > k decides the satisfiability modulo T of problems

◮ MI ∪ P ◮ SI ∪ P ◮ MI ∪ TR ∪ P and SI ∪ TR ∪ P

where TR = {¬(g(x) ≃ null), h(g(x)) ≃ x} has only infinite models!

(because g is injective, since it has left inverse, but not surjective, since there is no pre-image for null)

[Maria Paola Bonacina, Chris Lynch and Leonardo de Moura 2011] Maria Paola Bonacina On Model-Based Reasoning

slide-43
SLIDE 43

Outline Model-based reasoning DPLL(Γ+T ): algorithmic reasoner + first-order prover DPLL(Γ+T ) + speculative inferences: Decision procedures Current and future work

Current and future work

◮ MCsat procedures for more first-order theories

e.g., Boolean algebra with Presburger arithmetic (BAPA)

◮ Many-sorted DPLL(Γ+T ) ◮ Weakening conditions for completeness ◮ More decision procedures by speculative inferences ◮ MCsat + Γ

[Joint work with Serdar Erbatur] Maria Paola Bonacina On Model-Based Reasoning