Constraint Logic Programming and Integrating Simplex with DPLL(T )

Size: px
Start display at page:

Download "Constraint Logic Programming and Integrating Simplex with DPLL(T )"

Transcription

1 Constraint Logic Programming and Integrating Simplex with DPLL(T ) Ali Sinan Köksal December 3, 2010

2 Constraint Logic Programming Underlying concepts The CLP(X ) framework Comparison of CLP with LP Integrating Simplex with DPLL(T ) DPLL(T ) Existing linear arithmetic solvers A solver for quantifier-free linear arithmetic

3 Constraint logic programming Problem: designing programming systems to reason with and about constraints. CLP is a class of programming languages based on: Constraint solving The logic programming paradigm

4 Constraint programming Sketchpad (1963) Interactive drawing system using static constraints

5 Logic programming paradigm An example program in pure Prolog: mother_child(trude, sally). father_child(tom, sally). father_child(tom, erica). father_child(mike, tom). sibling(x, Y) :- parent_child(z, X), parent_child(z, Y). parent_child(x, Y) :- father_child(x, Y). parent_child(x, Y) :- mother_child(x, Y). We can perform the query:?- sibling(sally, erica). Yes

6 CLP(X ) framework The CLP(X ) framework [JL87] is a scheme where X can be instantiated with a suitable domain of discourse, such as R, the algebraic structure consisting of uninterpreted functors over real numbers [JMSY92].

7 Structure of CLP(R) programs Arithmetic terms: Real constants and variables are arithmetic terms If t 1 and t 2 are terms, then (t 1 + t 2 ), (t 1 t 2 ), (t 1 t 2 ) are also arithmetic terms Terms: Uninterpreted constants, arithmetic terms and variables are terms If f is an n-ary uninterpreted functor and t 1,..., t n are terms, then f (t 1,..., t n ) is a term Constraints: If t 1 and t 2 are arithmetic terms, then t 1 = t 2, t 1 < t 2 and t 1 t 2 are constraints If not both t1 and t 2 are arithmetic terms, then only t 1 = t 2 is a constraint

8 Structure of CLP(R) programs (2) An atom is of the form p(t 1, t 2,..., t n ) where p is a predicate symbol and t 1,..., t n are terms. A rule is of the form A 0 : α 1, α 2,..., α k. where each α i, 1 i k is either a constraint or an atom. A CLP(R) program is a finite collection of rules.

9 CLP by example The following program defines the relation sumto(n, s) where for natural numbers n. s = 1 i n sumto(0,0). sumto(n,s) :- N >= 1, N <= S, sumto(n-1,s-n). i

10 CLP by example (2) sumto(0,0). sumto(n,s) :- N >= 1, N <= S, sumto(n-1,s-n). The query S <= 3, sumto(n, S) gives rise to three answers: (N = 0, S = 0), (N = 1, S = 1), (N = 2, S = 3). Computation sequence for (N = 2, S = 3): S 3, sumto(n, S). S 3, N = N 1, S = S 1, N 1 1, N 1 S 1, sumto(n 1 1, S 1 N 1 ). S 3, N = N 1, S = S 1, N 1 1, N 1 S 1, N 1 1 = N 2, S 1 N 1 = S 2, N 2 1, N 2 S 2 sumto(n 2 1, S 2 N 2 ). S 3, N = N 1, S = S 1, N 1 1, N 1 S 1, N 1 1 = N 2, S 1 N 1 = S 2, N 2 1, N 2 S 2 N 2 1 = 0, S 2 N 2 = 0.

11 Comparison to logic programming Can the power of CLP be obtained by making simple changes to LP systems [JM94]? In other words, can predicates in LP be regarded as meaningful constraints? add(0, N, N). add(s(n), M, S(K)) :- add(n, M, K) The query add(n, M, K), add(n, M, S(K)) runs forever in a conventional LP system: A global test for the satisfiability of the two add constraints is not done by the LP machinery.

12 Constraint Logic Programming Underlying concepts The CLP(X ) framework Comparison of CLP with LP Integrating Simplex with DPLL(T ) DPLL(T ) Existing linear arithmetic solvers A solver for quantifier-free linear arithmetic

13 Davis-Putnam-Logemann-Loveland (DPLL) DPLL is a decision procedure for the boolean satisfiability problem Modern DPLL-based SAT solvers feature: unit propagation heuristics for selecting decision variables 2-literal watching clause learning backjumping

14 Solvers for quantifier-free theories Given a quantifier-free theory T, a T -solver decides the satisfiability of finite sets of atoms of T.

15 Decision procedures for quantifier-free theories Decide a boolean combination Φ of atoms of T by combining a SAT solver with a T -solver. Transform Φ into Φ 0 by replacing atoms φ 1... φ t with propositional variables p 1... p t A valuation b for Φ 0 is a mapping from propositional variables to {0, 1} Define set of atoms Γ b such that: Γb = {γ 1... γ t } γ i = φ i if b(p i ) = 1 γ i = φ i if b(p i ) = 0 Φ is satisfiable if there exists b that satisfies Φ 0 and such that Γ b is consistent in T.

16 DPLL(T ) DPLL(T ) is a framework which leverages the DPLL procedure and a T -solver. Solver must support: updating the state by asserting new atoms checking consistency of current state backtracking producing explanations for conflicts (an inconsistent subset of atoms asserted in current state) Solver can optionally implement theory propagation, but: it must produce an explanation Γ for an implied atom γ, where Γ is a subset of atoms asserted in current state such that Γ = γ.

17 DPLL(T ) example Consider the following simple example formula Φ in quantifier-free linear arithmetic: (x + y 1 x + y 5) (x = 1) (y = 2)

18 Conventions In the following, we assume that: The solver is initialized for a fixed formula Φ A denotes the set of atoms occurring in Φ α denotes the set of atoms asserted so far.

19 Interface for T -solver We assume that the following API is implemented by the solver: Assert(γ): assert atom γ in current state. if it returns ok, γ is inserted into α if it returns unsat(γ), α {γ} is inconsistent and Γ α is an explanation. Check(): check whether α is consistent if it returns ok, α is consistent, and a new checkpoint is created. if it returns unsat(γ), α is inconsistent and Γ α is an explanation Backtrack(): backtrack to the last checkpoint Propagate(): perform theory propagation it returns a set { Γ1, γ 1,..., Γ t, γ t } where Γ i α and γ i A \ α, such that Γ i = γ i for 1 i t.

20 Remarks on the interface for T -solver Assert(γ) must be sound but need not be complete: it can return ok even if α {γ} is inconsistent. Check() must be sound and complete. = Several atoms can be asserted in a single batch

