Download presentation
Presentation is loading. Please wait.
Published byVeronica Holt Modified over 9 years ago
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.