Presentation is loading. Please wait.

Presentation is loading. Please wait.

Decision methods for arithmetic Third summer school on formal methods Leonardo de Moura Microsoft Research.

Similar presentations


Presentation on theme: "Decision methods for arithmetic Third summer school on formal methods Leonardo de Moura Microsoft Research."— Presentation transcript:

1 Decision methods for arithmetic Third summer school on formal methods Leonardo de Moura Microsoft Research

2 Software analysis/verification tools need some form of symbolic reasoning Symbolic Reasoning Logic is “The Calculus of Computer Science” Zohar Manna

3 Saturation x Search Proof-findingModel-finding Models Proofs Conflict Resolution Conflict Resolution

4 SAT CNF is a set (conjunction) set of clauses Clause is a disjunction of literals Literal is an atom or the negation of an atom

5 Two procedures ResolutionDPLL Proof-finderModel-finder SaturationSearch

6 Resolution

7 Resolution: Example

8

9

10

11

12 Resolution: Problem Exponential time and space

13 Unit Resolution

14 DPLL DPLL = Unit Resolution + Split rule

15 DPLL

16

17

18

19

20

21 CDCL: Conflict Driven Clause Learning Resolution DPLL Conflict Resolution Conflict Resolution Proof Model

22 MCSat

23 Propagations

24 MCSat Propagations

25 MCSat Propagations

26 MCSat Decisions

27 MCSat Model Assignments

28 MCSat Model Assignments We can’t falsify any fact in the trail.

29 MCSat Conflict

30 MCSat Conflict

31

32 MCSat

33 Conflict

34 MCSat Learned by resolution

35 MCSat

36 MCSat – Finite Basis Every theory that admits quantifier elimination has a finite basis (given a fixed assignment order)

37 MCSat – Finite Basis

38

39

40

41 Every “finite” theory has a finite basis

42 MCSat – Finite Basis Theory of uninterpreted functions has a finite basis Theory of arrays has a finite basis [Brummayer- Biere 2009] In both cases the Finite Basis is essentially composed of equalities between existing terms.

43 MCSat: Termination Propagations Decisions Model Assignments

44 MCSat Propagations Decisions Model Assignments

45 MCSat Propagations Decisions Model Assignments

46 MCSat … Maximal Elements

47 Conflict

48

49

50 MCSat

51

52 Conflict (evaluates to false)

53 MCSat New clause

54 MCSat New clause

55 MCSat New clause

56 MCSat: Architecture Arithmetic Boolean Lists Arrays

57 MCSat: development


Download ppt "Decision methods for arithmetic Third summer school on formal methods Leonardo de Moura Microsoft Research."

Similar presentations


Ads by Google