21 Quantifier-free linear arithmetic A quantifier-free linear arithmetic formula is a first-order formula with atoms: either propositional variables or of the form a 1 x a n x n b where a 1,..., a n and b are rational numbers, x 1,..., x n are real (or integer variables), and {=,, <, >,, }.

22 Linear-arithmetic solvers for DPLL(T ) Common approach: solvers based on incremental versions of the Simplex method Implemented in Yices, Simplics, MathSat Solver state includes a Simplex tableau derived from assertions The tableau can be seen as a set of equalities x i = b i + x j B a ij x j, x i N where B and N are disjoints sets of basic and non-basic variables. Additional constraints are imposed, such as non-negativity of slack variables

23 Incremental Simplex method: pivoting Pivot(x r, x s ): swap basic variable x r and non-basic variable x s such that a rs 0, by replacing x r = b r + a rj x j with x s = b r a rs + x r a rs x j N x j N \{x s} a rj x j a rs and eliminating x s from the rest of tableau by substitution.

24 Incremental Simplex method operations To assert an atom γ of the form t 0: Normalize γ by substituting in t basic variables by non-basic ones. Check whether resulting atom t 0 is satisfiable by maximizing t using the tableau. Asserting equalities and strict inequalities follow same principle To backtrack: Remove rows from the tableau

25 Performance issues in incremental Simplex solvers Asserting and backtracking have significant cost, due to: pivoting in assertions frequent addition and removal of rows frequent creation and deletion of slack variables

26 Important remarks for performance Generating minimal explanations is critical Theory propagation must be done cheaply: Full propagation is too expensive, heuristic propagation is superior Zero detection is expensive = Convert t 0 into (t > 0) (t < 0)

27 A different solver for linear arithmetic We now proceed to describe a solver for linear arithmetic [DdM06] with the following properties: It is still based on the Simplex method It reduces the overhead of the incremental Simplex approach

28 Preprocessing Idea: avoid incremental Simplex methods by rewriting formula Φ into an equisatisfiable formula Φ A Φ, where: Φ A is a conjunction of linear equalities All atoms of Φ are elementary, i.e. of the form y b where y is a variable, b is a rational constant, and {=,, <, >, }.

29 Example transformation Let Φ be the following formula: x 0 (x + y 2 x + 2y z 6) (x + y = 2 x + 2y z > 4) Introducing variables s 1 and s 2, it is rewritten to Φ A Φ as: (s 1 = x + y s 2 = x + 2y z) (x 0 (s 1 2 s 2 6) (s 1 = 2 s 2 > 4))

30 Properties of the rewritten formula Formula Φ A can be written in matrix form as: Ax = 0 where A is an m n matrix with linearly independent rows, and x R n. The matrix A is fixed at all times and represents the equations s i = x j V c j x j where V is the set of variables of the original formula Φ.

31 Properties of the rewritten formula (2) Checking satisfiability of Φ amounts to finding x such that Ax = 0 and x satisfies Φ. = It suffices to decide the satisfiability of a set of elementary atoms Γ in linear arithmetic modulo the constraints Ax = 0. If the elementary atoms are only equalities and non-strict inequalities, the problem consists of finding x R n such that Ax = 0 and l j x j u j for j = 1,..., n where l j is either or a rational number, and u j is either + or a rational number.

32 A basic solver We first consider a solver that handles only equalities and non-strict inequalities with real variables. The solver state includes: A tableau derived from A, which we can represent as: x i = a ij x j x i B x j N Lower and upper bounds li and u i for each x i A mapping β assigning a rational value to each x i Initially, l j =, u j = +, β(x j ) = 0 for all j.

33 Invariants for the mapping β The mapping β always satisfies the following invariants: The bounds on non-basic variables are always satisfied, i.e. x j N, l j β(x j ) u j The mapping always satisfies the constraints Ax = 0

34 Main algorithm The main procedure is based on the dual Simplex algorithm and uses Bland s pivot-selection rule, which ensures termination. It assumes a total order on the problem variables. At a given moment, we assume that the invariants on β hold, but the mapping may not satisfy the bound constraints l i β(x i ) u i for basic variables. Procedure Check() looks for a new β that satisfies all constraints.

35 Check() procedure 1: loop 2: select smallest basic var. x i s.t. β(x i ) < l i or β(x i ) > u i 3: if there is no such x i then 4: return SAT 5: else if β(x i ) < l i then 6: select smallest non-basic var. x j s.t. 7: (a ij > 0 β(x j ) < u j ) (a ij < 0 β(x j ) > l j ) 8: if there is no such x j then 9: return UNSAT 10: else 11: PivotAndUpdate(x i, x j, l i ) 12: end if 13: else if β(x i ) > u i then 14: select smallest non-basic var. x j s.t. 15: (a ij < 0 β(x j ) < u j ) (a ij > 0 β(x j ) > l j ) 16: if there is no such x j then 17: return UNSAT 18: else 19: PivotAndUpdate(x i, x j, u i ) 20: end if 21: end if 22: end loop

36 Termination of Check() Theorem Procedure Check() always terminates. Proof sketch: There is a unique tableau for any set of basic variables B. There is a finite number of possible assignments β for base B t at t-th iteration. The state of the solver at iteration t is the pair β t, B t, and there are finitely many states reachable from S 0. If Check() does not terminate, the sequence of states must contain a cycle. One can show by contradiction that such a cycle cannot occur. The correctness of the procedure is a consequence of this theorem.

37 Generating explanations If an inconsistency is detected (say, at line 8 of Check()), then: There is a basic variable x i s.t. β(x i ) < l i For all non-basic variable x j, we have: a ij > 0 = β(x j ) u j and a ij < 0 = β(x j ) l j If we define N + = {x j N a ij > 0} and N = {x j N a ij < 0}, then, by the invariant for β: β(x j ) = u j for all x j N + and β(x j ) = l j for all x j N We therefore have: β(x i ) = x j N a ij β(x j ) = x j N + a ij u j + x j N a ij l j

38 Generating explanations (2) We have: β(x i ) = a ij u j + x j N + x j N a ij l j As x i = x j N a ijx j holds for all x s.t. Ax = 0: β(x i ) x i = a ij (u j x j ) + x j N + x j N a ij (l j x j ) We can then derive the implications: x j u j = a ij (u j x j ) 0 x j N + x j N + and x j N x j l j = x j N a ij (l j x j ) 0

39 Generating explanations (3) We have: x j N + x j u j = x j N + a ij (u j x j ) 0 and Finally, we derive: x j N x j l j = x j N + x j u j x j N a ij (l j x j ) 0 x j N x j l j = x i β(x i ) As we also have β(x i ) < l i, this is inconsistent with l i x i Therefore we have the (minimal) explanation: Γ = {x j u j x j N + } {x j l j x j N } {x i l i }

