Presentation is loading. Please wait.

Presentation is loading. Please wait.

Solving Non-linear Arithmetic Dejan Jovanovic and Leonadro de Moura Presented by Boris Trayvas.

Similar presentations


Presentation on theme: "Solving Non-linear Arithmetic Dejan Jovanovic and Leonadro de Moura Presented by Boris Trayvas."— Presentation transcript:

1 Solving Non-linear Arithmetic Dejan Jovanovic and Leonadro de Moura Presented by Boris Trayvas

2 Outline Background - Introduction - Conflict-Driven Clause Learning - Definitions An Abstract Decision Procedure - States and Well Formed States - Search, Clause & Conflict Rules Producing Explanations - More Definitions - Intro to Cylindrical Algebraic Decomposition - Projection Based Explanations Experimental Results

3 Introduction I Everyone loves polynomials! Tarski (1951) showed a decision procedure for elimination of quantifiers over the reals, which shows the existence of an (impractical) decision procedure for solving polynomial constraints. Collins (1975) first showed a procedure using cylindrical algebraic decomposition (CAD).

4 Introduction II

5 Conflict-Driven Clause Learning The Algorithm: Black boxes: - PickBranchingVariable() – What variable to “guess” next? - UnitPropagation() – What can I learn from the new assignment? - ConflictAnalysis() – What clause should I add to prevent the conflict?

6 CDCL Example

7 Definitions I

8 Definitions II

9 Definitions III

10 Definitions IV

11 Polynomial Constraint Problem

12 An Abstract Decision Procedure Although the algorithm is a CDCL-style algorithm, we will present it as an abstract transition system. This system can be generalized to apply to theories other than non-linear arithmetic.

13 Trail and Trail Elements

14 Trail Examples I

15 The Implied Assignment

16 Stage Increasing

17 Trail Examples II

18 Value

19 Well-Formed State

20 The Transition System

21 Search Rules I

22 Search Rules – Select-Clause The Select-Clause rule selects a clause from the current stage for which the value is undefined and moves to the clause processing mode to satisfy it.

23 Search Rules - Conflict The Conflict rule detects a clause from the current stage that is inconsistent and tries to resolve the conflict it by moving to the conflict analysis mode.

24 Search Rules Lift-Level

25 Search Rules - SAT

26 Search Rules - Forget The last rule is the Forget rule, that allows us to eliminate a clause that was added while analyzing conflicts.

27 Search Rules II Note that once we move to the next stage, all the clauses of the previous stages are satisfied, and they will not be selected by the Select-Clause or Conflict rules.

28 Clause Processing Rules

29 Processing Rules – B-Propagate

30 Processing Rules – R-Propagate

31 Processing Rules – Decide-Literal If neither of the propagate rules works, we assume that some literal is true for a compatible literal.

32 Conflict Analysis Rules

33 Conflict Rules – Resolve- Propagation

34 Conflict Rules – Resolve Decision

35 Conflict Rules - Consume

36 Conflict Rules – Drop-Stage

37 Conflict Rules - Unsat Finally, if we backtrack all the way to the beginning with a conflict, we will return unsat.

38 Termination Theorem

39 The Explain Procedure

40 Definitions V

41

42 A much needed example

43 Intro to CAD

44 Projection-Based Explanations

45 Experimental Results The algorithm (nlsat) did overall better than other algorithms. Each other algorithm was generally good at one or two problem sets and not so good on the others, but this algorithm was pretty good on all the problem sets.

46 Fin


Download ppt "Solving Non-linear Arithmetic Dejan Jovanovic and Leonadro de Moura Presented by Boris Trayvas."

Similar presentations


Ads by Google