40 Assertion procedures The Assert() function relies on two functions AssertUpper(x i c i ) and AssertLower(x i c i ): AssertUpper(x i c i ): 1: if c i u i then 2: return SAT 3: else if c i < l i then 4: return UNSAT 5: else 6: u i := c i 7: if x i non-basic and β(x i ) > c i then 8: Update(c i ) 9: end if 10: return OK 11: end if

41 Backtracking We only need to store: the value ui before it is updated by AssertUpper the value li before it is updated by AssertLower In particular, we don t store successive βs on a stack: the last β obtained after a successful Check() is a model for all previous checkpoints.

42 Theory propagation Unate propagation very cheap to implement if bound x i c i is asserted, any unassigned atom x i c with c < c is implied. useful in practice Bound refinement Given a row of tableau: x i = a ij x j x j N We can refine currently asserted bounds on x i using bounds on non-basic variables

43 Example Initial state: A 0 = {s 1 = x + y, s 2 = x + y}

44 Example Initial state: A 0 = {s 1 = x + y, s 2 = x + y} Assert x 4

45 Example Initial state: A 0 = {s 1 = x + y, s 2 = x + y} Assert x 4 Assert 8 x

46 Example Initial state: A 0 = {s 1 = x + y, s 2 = x + y} Assert x 4 Assert 8 x Assert s 1 1

47 Handling strict inequalities Lemma A set of linear arithmetic literals Γ containing strict inequalities S = {p 0 > 0,..., p n > 0} is satisfiable iff there exists a rational number δ > 0 such that for all δ such that 0 < δ δ, Γ δ = (Γ S δ ) \ S is satisfiable, where S δ = {p 1 δ,..., p n δ}. We can replace strict inequalities by non-strict ones if a small enough δ is known We treat δ symbolically instead of computing an explicit value

48 Handling strict inequalities (2) Bounds and assignments range over the set Q δ of pairs of rationals (c, k) Q δ is denoted by c + kδ Define operations: (c 1, k 1 ) + (c 2, k 2 ) (c 1 + c 2, k 1 + k 2 ) a (c, k) (a c, a k) (c 1, k 1 ) (c 2, k 2 ) (c 1 < c 2 ) (c 1 = c 2 k 1 k 2 ) where a is a rational number.

49 Defining δ If (c 1, k 1 ) (c 2, k 2 ) holds in Q δ, then we can find δ 0 > 0 such that c 1 + k 1 ε c 2 + k 2 ε is satisfied by all positive ε δ 0. Define it as: δ 0 = c 2 c 1 k 1 k 2 if c 1 < c 2 and k 1 > k 2 δ 0 = 1 otherwise

50 Defining δ for the general case More generally, assume we have 2m elements of Q δ, v i = (c i, k i ), w i = (d i, h i ) for 1 i m. If the m inequalities v i w i hold in Q δ, then there exists δ 0 > 0 such that c 1 + k 1 ε d 1 + h 1 ε. c m + k m ε d m + h m ε are satisfied by all positive ε δ 0. We can define: { } di c i δ 0 = min c i < d i and k i > h i k i h i

51 Problem and solution conversion A problem with strict inequalities can be converted into another without strict inequalities Convert x i > l i into x i l i + δ = l i Convert x i < u i into x i u i δ = u i The basic solver described previously will give an assignment β mapping variables to elements of Q δ, if the problem is satisfiable If l j = (c j, k j ), u j = (d j, h j ), β (x j ) = (p j, q j ), we already know that there exists δ 0 > 0 such that c j + k j ε p j + q j ε d j + h j ε for 1 j n holds for all positive ε δ 0. Define satisfying assignment β(x j ) = p j + q j δ 0 for original problem

52 Integer and mixed integer problems The previously described algorithm is not complete if some variables must be integers. A branch and cut strategy is used to be complete for the integer case. It is the combination of: the branch and bound algorithm a cutting plane generation algorithm

53 Branch and bound Consider the problem Ax = 0 l j x j u j for 1 j n with the additional condition that x i is an integer variable for i I {1,..., n}.

54 Branch and bound (2) Solve the linear programming relaxation, i.e. search for a solution in reals If relaxation is infeasible, the problem is infeasible too. If an assignment β is found that satisfies all integer constraints, we are done. If there exists i I such that β(x i ) Z, then solve (recursively) the two subproblems: S 0 : S 1 : Ax = 0 l j x j u j l i x i β(x i ) Ax = 0 l j x j u j β(x i ) + 1 x i u i for 1 j n and j i for 1 j n and j i

55 The need for a cutting plane generation algorithm If not all integer variables have an upper and a lower bound, branch and bound may not terminate. Example: 1 3x 3y 2 This constraint is unsatisfiable if x and y are integers. A naïve branch and bound algorithm loops on this input. W.l.o.g. we assume that all integer variables are bounded. The bounds are typically too large, and cutting plane algorithms are needed to accelerate convergence.

56 Cuts Assume β is a solution to the LP relaxation P of problem S, but not to S itself. A cut is a linear inequality a 1 x a n x n b that is not satisfied by β but is satisfied by any element in the convex hull of S. The cut can be added as a new constraint to S, yielding a problem S that has the same solutions as S but whose LP relaxation P is strictly more constrained than P.

57 Deriving Gomory cuts We have: x i β(x i ) = a ij (x j l j ) a ij (u j x j ) j J j K x i β(x i ) = f 0 + j J a ij (x j l j ) j K a ij (u j x j ) where J = {j I x j N β(x j ) = l j } K = {j I x j N β(x j ) = u j } N = N {x j l j < u j }

58 Deriving Gomory cuts (2) We have: x i β(x i ) = f 0 + a ij (x j l j ) a ij (u j x j ) j J j K which holds for all x that satisfies the problem S. Furthermore, for any such x, x i β(x i ) is an integer and the following also hold: x j l j 0 u j x j 0 for all j J for all j K

59 Deriving Gomory cuts (3) We consider two cases: If j J a ij(x j l j ) j K a ij(u j x j ) 0, then: f 0 + a ij (x j l j ) a ij (u j x j ) 1 j J j K as f 0 > 0 and the left-hand side is an integer. Then we have: a ij (x j l j ) a ij (u j x j ) 1 f 0 j J + j K where J + = {j J a ij 0} and K = {j K a ij < 0}. Equivalently: j J + a ij (x j l j ) + 1 f 0 j K a ij 1 f 0 (u j x j ) 1

60 Deriving Gomory cuts (4) We apply the same procedure for the other case, and combining the two cases, we obtain: j J + j K + a ij a ij (x j l j ) + a ij (x j l j ) + 1 f 0 f 0 j J f 0 (u j x j ) + j K a ij 1 f 0 (u j x j ) 1 which is a mixed-integer Gomory cut: it is satisfied by any x that satisfies S, but it is not satisfied by the assignment β (as the left-hand side is equal to 0 in that case).

61 References Bruno Dutertre and Leonardo de Moura. Integrating Simplex with DPLL(T). Technical Report SRI-CSL-06-01, SRI International, Joxan Jaffar and Jean-Louis Lassez. Constraint logic programming. In Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, POPL 87, pages , New York, NY, USA, ACM. Joxan Jaffar and Michael J. Maher. Constraint Logic Programming: A Survey. J. Log. Program., 19/20: , Joxan Jaffar, Spiro Michaylov, Peter J. Stuckey, and Roland H. C. Yap. The CLP(R) language and system. ACM Trans. Program. Lang. Syst., 14: , May 1992.

Integrating Simplex with DPLL(T )

Integrating Simplex with DPLL(T ) CSL Technical Report SRI-CSL-06-01 May 23, 2006 Integrating Simplex with DPLL(T ) Bruno Dutertre and Leonardo de Moura This report is based upon work supported by the Defense Advanced Research Projects

More information

Satisfiability Modulo Theories

Satisfiability Modulo Theories Satisfiability Modulo Theories Summer School on Formal Methods Menlo College, 2011 Bruno Dutertre and Leonardo de Moura bruno@csl.sri.com, leonardo@microsoft.com SRI International, Microsoft Research SAT/SMT

More information

Topics in Model-Based Reasoning

Topics in Model-Based Reasoning Towards Integration of Proving and Solving Dipartimento di Informatica Università degli Studi di Verona Verona, Italy March, 2014 Automated reasoning Artificial Intelligence Automated Reasoning Computational

More information

Satisfiability Modulo Theories

Satisfiability Modulo Theories Satisfiability Modulo Theories Bruno Dutertre SRI International Leonardo de Moura Microsoft Research Satisfiability a > b + 2, a = 2c + 10, c + b 1000 SAT a = 0, b = 3, c = 5 Model 0 > 3 + 2, 0 = 2 5 +

More information

Tutorial 1: Modern SMT Solvers and Verification

Tutorial 1: Modern SMT Solvers and Verification University of Illinois at Urbana-Champaign Tutorial 1: Modern SMT Solvers and Verification Sayan Mitra Electrical & Computer Engineering Coordinated Science Laboratory University of Illinois at Urbana

More information

Rewriting for Satisfiability Modulo Theories

Rewriting for Satisfiability Modulo Theories 1 Dipartimento di Informatica Università degli Studi di Verona Verona, Italy July 10, 2010 1 Joint work with Chris Lynch (Department of Mathematics and Computer Science, Clarkson University, NY, USA) and

More information

Solving SAT Modulo Theories

Solving SAT Modulo Theories Solving SAT Modulo Theories R. Nieuwenhuis, A. Oliveras, and C.Tinelli. Solving SAT and SAT Modulo Theories: from an Abstract Davis-Putnam-Logemann-Loveland Procedure to DPLL(T) Mooly Sagiv Motivation

More information

WHAT IS AN SMT SOLVER? Jaeheon Yi - April 17, 2008

WHAT IS AN SMT SOLVER? Jaeheon Yi - April 17, 2008 WHAT IS AN SMT SOLVER? Jaeheon Yi - April 17, 2008 WHAT I LL TALK ABOUT Propositional Logic Terminology, Satisfiability, Decision Procedure First-Order Logic Terminology, Background Theories Satisfiability

More information

Gomory Cuts. Chapter 5. Linear Arithmetic. Decision Procedures. An Algorithmic Point of View. Revision 1.0

Gomory Cuts. Chapter 5. Linear Arithmetic. Decision Procedures. An Algorithmic Point of View. Revision 1.0 Chapter 5 Linear Arithmetic Decision Procedures An Algorithmic Point of View D.Kroening O.Strichman Revision 1.0 Cutting planes Recall that in Branch & Bound we first solve a relaxed problem (i.e., no

More information

An Introduction to SAT Solving

An Introduction to SAT Solving An Introduction to SAT Solving Applied Logic for Computer Science UWO December 3, 2017 Applied Logic for Computer Science An Introduction to SAT Solving UWO December 3, 2017 1 / 46 Plan 1 The Boolean satisfiability

More information

Decision Procedures. Jochen Hoenicke. Software Engineering Albert-Ludwigs-University Freiburg. Summer 2012

Decision Procedures. Jochen Hoenicke. Software Engineering Albert-Ludwigs-University Freiburg. Summer 2012 Decision Procedures Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Summer 2012 Jochen Hoenicke (Software Engineering) Decision Procedures Summer 2012 1 / 28 Quantifier-free Rationals

More information

Foundations of Lazy SMT and DPLL(T)

Foundations of Lazy SMT and DPLL(T) Foundations of Lazy SMT and DPLL(T) Cesare Tinelli The University of Iowa Foundations of Lazy SMT and DPLL(T) p.1/86 Acknowledgments: Many thanks to Albert Oliveras for contributing some of the material

More information

COMP219: Artificial Intelligence. Lecture 20: Propositional Reasoning

COMP219: Artificial Intelligence. Lecture 20: Propositional Reasoning COMP219: Artificial Intelligence Lecture 20: Propositional Reasoning 1 Overview Last time Logic for KR in general; Propositional Logic; Natural Deduction Today Entailment, satisfiability and validity Normal

More information

Lecture Notes on SAT Solvers & DPLL

Lecture Notes on SAT Solvers & DPLL 15-414: Bug Catching: Automated Program Verification Lecture Notes on SAT Solvers & DPLL Matt Fredrikson André Platzer Carnegie Mellon University Lecture 10 1 Introduction In this lecture we will switch

More information

Satisfiability Modulo Theories (SMT)

Satisfiability Modulo Theories (SMT) Satisfiability Modulo Theories (SMT) Sylvain Conchon Cours 7 / 9 avril 2014 1 Road map The SMT problem Modern efficient SAT solvers CDCL(T) Examples of decision procedures: equality (CC) and difference

More information

Model Based Theory Combination

Model Based Theory Combination Model Based Theory Combination SMT 2007 Leonardo de Moura and Nikolaj Bjørner {leonardo, nbjorner}@microsoft.com. Microsoft Research Model Based Theory Combination p.1/20 Combination of Theories In practice,

More information

Internals of SMT Solvers. Leonardo de Moura Microsoft Research

Internals of SMT Solvers. Leonardo de Moura Microsoft Research Internals of SMT Solvers Leonardo de Moura Microsoft Research Acknowledgements Dejan Jovanovic (SRI International, NYU) Grant Passmore (Univ. Edinburgh) Herbrand Award 2013 Greg Nelson What is a SMT Solver?

More information

Lecture 2 Propositional Logic & SAT

Lecture 2 Propositional Logic & SAT CS 5110/6110 Rigorous System Design Spring 2017 Jan-17 Lecture 2 Propositional Logic & SAT Zvonimir Rakamarić University of Utah Announcements Homework 1 will be posted soon Propositional logic: Chapter

More information

The Calculus of Computation: Decision Procedures with Applications to Verification. Part I: FOUNDATIONS. by Aaron Bradley Zohar Manna

The Calculus of Computation: Decision Procedures with Applications to Verification. Part I: FOUNDATIONS. by Aaron Bradley Zohar Manna The Calculus of Computation: Decision Procedures with Applications to Verification Part I: FOUNDATIONS by Aaron Bradley Zohar Manna 1. Propositional Logic(PL) Springer 2007 1-1 1-2 Propositional Logic(PL)

More information

Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask

Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask Set 6: Knowledge Representation: The Propositional Calculus Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask Outline Representing knowledge using logic Agent that reason logically A knowledge based agent Representing

More information

CS156: The Calculus of Computation

CS156: The Calculus of Computation CS156: The Calculus of Computation Zohar Manna Winter 2010 It is reasonable to hope that the relationship between computation and mathematical logic will be as fruitful in the next century as that between

More information

Leonardo de Moura Microsoft Research

Leonardo de Moura Microsoft Research Leonardo de Moura Microsoft Research Is formula F satisfiable modulo theory T? SMT solvers have specialized algorithms for T b + 2 = c and f(read(write(a,b,3), c-2)) f(c-b+1) b + 2 = c and f(read(write(a,b,3),

More information

The Eager Approach to SMT. Eager Approach to SMT

The Eager Approach to SMT. Eager Approach to SMT The Eager Approach to SMT Sanjit A. Seshia UC Berkeley Slides based on ICCAD 09 Tutorial Eager Approach to SMT Input Formula Satisfiability-preserving Boolean Encoder Boolean Formula SAT Solver SAT Solver

More information

Proving Unsatisfiability in Non-linear Arithmetic by Duality

Proving Unsatisfiability in Non-linear Arithmetic by Duality Proving Unsatisfiability in Non-linear Arithmetic by Duality [work in progress] Daniel Larraz, Albert Oliveras, Enric Rodríguez-Carbonell and Albert Rubio Universitat Politècnica de Catalunya, Barcelona,

More information

USING FOURIER-MOTZKIN VARIABLE ELIMINATION FOR MCSAT EXPLANATIONS IN SMT-RAT

USING FOURIER-MOTZKIN VARIABLE ELIMINATION FOR MCSAT EXPLANATIONS IN SMT-RAT The present work was submitted to the LuFG Theory of Hybrid Systems BACHELOR OF COMPUTER SCIENCE USING FOURIER-MOTZKIN VARIABLE ELIMINATION FOR MCSAT EXPLANATIONS IN SMT-RAT Lorena Calvo Bartolomé Prüfer:

More information

Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011

Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber 15-414 Aug 31, 2011 Why study SAT solvers? Many problems reduce to SAT. Formal verification CAD, VLSI Optimization AI, planning, automated

More information

Satisifiability and Probabilistic Satisifiability

Satisifiability and Probabilistic Satisifiability Satisifiability and Probabilistic Satisifiability Department of Computer Science Instituto de Matemática e Estatística Universidade de São Paulo 2010 Topics Next Issue The SAT Problem The Centrality of

More information

Classical Propositional Logic

Classical Propositional Logic Classical Propositional Logic Peter Baumgartner http://users.cecs.anu.edu.au/~baumgart/ Ph: 02 6218 3717 Data61/CSIRO and ANU July 2017 1 / 71 Classical Logic and Reasoning Problems A 1 : Socrates is a

More information

Computing a Complete Basis for Equalities Implied by a System of LRA Constraints

Computing a Complete Basis for Equalities Implied by a System of LRA Constraints Computing a Complete Basis for Equalities Implied by a System of LRA Constraints Martin Bromberger 1,2 and Christoph Weidenbach 1 1 Max Planck Institute for Informatics, Saarbrücken, Germany {mbromber,weidenb}@mpi-inf.mpg.de

More information

Propositional Calculus

Propositional Calculus Propositional Calculus Dr. Neil T. Dantam CSCI-498/598 RPM, Colorado School of Mines Spring 2018 Dantam (Mines CSCI, RPM) Propositional Calculus Spring 2018 1 / 64 Calculus? Definition: Calculus A well

More information

SMT BASICS WS 2017/2018 ( ) LOGIC SATISFIABILITY MODULO THEORIES. Institute for Formal Models and Verification Johannes Kepler Universität Linz

SMT BASICS WS 2017/2018 ( ) LOGIC SATISFIABILITY MODULO THEORIES. Institute for Formal Models and Verification Johannes Kepler Universität Linz LOGIC SATISFIABILITY MODULO THEORIES SMT BASICS WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität

More information

Formal methods in analysis

Formal methods in analysis Formal methods in analysis Jeremy Avigad Department of Philosophy and Department of Mathematical Sciences Carnegie Mellon University May 2015 Sequence of lectures 1. Formal methods in mathematics 2. Automated

More information

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010 Section Notes 9 IP: Cutting Planes Applied Math 121 Week of April 12, 2010 Goals for the week understand what a strong formulations is. be familiar with the cutting planes algorithm and the types of cuts

More information

Satisfiability Modulo Theories

Satisfiability Modulo Theories Satisfiability Modulo Theories Summer School on Formal Methods Menlo College, 2011 Bruno Dutertre and Leonardo de Moura bruno@csl.sri.com, leonardo@microsoft.com SRI International, Microsoft Research SAT/SMT

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 31. Propositional Logic: DPLL Algorithm Malte Helmert and Gabriele Röger University of Basel April 24, 2017 Propositional Logic: Overview Chapter overview: propositional

More information

From SAT To SMT: Part 1. Vijay Ganesh MIT

From SAT To SMT: Part 1. Vijay Ganesh MIT From SAT To SMT: Part 1 Vijay Ganesh MIT Software Engineering & SMT Solvers An Indispensable Tactic for Any Strategy Formal Methods Program Analysis SE Goal: Reliable/Secure Software Automatic Testing

More information

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson SAT Solving 1 / 36 Review: Propositional

More information

Constraint Solving for Finite Model Finding in SMT Solvers

Constraint Solving for Finite Model Finding in SMT Solvers myjournal manuscript No. (will be inserted by the editor) Constraint Solving for Finite Model Finding in SMT Solvers Andrew Reynolds Cesare Tinelli Clark Barrett Received: date / Accepted: date Abstract

More information

Model-based Theory Combination

Model-based Theory Combination Electronic Notes in Theoretical Computer Science 198 (2008) 37 49 www.elsevier.com/locate/entcs Model-based Theory Combination Leonardo de Moura 1 Nikolaj Bjørner 2 Microsoft Research, One Microsoft Way,

More information

IntSat: From SAT to Integer Linear Programming

IntSat: From SAT to Integer Linear Programming IntSat: From SAT to Integer Linear Programming CPAIOR 2015 (invited talk) Robert Nieuwenhuis Barcelogic.com - Computer Science Department BarcelonaTech (UPC) 1 Proposed travel arrangements (next time):

More information

Satisfiability Modulo Theories

Satisfiability Modulo Theories Satisfiability Modulo Theories Clark Barrett and Cesare Tinelli Abstract Satisfiability Modulo Theories (SMT) refers to the problem of determining whether a first-order formula is satisfiable with respect

More information

Logical Agents. Chapter 7

Logical Agents. Chapter 7 Logical Agents Chapter 7 Outline Knowledge-based agents Wumpus world Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem

More information

EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS

EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS Lecture 10, 5/9/2005 University of Washington, Department of Electrical Engineering Spring 2005 Instructor: Professor Jeff A. Bilmes Logical Agents Chapter 7

More information

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018 Section Notes 9 Midterm 2 Review Applied Math / Engineering Sciences 121 Week of December 3, 2018 The following list of topics is an overview of the material that was covered in the lectures and sections

More information

AM 121: Intro to Optimization

AM 121: Intro to Optimization AM 121: Intro to Optimization Models and Methods Lecture 6: Phase I, degeneracy, smallest subscript rule. Yiling Chen SEAS Lesson Plan Phase 1 (initialization) Degeneracy and cycling Smallest subscript

More information

Abstract DPLL and Abstract DPLL Modulo Theories

Abstract DPLL and Abstract DPLL Modulo Theories Abstract DPLL and Abstract DPLL Modulo Theories Robert Nieuwenhuis, Albert Oliveras, and Cesare Tinelli Abstract. We introduce Abstract DPLL, a general and simple abstract rule-based formulation of the

More information

Intelligent Agents. Pınar Yolum Utrecht University

Intelligent Agents. Pınar Yolum Utrecht University Intelligent Agents Pınar Yolum p.yolum@uu.nl Utrecht University Logical Agents (Based mostly on the course slides from http://aima.cs.berkeley.edu/) Outline Knowledge-based agents Wumpus world Logic in

More information

Propositional and Predicate Logic - V

Propositional and Predicate Logic - V Propositional and Predicate Logic - V Petr Gregor KTIML MFF UK WS 2016/2017 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - V WS 2016/2017 1 / 21 Formal proof systems Hilbert s calculus

More information

Leonardo de Moura Microsoft Research

Leonardo de Moura Microsoft Research Leonardo de Moura Microsoft Research Logic is The Calculus of Computer Science (Z. Manna). High computational complexity Naïve solutions will not scale Is formula F satisfiable modulo theory T? SMT solvers

More information

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique.

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique. IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, 31 14. You wish to solve the IP below with a cutting plane technique. Maximize 4x 1 + 2x 2 + x 3 subject to 14x 1 + 10x 2 + 11x 3 32 10x 1 +

More information

An Introduction to Z3

An Introduction to Z3 An Introduction to Z3 Huixing Fang National Trusted Embedded Software Engineering Technology Research Center April 12, 2017 Outline 1 SMT 2 Z3 Huixing Fang (ECNU) An Introduction to Z3 April 12, 2017 2

More information

Satisfiability Modulo Theories (SMT)

Satisfiability Modulo Theories (SMT) CS510 Software Engineering Satisfiability Modulo Theories (SMT) Slides modified from those by Aarti Gupta Textbook: The Calculus of Computation by A. Bradley and Z. Manna 1 Satisfiability Modulo Theory

More information

Logic in AI Chapter 7. Mausam (Based on slides of Dan Weld, Stuart Russell, Dieter Fox, Henry Kautz )

Logic in AI Chapter 7. Mausam (Based on slides of Dan Weld, Stuart Russell, Dieter Fox, Henry Kautz ) Logic in AI Chapter 7 Mausam (Based on slides of Dan Weld, Stuart Russell, Dieter Fox, Henry Kautz ) Knowledge Representation represent knowledge in a manner that facilitates inferencing (i.e. drawing

More information

The Wumpus Game. Stench Gold. Start. Cao Hoang Tru CSE Faculty - HCMUT

The Wumpus Game. Stench Gold. Start. Cao Hoang Tru CSE Faculty - HCMUT The Wumpus Game Stench Stench Gold Stench Start 1 The Wumpus Game Stench in the square containing the wumpus and in the directly adjacent squares in the squares directly adjacent to a pit Glitter in the

More information

Propositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel

Propositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel Propositional Logic Methods & Tools for Software Engineering (MTSE) Fall 2017 Prof. Arie Gurfinkel References Chpater 1 of Logic for Computer Scientists http://www.springerlink.com/content/978-0-8176-4762-9/

More information

3 Propositional Logic

3 Propositional Logic 3 Propositional Logic 3.1 Syntax 3.2 Semantics 3.3 Equivalence and Normal Forms 3.4 Proof Procedures 3.5 Properties Propositional Logic (25th October 2007) 1 3.1 Syntax Definition 3.0 An alphabet Σ consists

More information

Ω R n is called the constraint set or feasible set. x 1

Ω R n is called the constraint set or feasible set. x 1 1 Chapter 5 Linear Programming (LP) General constrained optimization problem: minimize subject to f(x) x Ω Ω R n is called the constraint set or feasible set. any point x Ω is called a feasible point We

More information

Introduction Algorithms Applications MINISAT. Niklas Sörensson Chalmers University of Technology and Göteborg University

Introduction Algorithms Applications MINISAT. Niklas Sörensson Chalmers University of Technology and Göteborg University SAT ALGORITHMS AND APPLICATIONS nik@cschalmersse Chalmers University of Technology and Göteborg University Empirically Successful Classical Automated Reasoning a CADE-20 Workshop 22nd - 23th July, 2005

More information

The simplex algorithm

The simplex algorithm The simplex algorithm The simplex algorithm is the classical method for solving linear programs. Its running time is not polynomial in the worst case. It does yield insight into linear programs, however,

More information

CS156: The Calculus of Computation Zohar Manna Autumn 2008

CS156: The Calculus of Computation Zohar Manna Autumn 2008 Page 3 of 52 Page 4 of 52 CS156: The Calculus of Computation Zohar Manna Autumn 2008 Lecturer: Zohar Manna (manna@cs.stanford.edu) Office Hours: MW 12:30-1:00 at Gates 481 TAs: Boyu Wang (wangboyu@stanford.edu)

More information

min 4x 1 5x 2 + 3x 3 s.t. x 1 + 2x 2 + x 3 = 10 x 1 x 2 6 x 1 + 3x 2 + x 3 14

min 4x 1 5x 2 + 3x 3 s.t. x 1 + 2x 2 + x 3 = 10 x 1 x 2 6 x 1 + 3x 2 + x 3 14 The exam is three hours long and consists of 4 exercises. The exam is graded on a scale 0-25 points, and the points assigned to each question are indicated in parenthesis within the text. If necessary,

More information

VLSI CAD: Lecture 4.1. Logic to Layout. Computational Boolean Algebra Representations: Satisfiability (SAT), Part 1

VLSI CAD: Lecture 4.1. Logic to Layout. Computational Boolean Algebra Representations: Satisfiability (SAT), Part 1 VLSI CAD: Logic to Layout Rob A. Rutenbar University of Illinois Lecture 4.1 Computational Boolean Algebra Representations: Satisfiability (SAT), Part 1 Some Terminology Satisfiability (called SAT for

More information

Course An Introduction to SAT and SMT. Cap. 2: Satisfiability Modulo Theories

Course An Introduction to SAT and SMT. Cap. 2: Satisfiability Modulo Theories Course An Introduction to SAT and SMT Chapter 2: Satisfiability Modulo Theories Roberto Sebastiani DISI, Università di Trento, Italy roberto.sebastiani@unitn.it URL: http://disi.unitn.it/rseba/didattica/sat_based18/

More information

Lecture 9: The Splitting Method for SAT

Lecture 9: The Splitting Method for SAT Lecture 9: The Splitting Method for SAT 1 Importance of SAT Cook-Levin Theorem: SAT is NP-complete. The reason why SAT is an important problem can be summarized as below: 1. A natural NP-Complete problem.

More information

Finite model finding in satisfiability modulo theories

Finite model finding in satisfiability modulo theories University of Iowa Iowa Research Online Theses and Dissertations Fall 2013 Finite model finding in satisfiability modulo theories Andrew Joseph Reynolds University of Iowa Copyright 2013 Andrew J. Reynolds

More information

Quantifiers. Leonardo de Moura Microsoft Research

Quantifiers. Leonardo de Moura Microsoft Research Quantifiers Leonardo de Moura Microsoft Research Satisfiability a > b + 2, a = 2c + 10, c + b 1000 SAT a = 0, b = 3, c = 5 Model 0 > 3 + 2, 0 = 2 5 + 10, 5 + ( 3) 1000 Quantifiers x y x > 0 f x, y = 0

More information

A transition system for AC language algorithms

A transition system for AC language algorithms University of Nebraska at Omaha DigitalCommons@UNO Computer Science Faculty Proceedings & Presentations Department of Computer Science 2011 A transition system for AC language algorithms Yuliya Lierler

More information

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT 1 Algebraic Methods In an algebraic system Boolean constraints are expressed as a system of algebraic equations or inequalities which has a solution if and only if the constraints are satisfiable. Equations

More information

AVACS Automatic Verification and Analysis of Complex Systems REPORTS. of SFB/TR 14 AVACS. Editors: Board of SFB/TR 14 AVACS

AVACS Automatic Verification and Analysis of Complex Systems REPORTS. of SFB/TR 14 AVACS. Editors: Board of SFB/TR 14 AVACS AVACS Automatic Verification and Analysis of Complex Systems REPORTS of SFB/TR 14 AVACS Editors: Board of SFB/TR 14 AVACS Constraint Solving for Interpolation Andrey Rybalchenko by Viorica Sofronie-Stokkermans

More information

Motivation. CS389L: Automated Logical Reasoning. Lecture 10: Overview of First-Order Theories. Signature and Axioms of First-Order Theory

Motivation. CS389L: Automated Logical Reasoning. Lecture 10: Overview of First-Order Theories. Signature and Axioms of First-Order Theory Motivation CS389L: Automated Logical Reasoning Lecture 10: Overview of First-Order Theories Işıl Dillig Last few lectures: Full first-order logic In FOL, functions/predicates are uninterpreted (i.e., structure

More information

Title: Logical Agents AIMA: Chapter 7 (Sections 7.4 and 7.5)

Title: Logical Agents AIMA: Chapter 7 (Sections 7.4 and 7.5) B.Y. Choueiry 1 Instructor s notes #12 Title: Logical Agents AIMA: Chapter 7 (Sections 7.4 and 7.5) Introduction to Artificial Intelligence CSCE 476-876, Fall 2018 URL: www.cse.unl.edu/ choueiry/f18-476-876

More information

Linear Programming, Lecture 4

Linear Programming, Lecture 4 Linear Programming, Lecture 4 Corbett Redden October 3, 2016 Simplex Form Conventions Examples Simplex Method To run the simplex method, we start from a Linear Program (LP) in the following standard simplex

More information

Supplementary lecture notes on linear programming. We will present an algorithm to solve linear programs of the form. maximize.

Supplementary lecture notes on linear programming. We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2016 Supplementary lecture notes on linear programming CS 6820: Algorithms 26 Sep 28 Sep 1 The Simplex Method We will present an algorithm to solve linear programs of the form

More information

A Review of Linear Programming

A Review of Linear Programming A Review of Linear Programming Instructor: Farid Alizadeh IEOR 4600y Spring 2001 February 14, 2001 1 Overview In this note we review the basic properties of linear programming including the primal simplex

More information

Notes. Corneliu Popeea. May 3, 2013

Notes. Corneliu Popeea. May 3, 2013 Notes Corneliu Popeea May 3, 2013 1 Propositional logic Syntax We rely on a set of atomic propositions, AP, containing atoms like p, q. A propositional logic formula φ Formula is then defined by the following

More information

Propositional Logic: Methods of Proof (Part II)

Propositional Logic: Methods of Proof (Part II) Propositional Logic: Methods of Proof (Part II) This lecture topic: Propositional Logic (two lectures) Chapter 7.1-7.4 (previous lecture, Part I) Chapter 7.5 (this lecture, Part II) (optional: 7.6-7.8)

More information

Optimization Methods in Management Science

Optimization Methods in Management Science Optimization Methods in Management Science MIT 15.05 Recitation 8 TAs: Giacomo Nannicini, Ebrahim Nasrabadi At the end of this recitation, students should be able to: 1. Derive Gomory cut from fractional

More information

Solving Quantified Verification Conditions using Satisfiability Modulo Theories

Solving Quantified Verification Conditions using Satisfiability Modulo Theories Solving Quantified Verification Conditions using Satisfiability Modulo Theories Yeting Ge, Clark Barrett, Cesare Tinelli Solving Quantified Verification Conditions using Satisfiability Modulo Theories

More information

Decision Procedures An Algorithmic Point of View

Decision Procedures An Algorithmic Point of View An Algorithmic Point of View ILP References: Integer Programming / Laurence Wolsey Deciding ILPs with Branch & Bound Intro. To mathematical programming / Hillier, Lieberman Daniel Kroening and Ofer Strichman

More information

On Solving Boolean Combinations of UTVPI Constraints

On Solving Boolean Combinations of UTVPI Constraints Journal on Satisfiability, Boolean Modeling and Computation N (007) xx-yy On Solving Boolean Combinations of UTVPI Constraints Sanjit A. Seshia Department of Electrical Engineering and Computer Sciences

More information

SAT/SMT/AR Introduction and Applications

SAT/SMT/AR Introduction and Applications SAT/SMT/AR Introduction and Applications Ákos Hajdu Budapest University of Technology and Economics Department of Measurement and Information Systems 1 Ákos Hajdu About me o PhD student at BME MIT (2016

More information

SMT Unsat Core Minimization

SMT Unsat Core Minimization SMT Unsat Core Minimization O F E R G U T H M A N N, O F E R S T R I C H M A N, A N N A T R O S TA N E T S K I F M C A D 2 0 1 6 1 Satisfiability Modulo Theories Satisfiability Modulo Theories (SMT): decides

More information

Logical Agents. Outline

Logical Agents. Outline Logical Agents *(Chapter 7 (Russel & Norvig, 2004)) Outline Knowledge-based agents Wumpus world Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability

More information

Operations Research Lecture 6: Integer Programming

Operations Research Lecture 6: Integer Programming Operations Research Lecture 6: Integer Programming Notes taken by Kaiquan Xu@Business School, Nanjing University May 12th 2016 1 Integer programming (IP) formulations The integer programming (IP) is the

More information

CS:4420 Artificial Intelligence

CS:4420 Artificial Intelligence CS:4420 Artificial Intelligence Spring 2018 Propositional Logic Cesare Tinelli The University of Iowa Copyright 2004 18, Cesare Tinelli and Stuart Russell a a These notes were originally developed by Stuart

More information

Introduction to SAT (constraint) solving. Justyna Petke

Introduction to SAT (constraint) solving. Justyna Petke Introduction to SAT (constraint) solving Justyna Petke SAT, SMT and CSP solvers are used for solving problems involving constraints. The term constraint solver, however, usually refers to a CSP solver.

More information

Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation. Himanshu Jain THESIS ORAL TALK

Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation. Himanshu Jain THESIS ORAL TALK Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation Himanshu Jain THESIS ORAL TALK 1 Computer Systems are Pervasive Computer Systems = Software + Hardware Software/Hardware

More information

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig First-Order Logic First-Order Theories Roopsha Samanta Partly based on slides by Aaron Bradley and Isil Dillig Roadmap Review: propositional logic Syntax and semantics of first-order logic (FOL) Semantic

More information

Critical Reading of Optimization Methods for Logical Inference [1]

Critical Reading of Optimization Methods for Logical Inference [1] Critical Reading of Optimization Methods for Logical Inference [1] Undergraduate Research Internship Department of Management Sciences Fall 2007 Supervisor: Dr. Miguel Anjos UNIVERSITY OF WATERLOO Rajesh

More information

Pythagorean Triples and SAT Solving

Pythagorean Triples and SAT Solving Pythagorean Triples and SAT Solving Moti Ben-Ari Department of Science Teaching Weizmann Institute of Science http://www.weizmann.ac.il/sci-tea/benari/ c 2017-18 by Moti Ben-Ari. This work is licensed

More information

Deliberative Agents Knowledge Representation I. Deliberative Agents

Deliberative Agents Knowledge Representation I. Deliberative Agents Deliberative Agents Knowledge Representation I Vasant Honavar Bioinformatics and Computational Biology Program Center for Computational Intelligence, Learning, & Discovery honavar@cs.iastate.edu www.cs.iastate.edu/~honavar/

More information

Logic in AI Chapter 7. Mausam (Based on slides of Dan Weld, Stuart Russell, Subbarao Kambhampati, Dieter Fox, Henry Kautz )

Logic in AI Chapter 7. Mausam (Based on slides of Dan Weld, Stuart Russell, Subbarao Kambhampati, Dieter Fox, Henry Kautz ) Logic in AI Chapter 7 Mausam (Based on slides of Dan Weld, Stuart Russell, Subbarao Kambhampati, Dieter Fox, Henry Kautz ) 2 Knowledge Representation represent knowledge about the world in a manner that

More information

Formal Verification Methods 1: Propositional Logic

Formal Verification Methods 1: Propositional Logic Formal Verification Methods 1: Propositional Logic John Harrison Intel Corporation Course overview Propositional logic A resurgence of interest Logic and circuits Normal forms The Davis-Putnam procedure

More information

Logical Inference. Artificial Intelligence. Topic 12. Reading: Russell and Norvig, Chapter 7, Section 5

Logical Inference. Artificial Intelligence. Topic 12. Reading: Russell and Norvig, Chapter 7, Section 5 rtificial Intelligence Topic 12 Logical Inference Reading: Russell and Norvig, Chapter 7, Section 5 c Cara MacNish. Includes material c S. Russell & P. Norvig 1995,2003 with permission. CITS4211 Logical

More information

Integer vs. constraint programming. IP vs. CP: Language

Integer vs. constraint programming. IP vs. CP: Language Discrete Math for Bioinformatics WS 0/, by A. Bockmayr/K. Reinert,. Januar 0, 0:6 00 Integer vs. constraint programming Practical Problem Solving Model building: Language Model solving: Algorithms IP vs.

More information

Lecture slides by Kevin Wayne

Lecture slides by Kevin Wayne LINEAR PROGRAMMING I a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm Lecture slides by Kevin Wayne Last updated on 7/25/17 11:09 AM Linear programming

More information

SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang

SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments Requirements for SAT solvers in the Real World Fast & Robust Given a problem instance, we want to solve it quickly Reliable

More information

Propositional Logic: Methods of Proof (Part II)

Propositional Logic: Methods of Proof (Part II) Propositional Logic: Methods of Proof (Part II) You will be expected to know Basic definitions Inference, derive, sound, complete Conjunctive Normal Form (CNF) Convert a Boolean formula to CNF Do a short

More information

Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World School of Informatics, University of Edinburgh 26/01/18 Slide Credits: Jacques Fleuriot, Michael Rovatsos, Michael Herrmann Outline Knowledge-based

More information

First-order resolution for CTL

First-order resolution for CTL First-order resolution for Lan Zhang, Ullrich Hustadt and Clare Dixon Department of Computer Science, University of Liverpool Liverpool, L69 3BX, UK {Lan.Zhang, U.Hustadt, CLDixon}@liverpool.ac.uk Abstract

More information