Minimum Satisfying Assignments for SMT. Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U.

Size: px
Start display at page:

Download "Minimum Satisfying Assignments for SMT. Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U."

Transcription

1 Minimum Satisfying Assignments for SMT Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U. 1 / 20

2 Satisfiability Modulo Theories (SMT) Today, SMT solvers are underlying engine of most verification and program analysis tools 2 / 20

3 Satisfiability Modulo Theories (SMT) Today, SMT solvers are underlying engine of most verification and program analysis tools SMT Formula SMT Solver SAT UNSAT 2 / 20

4 Satisfiability Modulo Theories (SMT) Today, SMT solvers are underlying engine of most verification and program analysis tools SMT Formula SMT Solver + satisfying SAT assignment x=1, y=0, z=-3, w=5 UNSAT An assignment σ for formula φ is a mapping from free variables of φ to values 2 / 20

5 Partial Satisfying Assignments SMT Formula SMT Solver + satisfying SAT assignment x=1, y=0, z=-3, w=5 UNSAT Satisfying assignments provided SMT solver are full assignments assign every free variable to a value 3 / 20

6 Partial Satisfying Assignments SMT Formula SMT Solver + satisfying SAT assignment x=1, y=0, z=-3, w=5 UNSAT Satisfying assignments provided SMT solver are full assignments assign every free variable to a value But sometimes we want partial satisfying assignments 3 / 20

7 Partial Satisfying Assignments SMT Formula SMT Solver + satisfying SAT assignment x=1, y=0, z=-3, w=5 UNSAT Satisfying assignments provided SMT solver are full assignments assign every free variable to a value But sometimes we want partial satisfying assignments A partial satisfying assignment only assigns values to a subset of free variables, but is sufficient to make formula true 3 / 20

8 Partial Satisfying Assignments SMT Formula SMT Solver + satisfying SAT assignment x=1, y=0, z=-3, w=5 UNSAT Satisfying assignments provided SMT solver are full assignments assign every free variable to a value But sometimes we want partial satisfying assignments A partial satisfying assignment only assigns values to a subset of free variables, but is sufficient to make formula true For formula x < 0 x + y 0, x = 1 is a partial satisfying assignment 3 / 20

9 Minimum Satisfying Assignments (MSA) Special class of partial sat assignments: minimum sat assignments 4 / 20

10 Minimum Satisfying Assignments (MSA) Special class of partial sat assignments: minimum sat assignments Given cost function C from variables to costs, minimum sat assignment (MSA) is a partial sat assignment minimizing C C(x) = 1 C(y) = 50 C(z) = 1 C(w) = 4 4 / 20

11 Minimum Satisfying Assignments (MSA) Special class of partial sat assignments: minimum sat assignments Given cost function C from variables to costs, minimum sat assignment (MSA) is a partial sat assignment minimizing C Observe: Cost of assignment does not depend on values, but only to variables used in assignment! C(x) = 1 C(y) = 50 C(z) = 1 C(w) = 4 4 / 20

12 Minimum Satisfying Assignments (MSA) Special class of partial sat assignments: minimum sat assignments Given cost function C from variables to costs, minimum sat assignment (MSA) is a partial sat assignment minimizing C Observe: Cost of assignment does not depend on values, but only to variables used in assignment! Assignments x = 1 and x = 50 have same cost C(x) = 1 C(y) = 50 C(z) = 1 C(w) = 4 4 / 20

13 Minimum Satisfying Assignments (MSA) Special class of partial sat assignments: minimum sat assignments Given cost function C from variables to costs, minimum sat assignment (MSA) is a partial sat assignment minimizing C Observe: Cost of assignment does not depend on values, but only to variables used in assignment! Assignments x = 1 and x = 50 have same cost C(x) = 1 C(y) = 50 C(z) = 1 C(w) = 4 If variables have equal cost, an MSA is partial sat assignment with fewest variables 4 / 20

14 Example and Applications Consider cost function assigning every variable to 1 and Presburger arithmetic formula: φ : x + y + w > 0 x + y + z + w < 5 5 / 20

15 Example and Applications Consider cost function assigning every variable to 1 and Presburger arithmetic formula: φ : x + y + w > 0 x + y + z + w < 5 A minimum sat assignment for φ is z = 0 5 / 20

16 Example and Applications Consider cost function assigning every variable to 1 and Presburger arithmetic formula: φ : x + y + w > 0 x + y + z + w < 5 A minimum sat assignment for φ is z = 0 MSAs have many applications in verification: Finding small counterexamples in BMC Classifying and diagnosing error reports Abductive inference Minimizing # of predicates in pred abstraction 5 / 20

17 Contributions In propositional logic, MSAs known as min-sized prime implicants 6 / 20

18 Contributions In propositional logic, MSAs known as min-sized prime implicants Known algorithms for computing min prime implicants 6 / 20

19 Contributions In propositional logic, MSAs known as min-sized prime implicants Known algorithms for computing min prime implicants No work on computing MSAs for richer theories 6 / 20

20 Contributions In propositional logic, MSAs known as min-sized prime implicants Known algorithms for computing min prime implicants No work on computing MSAs for richer theories First algorithm for computing min sat assignments for SMT formulas Our algorithm applicable to any theory for which full first-order logic including quantifiers is decidable 6 / 20

21 Maximum Universal Subset Our algorithm exploits duality between MSAs and maximum universal subsets (MUS) MSA MUS 7 / 20

22 Maximum Universal Subset Our algorithm exploits duality between MSAs and maximum universal subsets (MUS) An MUS for φ is a set of variables X s.t.: MSA MUS 7 / 20

23 Maximum Universal Subset Our algorithm exploits duality between MSAs and maximum universal subsets (MUS) An MUS for φ is a set of variables X s.t.: 1 X.φ is satisfiable MSA MUS 7 / 20

24 Maximum Universal Subset Our algorithm exploits duality between MSAs and maximum universal subsets (MUS) An MUS for φ is a set of variables X s.t.: 1 X.φ is satisfiable 2 X maximizes cost function C MSA MUS 7 / 20

25 Maximum Universal Subset Our algorithm exploits duality between MSAs and maximum universal subsets (MUS) An MUS for φ is a set of variables X s.t.: 1 X.φ is satisfiable 2 X maximizes cost function C MSA MUS X is an MUS of φ MSA is a sat assignment of X.φ 7 / 20

26 Maximum Universal Subset Our algorithm exploits duality between MSAs and maximum universal subsets (MUS) An MUS for φ is a set of variables X s.t.: 1 X.φ is satisfiable 2 X maximizes cost function C MSA MUS X is an MUS of φ MSA is a sat assignment of X.φ Our approach first computes an MUS X and extracts an MSA from a sat assignment of X.φ 7 / 20

27 Algorithm to Compute MUS Recursive branch-and-bound style algorithm with input: 8 / 20

28 Algorithm to Compute MUS Recursive branch-and-bound style algorithm with input: Current formula φ 8 / 20

29 Algorithm to Compute MUS Recursive branch-and-bound style algorithm with input: Current formula φ Cost function C 8 / 20

30 Algorithm to Compute MUS Recursive branch-and-bound style algorithm with input: Current formula φ Cost function C Remaining variables V 8 / 20

31 Algorithm to Compute MUS Recursive branch-and-bound style algorithm with input: Current formula φ Cost function C Remaining variables V Lower bound L 8 / 20

32 Algorithm to Compute MUS Recursive branch-and-bound style algorithm with input: Current formula φ Cost function C Remaining variables V Lower bound L L is used to prune the search 8 / 20

33 Algorithm to Compute MUS Recursive branch-and-bound style algorithm with input: Current formula φ Cost function C Remaining variables V Lower bound L L is used to prune the search At each recursive call, considers new variable x and decides if x is in or out of MUS 8 / 20

34 Algorithm to Compute MUS Recursive branch-and-bound style algorithm with input: Current formula φ Cost function C Remaining variables V Lower bound L L is used to prune the search At each recursive call, considers new variable x and decides if x is in or out of MUS We do this by comparing cost of universal subsets with and without x 8 / 20

35 Algorithm to Compute MUS, cont. First, check if possible to include x is in universal subset 9 / 20

36 Algorithm to Compute MUS, cont. First, check if possible to include x is in universal subset If so, recursively compute cost of universal subset containing x 9 / 20

37 Algorithm to Compute MUS, cont. First, check if possible to include x is in universal subset If so, recursively compute cost of universal subset containing x If cost of current universal subset is better than previous best cost, update lower bound 9 / 20

38 Algorithm to Compute MUS, cont. First, check if possible to include x is in universal subset If so, recursively compute cost of universal subset containing x If cost of current universal subset is better than previous best cost, update lower bound Next, compute cost of universal subset not containing x 9 / 20

39 Algorithm to Compute MUS, cont. First, check if possible to include x is in universal subset If so, recursively compute cost of universal subset containing x If cost of current universal subset is better than previous best cost, update lower bound Next, compute cost of universal subset not containing x Compare the two costs and return whichever is best 9 / 20

40 Discussion of Algorithm This algorithm is branch-and-bound style 10 / 20

41 Discussion of Algorithm This algorithm is branch-and-bound style Branches on whether a given variable is in or out of MUS 10 / 20

42 Discussion of Algorithm This algorithm is branch-and-bound style Branches on whether a given variable is in or out of MUS Bounds search by checking if current max possible cost cannot improve previous estimate Cost(V) < L 10 / 20

43 Discussion of Algorithm This algorithm is branch-and-bound style Branches on whether a given variable is in or out of MUS Bounds search by checking if current max possible cost cannot improve previous estimate Also bounds search by checking when X.φ becomes unsat Cost(V) < L 10 / 20

44 Discussion of Algorithm This algorithm is branch-and-bound style Branches on whether a given variable is in or out of MUS Bounds search by checking if current max possible cost cannot improve previous estimate Also bounds search by checking when X.φ becomes unsat Cost(V) < L These two pruning strategies eliminate many search paths, but still exponential 10 / 20

45 Discussion of Algorithm This algorithm is branch-and-bound style Branches on whether a given variable is in or out of MUS Bounds search by checking if current max possible cost cannot improve previous estimate Also bounds search by checking when X.φ becomes unsat Cost(V) < L These two pruning strategies eliminate many search paths, but still exponential To make algorithm practical, must consider more optimizations 10 / 20

46 Improvements over Basic Algorithm Two important ways to improve over basic algorithm: 1 Initial cost estimate 11 / 20

47 Improvements over Basic Algorithm Two important ways to improve over basic algorithm: 1 Initial cost estimate Basic algorithm initially sets lower bound on MUS cost to 0 11 / 20

48 Improvements over Basic Algorithm Two important ways to improve over basic algorithm: 1 Initial cost estimate Basic algorithm initially sets lower bound on MUS cost to 0 Improves as algorithm progresses, but initially ineffective 11 / 20

49 Improvements over Basic Algorithm Two important ways to improve over basic algorithm: 1 Initial cost estimate Basic algorithm initially sets lower bound on MUS cost to 0 Improves as algorithm progresses, but initially ineffective If we can quickly compute a better initial lower bound estimate, pruning can be much more effective 11 / 20

50 Improvements over Basic Algorithm Two important ways to improve over basic algorithm: 1 Initial cost estimate Basic algorithm initially sets lower bound on MUS cost to 0 Improves as algorithm progresses, but initially ineffective If we can quickly compute a better initial lower bound estimate, pruning can be much more effective 2 Variable order 11 / 20

51 Improvements over Basic Algorithm Two important ways to improve over basic algorithm: 1 Initial cost estimate Basic algorithm initially sets lower bound on MUS cost to 0 Improves as algorithm progresses, but initially ineffective If we can quickly compute a better initial lower bound estimate, pruning can be much more effective 2 Variable order Basic algorithm chooses variables randomly 11 / 20

52 Improvements over Basic Algorithm Two important ways to improve over basic algorithm: 1 Initial cost estimate Basic algorithm initially sets lower bound on MUS cost to 0 Improves as algorithm progresses, but initially ineffective If we can quickly compute a better initial lower bound estimate, pruning can be much more effective 2 Variable order Basic algorithm chooses variables randomly But some variable orders much better than others 11 / 20

53 Improvements over Basic Algorithm Two important ways to improve over basic algorithm: 1 Initial cost estimate Basic algorithm initially sets lower bound on MUS cost to 0 Improves as algorithm progresses, but initially ineffective If we can quickly compute a better initial lower bound estimate, pruning can be much more effective 2 Variable order Basic algorithm chooses variables randomly But some variable orders much better than others Turns out better to consider variables likely to be in MSA first 11 / 20

54 Finding Initial Cost and Variable Order If we can find good approximation for MSA, can obtain good initial cost and variable order for MUS MSA MUS 12 / 20

55 Finding Initial Cost and Variable Order If we can find good approximation for MSA, can obtain good initial cost and variable order for MUS MUS Cost = Cost of free vars - MSA cost MSA MUS 12 / 20

56 Finding Initial Cost and Variable Order If we can find good approximation for MSA, can obtain good initial cost and variable order for MUS MUS Cost = Cost of free vars - MSA cost Thus, good estimate on MSA cost gives good estimate on MUS cost MSA MUS 12 / 20

57 Finding Initial Cost and Variable Order If we can find good approximation for MSA, can obtain good initial cost and variable order for MUS MUS Cost = Cost of free vars - MSA cost Thus, good estimate on MSA cost gives good estimate on MUS cost Good approximate MSA gives good variable order b/c if x is in MSA, x.φ more likely unsat MSA MUS 12 / 20

58 Finding Initial Cost and Variable Order If we can find good approximation for MSA, can obtain good initial cost and variable order for MUS MUS Cost = Cost of free vars - MSA cost Thus, good estimate on MSA cost gives good estimate on MUS cost Good approximate MSA gives good variable order b/c if x is in MSA, x.φ more likely unsat MSA MUS How can we "quickly" find good enough approximate MSA? 12 / 20

59 Approximate MSA from Prime Implicants Use min prime implicant to boolean structure of formula to approximate MSA SMT MSA SAT MinPI 13 / 20

60 Approximate MSA from Prime Implicants Use min prime implicant to boolean structure of formula to approximate MSA Prime implicant of boolean formula is conjunction of literals that implies it SMT MSA SAT MinPI 13 / 20

61 Approximate MSA from Prime Implicants Use min prime implicant to boolean structure of formula to approximate MSA Prime implicant of boolean formula is conjunction of literals that implies it SMT MSA First, compute φ + by replacing every literal in φ by boolean variable SAT MinPI 13 / 20

62 Approximate MSA from Prime Implicants Use min prime implicant to boolean structure of formula to approximate MSA Prime implicant of boolean formula is conjunction of literals that implies it SMT MSA First, compute φ + by replacing every literal in φ by boolean variable Extend techniques for computing MinPI to find a theory-satisfiable MinPI SAT MinPI 13 / 20

63 Approximate MSA from Prime Implicants Use min prime implicant to boolean structure of formula to approximate MSA Prime implicant of boolean formula is conjunction of literals that implies it SMT MSA First, compute φ + by replacing every literal in φ by boolean variable Extend techniques for computing MinPI to find a theory-satisfiable MinPI Theory-sat PI implies boolean structure of formula and is satisfiable modulo theory SAT MinPI 13 / 20

64 Approximate MSA from Prime Implicants Use min prime implicant to boolean structure of formula to approximate MSA Prime implicant of boolean formula is conjunction of literals that implies it SMT MSA First, compute φ + by replacing every literal in φ by boolean variable Extend techniques for computing MinPI to find a theory-satisfiable MinPI Theory-sat PI implies boolean structure of formula and is satisfiable modulo theory SAT MinPI Approximate MSA as variables in MinPI 13 / 20

65 Summary of First Optimization SAT MinPI Optimize basic B&B algorithm by finding good lower bound estimate on MUS and variable order Approximate MSA Cost estimate Variable x1 order x5 x2 Better pruning 14 / 20

66 Summary of First Optimization SAT MinPI Optimize basic B&B algorithm by finding good lower bound estimate on MUS and variable order Approximate MSA To find good estimate and variable order, compute approximate MSA Cost estimate Variable x1 order x5 x2 Better pruning 14 / 20

67 Summary of First Optimization SAT MinPI Optimize basic B&B algorithm by finding good lower bound estimate on MUS and variable order To find good estimate and variable order, compute approximate MSA Approximate MSA is obtained from theory-satisfiable min PI of boolean structure Approximate MSA Cost estimate Better pruning Variable x1 order x5 x2 14 / 20

68 Another Improvement: Non-Universal Subsets Suppose we knew a set of variables V is a non-universal set (i.e., V.φ is UNSAT) 15 / 20

69 Another Improvement: Non-Universal Subsets Suppose we knew a set of variables V is a non-universal set (i.e., V.φ is UNSAT) Can use non-universal subsets to improve algorithm because can avoid branching without SAT( X.φ) check 15 / 20

70 Another Improvement: Non-Universal Subsets Suppose we knew a set of variables V is a non-universal set (i.e., V.φ is UNSAT) Can use non-universal subsets to improve algorithm because can avoid branching without SAT( X.φ) check Furthermore, if V is a non-universal subset of implicate of φ, it is also non-universal subset of of φ. 15 / 20

71 Another Improvement: Non-Universal Subsets Suppose we knew a set of variables V is a non-universal set (i.e., V.φ is UNSAT) Can use non-universal subsets to improve algorithm because can avoid branching without SAT( X.φ) check Furthermore, if V is a non-universal subset of implicate of φ, it is also non-universal subset of of φ. How can we "quickly" find implicates with small non-universal subsets? 15 / 20

72 Finding Non-Universal Subsets For complete theories, such as Presburger arithmetic, if ψ sat, then free(ψ).ψ unsat UNSAT! x1 x10 x7 x4 16 / 20

73 Finding Non-Universal Subsets For complete theories, such as Presburger arithmetic, if ψ sat, then free(ψ).ψ unsat Thus, if ψ is an implicate of φ whose negation is sat, free(ψ) is a non-universal set UNSAT! x1 x10 x7 x4 16 / 20

74 Finding Non-Universal Subsets For complete theories, such as Presburger arithmetic, if ψ sat, then free(ψ).ψ unsat Thus, if ψ is an implicate of φ whose negation is sat, free(ψ) is a non-universal set Can quickly find implicates with this property from boolean structure of simplified form x1 x10 x7 x4 UNSAT! 16 / 20

75 Finding Non-Universal Subsets For complete theories, such as Presburger arithmetic, if ψ sat, then free(ψ).ψ unsat Thus, if ψ is an implicate of φ whose negation is sat, free(ψ) is a non-universal set Can quickly find implicates with this property from boolean structure of simplified form When all variables in ψ are -quantified, backtrack without checking satisfiability x1 x10 x7 x4 UNSAT! 16 / 20

76 Experimental Evaluation Implemented algorithm in Mistral SMT solver 17 / 20

77 Experimental Evaluation Implemented algorithm in Mistral SMT solver Evaluated algorithm on 400 Presburger arithmetic formulas 17 / 20

78 Experimental Evaluation Implemented algorithm in Mistral SMT solver Evaluated algorithm on 400 Presburger arithmetic formulas Formulas taken from static analysis tool that uses MSAs for performing abduction, in turn used for diagnosing error reports 17 / 20

79 Experimental Evaluation Implemented algorithm in Mistral SMT solver Evaluated algorithm on 400 Presburger arithmetic formulas Formulas taken from static analysis tool that uses MSAs for performing abduction, in turn used for diagnosing error reports Formulas contain up to 40 variables and several hundred boolean connectives 17 / 20

80 Experimental Results Basic (no opt) Basic + min. implicants Basic + non-univ-subsets Both optimizations 30 Time (s) Number of variables 18 / 20

81 Experimental Results Basic (no opt) Basic + min. implicants Basic + non-univ-subsets Both optimizations Basic algorithm very sensitive to # vars 30 Time (s) Number of variables 18 / 20

82 Experimental Results Time (s) Basic (no opt) Basic + min. implicants Basic + non-univ-subsets Both optimizations Basic algorithm very sensitive to # vars Optimizations have dramatic impact on performance Number of variables 18 / 20

83 Experimental Results Time (s) Basic (no opt) Basic + min. implicants Basic + non-univ-subsets Both optimizations Basic algorithm very sensitive to # vars Optimizations have dramatic impact on performance Number of variables Optimized version grows slowly in # of variables 18 / 20

84 Experimental Results Time (s) Basic (no opt) Basic + min. implicants Basic + non-univ-subsets Both optimizations Basic algorithm very sensitive to # vars Optimizations have dramatic impact on performance Number of variables Optimized version grows slowly in # of variables Even with both optimizations, computing MSAs 25 times more expensive than checking satisfiability 18 / 20

85 Experimental Results, cont Basic (no opt) Basic + min. implicants Basic + non-univ-subsets Both optimizations 20 Time (s) MSA size / # vars 19 / 20

86 Experimental Results, cont. Time (s) Basic (no opt) Basic + min. implicants Basic + non-univ-subsets Both optimizations Problem easier if # vars in MSA very small or very large MSA size / # vars 19 / 20

87 Experimental Results, cont. Time (s) Basic (no opt) Basic + min. implicants Basic + non-univ-subsets Both optimizations MSA size / # vars Problem easier if # vars in MSA very small or very large Problem hardest for formulas when ratio of vars in MSA to free vars is / 20

88 Summary First algorithm for finding MSAs of SMT formulas Recursive branch-and-bound style algorithm with two crucial optimizations MSAs can be computed in reasonable time for a set of benchmakrs obtained from static analysis But finding MSAs much more expensive than finding full sat assignment We believe significant improvements are still possible 20 / 20

Motivation. CS389L: Automated Logical Reasoning. Lecture 17: SMT Solvers and the DPPL(T ) Framework. SMT solvers. The Basic Idea.

Motivation. CS389L: Automated Logical Reasoning. Lecture 17: SMT Solvers and the DPPL(T ) Framework. SMT solvers. The Basic Idea. Motivation Lecture 17: SMT rs and the DPPL(T ) Framework şıl Dillig n previous lectures, we looked at decision procedures for conjunctive formulas in various first-order theories This lecture: How to handle

More information

Inductive Invariant Generation via Abductive Inference

Inductive Invariant Generation via Abductive Inference Inductive Invariant Generation via Abductive Inference Isil Dillig Department of Computer Science College of William & Mary idillig@cs.wm.edu Thomas Dillig Department of Computer Science College of William

More information

Deductive Methods, Bounded Model Checking

Deductive Methods, Bounded Model Checking Deductive Methods, Bounded Model Checking http://d3s.mff.cuni.cz Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Deductive methods Pavel Parízek Deductive Methods, Bounded

More information

Symbolic and Concolic Execution of Programs

Symbolic and Concolic Execution of Programs Symbolic and Concolic Execution of Programs Information Security, CS 526 Omar Chowdhury 10/7/2015 Information Security, CS 526 1 Reading for this lecture Symbolic execution and program testing - James

More information

Boolean Functions (Formulas) and Propositional Logic

Boolean Functions (Formulas) and Propositional Logic EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part I: Basics Sanjit A. Seshia EECS, UC Berkeley Boolean Functions (Formulas) and Propositional Logic Variables: x 1, x 2, x 3,, x

More information

Small Formulas for Large Programs: On-line Constraint Simplification In Scalable Static Analysis

Small Formulas for Large Programs: On-line Constraint Simplification In Scalable Static Analysis Small Formulas for Large Programs: On-line Constraint Simplification In Scalable Static Analysis Isil Dillig, Thomas Dillig, Alex Aiken Stanford University Scalability and Formula Size Many program analysis

More information

Tighter Integration of BDDs and SMT for Predicate Abstraction

Tighter Integration of BDDs and SMT for Predicate Abstraction Tighter Integration of BDDs and SMT for Predicate Abstraction A. Cimatti, A. Franzen, A. Griggio, K. Kalyanasundaram, M. Roveri FBK-irst, Trento, Italy {cimatti,franzen,krishnamani,roveri}@fbk.eu University

More information

SMT-Based Bounded Model Checking for Embedded ANSI-C Software. Lucas Cordeiro, Bernd Fischer, Joao Marques-Silva

SMT-Based Bounded Model Checking for Embedded ANSI-C Software. Lucas Cordeiro, Bernd Fischer, Joao Marques-Silva SMT-Based Bounded Model Checking for Embedded ANSI-C Software Lucas Cordeiro, Bernd Fischer, Joao Marques-Silva b.fischer@ecs.soton.ac.uk Bounded Model Checking (BMC) Basic Idea: check negation of given

More information

HySAT. what you can use it for how it works example from application domain final remarks. Christian Herde /12

HySAT. what you can use it for how it works example from application domain final remarks. Christian Herde /12 CP2007: Presentation of recent CP solvers HySAT what you can use it for how it works example from application domain final remarks Christian Herde 25.09.2007 /2 What you can use it for Satisfiability checker

More information

8.1 Polynomial-Time Reductions

8.1 Polynomial-Time Reductions 8.1 Polynomial-Time Reductions Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. Those with polynomial-time algorithms.

More information

Decision Procedures in the Theory of Bit-Vectors

Decision Procedures in the Theory of Bit-Vectors Decision Procedures in the Theory of Bit-Vectors Sukanya Basu Guided by: Prof. Supratik Chakraborty Department of Computer Science and Engineering, Indian Institute of Technology, Bombay May 1, 2010 Sukanya

More information

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus: Boolean Algebra and Simplification CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Topics Motivation: Simplifying Conditional Expressions

More information

Example: Map coloring

Example: Map coloring Today s s lecture Local Search Lecture 7: Search - 6 Heuristic Repair CSP and 3-SAT Solving CSPs using Systematic Search. Victor Lesser CMPSCI 683 Fall 2004 The relationship between problem structure and

More information

Complete Instantiation of Quantified Formulas in Satisfiability Modulo Theories. ACSys Seminar

Complete Instantiation of Quantified Formulas in Satisfiability Modulo Theories. ACSys Seminar Complete Instantiation of Quantified Formulas in Satisfiability Modulo Theories Yeting Ge Leonardo de Moura ACSys Seminar 2008.12 Motivation SMT solvers have been successful Quantified smt formulas are

More information

Overview. CS389L: Automated Logical Reasoning. Lecture 6: First Order Logic Syntax and Semantics. Constants in First-Order Logic.

Overview. CS389L: Automated Logical Reasoning. Lecture 6: First Order Logic Syntax and Semantics. Constants in First-Order Logic. Overview CS389L: Automated Logical Reasoning Lecture 6: First Order Logic Syntax and Semantics Işıl Dillig So far: Automated reasoning in propositional logic. Propositional logic is simple and easy to

More information

QuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University

QuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University QuteSat A Robust Circuit-Based SAT Solver for Complex Circuit Structure Chung-Yang (Ric) Huang National Taiwan University To appear: DATE 27 2/1/27 Fact Sheet (Background) Boolean Satisfiability (SAT)

More information

Formally Certified Satisfiability Solving

Formally Certified Satisfiability Solving SAT/SMT Proof Checking Verifying SAT Solver Code Future Work Computer Science, The University of Iowa, USA April 23, 2012 Seoul National University SAT/SMT Proof Checking Verifying SAT Solver Code Future

More information

SAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013

SAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013 SAT Solvers Ranjit Jhala, UC San Diego April 9, 2013 Decision Procedures We will look very closely at the following 1. Propositional Logic 2. Theory of Equality 3. Theory of Uninterpreted Functions 4.

More information

OpenSMT2. A Parallel, Interpolating SMT Solver. Antti Hyvärinen, Matteo Marescotti, Leonardo Alt, Sepideh Asadi, and Natasha Sharygina

OpenSMT2. A Parallel, Interpolating SMT Solver. Antti Hyvärinen, Matteo Marescotti, Leonardo Alt, Sepideh Asadi, and Natasha Sharygina OpenSMT2 A Parallel, Interpolating SMT Solver Antti Hyvärinen, Matteo Marescotti, Leonardo Alt, Sepideh Asadi, and Natasha Sharygina Why another SMT solver? Model checking OpenSMT Interpolation Parallel

More information

SAT, SMT and QBF Solving in a Multi-Core Environment

SAT, SMT and QBF Solving in a Multi-Core Environment SAT, SMT and QBF Solving in a Multi-Core Environment Bernd Becker Tobias Schubert Faculty of Engineering, Albert-Ludwigs-University Freiburg, 79110 Freiburg im Breisgau, Germany {becker schubert}@informatik.uni-freiburg.de

More information

Satisfiability-Based Algorithms for 0-1 Integer Programming

Satisfiability-Based Algorithms for 0-1 Integer Programming Satisfiability-Based Algorithms for 0-1 Integer Programming Vasco M. Manquinho, João P. Marques Silva, Arlindo L. Oliveira and Karem A. Sakallah Cadence European Laboratories / INESC Instituto Superior

More information

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Algorithm Design Patterns and Anti-Patterns Algorithm design patterns.

More information

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley Project Proposals Due Friday, February 13 on bcourses Will discuss project topics on Monday Instructions

More information

Lecture 2: Symbolic Model Checking With SAT

Lecture 2: Symbolic Model Checking With SAT Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.

More information

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley The Boolean Satisfiability Problem (SAT) Given: A Boolean formula F(x 1, x 2, x 3,, x n ) Can F evaluate to 1

More information

Turbo-Charging Lemmas on Demand with Don t Care Reasoning

Turbo-Charging Lemmas on Demand with Don t Care Reasoning Turbo-Charging Lemmas on Demand with Don t Care Reasoning Aina Niemetz, Mathias Preiner and Armin Biere Institute for Formal Models and Verification (FMV) Johannes Kepler University, Linz, Austria http://fmv.jku.at/

More information

LEARNING TO INSTANTIATE QUANTIFIERS

LEARNING TO INSTANTIATE QUANTIFIERS LEARNING TO INSTANTIATE QUANTIFIERS Armin Biere 1 joint work with Mathias Preiner 1,2, Aina Niemetz 1,2 TACAS 17, SMT 17, PhD Thesis Mathias Preiner in 2017 1 Johannes Kepler University Linz 2 Stanford

More information

Decision Procedures. An Algorithmic Point of View. Decision Procedures for Propositional Logic. D. Kroening O. Strichman.

Decision Procedures. An Algorithmic Point of View. Decision Procedures for Propositional Logic. D. Kroening O. Strichman. Decision Procedures An Algorithmic Point of View Decision Procedures for Propositional Logic D. Kroening O. Strichman ETH/Technion Version 1.0, 2007 Part I Decision Procedures for Propositional Logic Outline

More information

On Computing Minimum Size Prime Implicants

On Computing Minimum Size Prime Implicants On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for

More information

Satisfiability Modulo Theories. DPLL solves Satisfiability fine on some problems but not others

Satisfiability Modulo Theories. DPLL solves Satisfiability fine on some problems but not others DPLL solves Satisfiability fine on some problems but not others DPLL solves Satisfiability fine on some problems but not others Does not do well on proving multipliers correct pigeon hole formulas cardinality

More information

Modelling with Constraints

Modelling with Constraints Masterclass Modelling with Constraints Part 1: Introduction Alan M Frisch Artificial Intelligence Group Dept of Computer Science University of York 12 December 2011 1 Motivation A modern generation of

More information

MajorSat: A SAT Solver to Majority Logic

MajorSat: A SAT Solver to Majority Logic MajorSat: A SAT Solver to Majority Logic Speaker : Ching-Yi Huang Authors: Yu-Min Chou, Yung-Chih Chen *, Chun-Yao Wang, Ching-Yi Huang National Tsing Hua University, Taiwan * Yuan Ze University, Taiwan

More information

Integrating a SAT Solver with Isabelle/HOL

Integrating a SAT Solver with Isabelle/HOL Integrating a SAT Solver with / Tjark Weber (joint work with Alwen Tiu et al.) webertj@in.tum.de First Munich-Nancy Workshop on Decision Procedures for Theorem Provers March 6th & 7th, 2006 Integrating

More information

HECTOR: Formal System-Level to RTL Equivalence Checking

HECTOR: Formal System-Level to RTL Equivalence Checking ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008

More information

Combining forces to solve Combinatorial Problems, a preliminary approach

Combining forces to solve Combinatorial Problems, a preliminary approach Combining forces to solve Combinatorial Problems, a preliminary approach Mohamed Siala, Emmanuel Hebrard, and Christian Artigues Tarbes, France Mohamed SIALA April 2013 EDSYS Congress 1 / 19 Outline Context

More information

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS Mathias Preiner, Aina Niemetz and Armin Biere Institute for Formal Models and Verification (FMV) Johannes Kepler University, Linz, Austria http://fmv.jku.at/ TACAS

More information

Reading part: Design-Space Exploration with Alloy

Reading part: Design-Space Exploration with Alloy Reading part: Design-Space Exploration with Alloy Ing. Ken Vanherpen Abstract In the growing world of MDE many tools are offered to describe a (part of a) system, constrain it, and check some properties

More information

Combinational Equivalence Checking

Combinational Equivalence Checking Combinational Equivalence Checking Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab. Dept. of Electrical Engineering Indian Institute of Technology Bombay viren@ee.iitb.ac.in

More information

18733: Applied Cryptography S17. Mini Project. due April 19, 2017, 11:59pm EST. φ(x) := (x > 5) (x < 10)

18733: Applied Cryptography S17. Mini Project. due April 19, 2017, 11:59pm EST. φ(x) := (x > 5) (x < 10) 18733: Applied Cryptography S17 Mini Project due April 19, 2017, 11:59pm EST 1 SMT Solvers 1.1 Satisfiability Modulo Theory SMT (Satisfiability Modulo Theories) is a decision problem for logical formulas

More information

Integration of SMT Solvers with ITPs There and Back Again

Integration of SMT Solvers with ITPs There and Back Again Integration of SMT Solvers with ITPs There and Back Again Sascha Böhme and University of Sheffield 7 May 2010 1 2 Features: SMT-LIB vs. Yices Translation Techniques Caveats 3 4 Motivation Motivation System

More information

SAT-CNF Is N P-complete

SAT-CNF Is N P-complete SAT-CNF Is N P-complete Rod Howell Kansas State University November 9, 2000 The purpose of this paper is to give a detailed presentation of an N P- completeness proof using the definition of N P given

More information

A Branch and Bound Algorithm for Extracting Smallest Minimal Unsatisfiable Subformulas

A Branch and Bound Algorithm for Extracting Smallest Minimal Unsatisfiable Subformulas A Branch and Bound Algorithm for Extracting Smallest Minimal Unsatisfiable Subformulas Mark Liffiton 1 Maher Mneimneh 1 Inês Lynce 2 Zaher Andraus 1 João Marques-Silva 3 Karem Sakallah 1 1 University of

More information

CS-E3200 Discrete Models and Search

CS-E3200 Discrete Models and Search Shahab Tasharrofi Department of Information and Computer Science, Aalto University Lecture 7: Complete and local search methods for SAT Outline Algorithms for solving Boolean satisfiability problems Complete

More information

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS Mathias Preiner, Aina Niemetz and Armin Biere Johannes Kepler University Stanford University SMT Workshop July 22-23, 2017 Heidelberg, Germany Introduction Counterexample-Guided

More information

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance. Algorithm Design Patterns and Anti-Patterns Chapter 8 NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic

More information

Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers

Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers Isil Dillig, Thomas Dillig, and Alex Aiken Computer Science Department Stanford University Linear Arithmetic

More information

CODE ANALYSIS CARPENTRY

CODE ANALYSIS CARPENTRY SEAN HEELAN THE (IN)COMPLETE GUIDE TO CODE ANALYSIS CARPENTRY ( Or how to avoid braining yourself when handed an SMT solving hammer Immunity Inc. Part I: Down the Rabbit Hole Propositional Logic Mechanical

More information

CSE507. Practical Applications of SAT. Computer-Aided Reasoning for Software. Emina Torlak

CSE507. Practical Applications of SAT. Computer-Aided Reasoning for Software. Emina Torlak Computer-Aided Reasoning for Software CSE507 Practical Applications of SAT courses.cs.washington.edu/courses/cse507/18sp/ Emina Torlak emina@cs.washington.edu Today Past 2 lectures The theory and mechanics

More information

On the Relation between SAT and BDDs for Equivalence Checking

On the Relation between SAT and BDDs for Equivalence Checking On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda 1 Rolf Drechsler 2 Alex Orailoglu 1 1 Computer Science & Engineering Department University of California, San Diego La Jolla,

More information

Applications of Logic in Software Engineering. CS402, Spring 2016 Shin Yoo

Applications of Logic in Software Engineering. CS402, Spring 2016 Shin Yoo Applications of Logic in Software Engineering CS402, Spring 2016 Shin Yoo Acknowledgements I borrow slides from: Moonzoo Kim Theo C. Ruys (http://spinroot.com/spin/doc/ SpinTutorial.pdf) CBMC & Daniel

More information

Predicate Refinement Heuristics in Program Verification with CEGAR

Predicate Refinement Heuristics in Program Verification with CEGAR Predicate Refinement Heuristics in Program Verification with CEGAR Tachio Terauchi (JAIST) Part of this is joint work with Hiroshi Unno (U. Tsukuba) 1 Predicate Abstraction with CEGAR Iteratively generate

More information

Satisfiability (SAT) Applications. Extensions/Related Problems. An Aside: Example Proof by Machine. Annual Competitions 12/3/2008

Satisfiability (SAT) Applications. Extensions/Related Problems. An Aside: Example Proof by Machine. Annual Competitions 12/3/2008 15 53:Algorithms in the Real World Satisfiability Solvers (Lectures 1 & 2) 1 Satisfiability (SAT) The original NP Complete Problem. Input: Variables V = {x 1, x 2,, x n }, Boolean Formula Φ (typically

More information

A Pearl on SAT Solving in Prolog (extended abstract)

A Pearl on SAT Solving in Prolog (extended abstract) A Pearl on SAT Solving in Prolog (extended abstract) Jacob M. Howe and Andy King 1 Introduction The Boolean satisfiability problem, SAT, is of continuing interest because a variety of problems are naturally

More information

Announcements. CS243: Discrete Structures. Strong Induction and Recursively Defined Structures. Review. Example (review) Example (review), cont.

Announcements. CS243: Discrete Structures. Strong Induction and Recursively Defined Structures. Review. Example (review) Example (review), cont. Announcements CS43: Discrete Structures Strong Induction and Recursively Defined Structures Işıl Dillig Homework 4 is due today Homework 5 is out today Covers induction (last lecture, this lecture, and

More information

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance. Algorithm Design Patterns and Anti-Patterns 8. NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic programming.

More information

Yices 1.0: An Efficient SMT Solver

Yices 1.0: An Efficient SMT Solver Yices 1.0: An Efficient SMT Solver SMT-COMP 06 Leonardo de Moura (joint work with Bruno Dutertre) {demoura, bruno}@csl.sri.com. Computer Science Laboratory SRI International Menlo Park, CA Yices: An Efficient

More information

Array Dependence Analysis as Integer Constraints. Array Dependence Analysis Example. Array Dependence Analysis as Integer Constraints, cont

Array Dependence Analysis as Integer Constraints. Array Dependence Analysis Example. Array Dependence Analysis as Integer Constraints, cont Theory of Integers CS389L: Automated Logical Reasoning Omega Test Işıl Dillig Earlier, we talked aout the theory of integers T Z Signature of T Z : Σ Z : {..., 2, 1, 0, 1, 2,..., 3, 2, 2, 3,..., +,, =,

More information

BOOGIE. Presentation by Itsik Hefez A MODULAR REUSABLE VERIFIER FOR OBJECT-ORIENTED PROGRAMS MICROSOFT RESEARCH

BOOGIE. Presentation by Itsik Hefez A MODULAR REUSABLE VERIFIER FOR OBJECT-ORIENTED PROGRAMS MICROSOFT RESEARCH BOOGIE A MODULAR REUSABLE VERIFIER FOR OBJECT-ORIENTED PROGRAMS MICROSOFT RESEARCH Presentation by Itsik Hefez Introduction Boogie is an intermediate verification language, intended as a layer on which

More information

Bounded Model Checking with Parametric Data Structures

Bounded Model Checking with Parametric Data Structures Bounded Model Checking with Marc Herbstritt (joint work with Erika Ábrahám, Bernd Becker, Martin Steffen) www.avacs.org August 15 2006 4th International Workshop on Bounded Model Checking Context Automated

More information

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS Mathias Preiner?y, Aina Niemetz?y and Armin Biere?? Johannes Kepler University y Stanford University SMT Workshop July 22-23, 2017 Heidelberg, Germany Introduction

More information

Formalization of Incremental Simplex Algorithm by Stepwise Refinement

Formalization of Incremental Simplex Algorithm by Stepwise Refinement Formalization of Incremental Simplex Algorithm by Stepwise Refinement Mirko Spasić, Filip Marić Faculty of Mathematics, University of Belgrade FM2012, 30. August 2012. Overview 1 Introduction 2 Approach

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

Nina Narodytska Samsung Research/CMU

Nina Narodytska Samsung Research/CMU Recent trends in MaxSAT solving Nina Narodytska Samsung Research/CMU Outline 1. Boolean satisfiability 2. Boolean (un)satisfiability (MaxSAT) 3. Counting (un)satisfiability 2 Outline Boolean satisfiability

More information

Symbolic Execu.on. Suman Jana

Symbolic Execu.on. Suman Jana Symbolic Execu.on Suman Jana Acknowledgement: Baishakhi Ray (Uva), Omar Chowdhury (Purdue), Saswat Anand (GA Tech), Rupak Majumdar (UCLA), Koushik Sen (UCB) What is the goal? Tes.ng Tes%ng approaches are

More information

Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints

Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints Mark H. Liffiton and Karem A. Sakallah Department of Electrical Engineering and Computer Science, University of Michigan, Ann Arbor

More information

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees Motivation CS389L: Automated Logical Reasoning Lecture 5: Binary Decision Diagrams Işıl Dillig Previous lectures: How to determine satisfiability of propositional formulas Sometimes need to efficiently

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

Full CNF Encoding: The Counting Constraints Case

Full CNF Encoding: The Counting Constraints Case Full CNF Encoding: The Counting Constraints Case Olivier Bailleux 1 and Yacine Boufkhad 2 1 LERSIA, Université de Bourgogne Avenue Alain Savary, BP 47870 21078 Dijon Cedex olivier.bailleux@u-bourgogne.fr

More information

Constraint Solving. Systems and Internet Infrastructure Security

Constraint Solving. Systems and Internet Infrastructure Security Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Constraint Solving Systems

More information

Using Higher Levels of Abstraction for Solving Optimization Problems by Boolean Satisfiability

Using Higher Levels of Abstraction for Solving Optimization Problems by Boolean Satisfiability Using Higher Levels of Abstraction for Solving Optimization Problems by Boolean Satisfiability Robert Wille Daniel Große Mathias Soeken Rolf Drechsler Institute of Computer Science University of Bremen,

More information

Yices 1.0: An Efficient SMT Solver

Yices 1.0: An Efficient SMT Solver Yices 1.0: An Efficient SMT Solver AFM 06 Tutorial Leonardo de Moura (joint work with Bruno Dutertre) {demoura, bruno}@csl.sri.com. Computer Science Laboratory SRI International Menlo Park, CA Yices: An

More information

Generating Small Countermodels. Andrew Reynolds Intel August 30, 2012

Generating Small Countermodels. Andrew Reynolds Intel August 30, 2012 Generating Small Countermodels using SMT Andrew Reynolds Intel August 30, 2012 Acknowledgements Intel Corporation AmitGoel, Sava Krstic University of Iowa Cesare Tinelli, Francois Bobot New York University

More information

Chapter 10 Part 1: Reduction

Chapter 10 Part 1: Reduction //06 Polynomial-Time Reduction Suppose we could solve Y in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Chapter 0 Part : Reduction Reduction. Problem X

More information

2SAT Andreas Klappenecker

2SAT Andreas Klappenecker 2SAT Andreas Klappenecker The Problem Can we make the following boolean formula true? ( x y) ( y z) (z y)! Terminology A boolean variable is a variable that can be assigned the values true (T) or false

More information

Simplifying Loop Invariant Generation Using Splitter Predicates. Rahul Sharma Işil Dillig, Thomas Dillig, and Alex Aiken Stanford University

Simplifying Loop Invariant Generation Using Splitter Predicates. Rahul Sharma Işil Dillig, Thomas Dillig, and Alex Aiken Stanford University Simplifying Loop Invariant Generation Using Splitter Predicates Rahul Sharma Işil Dillig, Thomas Dillig, and Alex Aiken Stanford University Loops and Loop Invariants Loop Head x = 0; while( x

More information

Parallel and Distributed Computing

Parallel and Distributed Computing Parallel and Distributed Computing Project Assignment MAX-SAT SOLVER Version 1.0 (07/03/2016) 2015/2016 2nd Semester CONTENTS Contents 1 Introduction 2 2 Problem Description 2 2.1 Illustrative Example...................................

More information

CAV Verification Mentoring Workshop 2017 SMT Solving

CAV Verification Mentoring Workshop 2017 SMT Solving CAV Verification Mentoring Workshop 2017 SMT Solving Alberto Griggio Fondazione Bruno Kessler Trento, Italy The SMT problem Satisfiability Modulo Theories Given a (quantifier-free) FOL formula and a (decidable)

More information

1.3 Primitive Recursive Predicates and Bounded Minimalization

1.3 Primitive Recursive Predicates and Bounded Minimalization 12 1 Primitive Recursive Functions 1.3 Primitive Recursive Predicates and Bounded Minimalization 1.3.1 Case discrimination function The case discrimination function D is defined by D(x, y, z) = v x 0 v

More information

Automated Error Diagnosis Using Abductive Inference

Automated Error Diagnosis Using Abductive Inference Automated Error Diagnosis Using Abductive Inference Isil Dillig Department of Computer Science College of William & Mary idillig@cs.wm.edu Thomas Dillig Department of Computer Science College of William

More information

NP and computational intractability. Kleinberg and Tardos, chapter 8

NP and computational intractability. Kleinberg and Tardos, chapter 8 NP and computational intractability Kleinberg and Tardos, chapter 8 1 Major Transition So far we have studied certain algorithmic patterns Greedy, Divide and conquer, Dynamic programming to develop efficient

More information

On Reasoning about Finite Sets in Software Checking

On Reasoning about Finite Sets in Software Checking On Reasoning about Finite Sets in Software Model Checking Pavel Shved Institute for System Programming, RAS SYRCoSE 2 June 2010 Static Program Verification Static Verification checking programs against

More information

Chapter 2 PRELIMINARIES

Chapter 2 PRELIMINARIES 8 Chapter 2 PRELIMINARIES Throughout this thesis, we work with propositional or Boolean variables, that is, variables that take value in the set {true, false}. A propositional formula F representing a

More information

Automatic Software Verification

Automatic Software Verification Automatic Software Verification Instructor: Mooly Sagiv TA: Oded Padon Slides from Eran Yahav and the Noun Project, Wikipedia Course Requirements Summarize one lecture 10% one lecture notes 45% homework

More information

Efficiently Reasoning about Programs

Efficiently Reasoning about Programs Efficiently Reasoning about Programs Neil Immerman College of Computer and Information Sciences University of Massachusetts, Amherst Amherst, MA, USA people.cs.umass.edu/ immerman co-r.e. complete Halt

More information

Symbolic Methods. The finite-state case. Martin Fränzle. Carl von Ossietzky Universität FK II, Dpt. Informatik Abt.

Symbolic Methods. The finite-state case. Martin Fränzle. Carl von Ossietzky Universität FK II, Dpt. Informatik Abt. Symbolic Methods The finite-state case Part I Martin Fränzle Carl von Ossietzky Universität FK II, Dpt. Informatik Abt. Hybride Systeme 02917: Symbolic Methods p.1/34 What you ll learn How to use and manipulate

More information

Reasoning over Biological Networks using Maximum Satisfiability

Reasoning over Biological Networks using Maximum Satisfiability Reasoning over Biological Networks using Maximum Satisfiability João Guerra and Inês Lynce INESC-ID/Instituto Superior Técnico, Technical University of Lisbon, Portugal CP 2012, Québec João Guerra and

More information

Normal Forms for Boolean Expressions

Normal Forms for Boolean Expressions Normal Forms for Boolean Expressions A NORMAL FORM defines a class expressions s.t. a. Satisfy certain structural properties b. Are usually universal: able to express every boolean function 1. Disjunctive

More information

8.1 Polynomial-Time Reductions

8.1 Polynomial-Time Reductions Algorithm Design Patterns and Anti-Patterns Analysis of Algorithms Algorithm design patterns. Ex. Greed. O(n 2 ) Dijkstra s SSSP (dense) Divide-and-conquer. O(n log n) FFT. Dynamic programming. O(n 2 )

More information

Improving Coq Propositional Reasoning Using a Lazy CNF Conversion

Improving Coq Propositional Reasoning Using a Lazy CNF Conversion Using a Lazy CNF Conversion Stéphane Lescuyer Sylvain Conchon Université Paris-Sud / CNRS / INRIA Saclay Île-de-France FroCoS 09 Trento 18/09/2009 Outline 1 Motivation and background Verifying an SMT solver

More information

Nenofar: A Negation Normal Form SMT Solver

Nenofar: A Negation Normal Form SMT Solver Nenofar: A Negation Normal Form SMT Solver Combining Non-Clausal SAT Approaches with Theories Philippe Suter 1, Vijay Ganesh 2, Viktor Kuncak 1 1 EPFL, Switzerland 2 MIT, USA Abstract. We describe an implementation

More information

Hybrid Constraint Solvers

Hybrid Constraint Solvers Hybrid Constraint Solvers - An overview Why Hybrid Solvers CP and SAT: Lazy Clause Generation CP and LP: Reification of Linear Constraints Conclusions 9 November 2011 Pedro Barahona - EPCL - Hybrid Solvers

More information

Network Verification: Reflections from Electronic Design Automation (EDA)

Network Verification: Reflections from Electronic Design Automation (EDA) Network Verification: Reflections from Electronic Design Automation (EDA) Sharad Malik Princeton University MSR Faculty Summit: 7/8/2015 $4 Billion EDA industry EDA Consortium $350 Billion Semiconductor

More information

Automata-based Model Counting for String Constraints. Abdulbaki Aydin, Lucas Bang, Tevfik Bultan

Automata-based Model Counting for String Constraints. Abdulbaki Aydin, Lucas Bang, Tevfik Bultan Automata-based Model Counting for String Constraints Abdulbaki Aydin, Lucas Bang, Tevfik Bultan https://vlab.cs.ucsb.edu Model Counting for String Constraints Automata-Based model Counter (ABC) 2 Can you

More information

SAT Solver Heuristics

SAT Solver Heuristics SAT Solver Heuristics SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) Able to solve 10-15 variable problems Satz (Chu Min Li, 1995) Able to solve some 1000 variable problems

More information

Pooya Saadatpanah, Michalis Famelis, Jan Gorzny, Nathan Robinson, Marsha Chechik, Rick Salay. September 30th, University of Toronto.

Pooya Saadatpanah, Michalis Famelis, Jan Gorzny, Nathan Robinson, Marsha Chechik, Rick Salay. September 30th, University of Toronto. Comparing the Pooya Michalis Jan Nathan Marsha Chechik, Rick Salay University of Toronto September 30th, 2012 MoDeVVa 12 1 / 32 in software modeling : pervasive in MDE Models with uncertainty: Represent

More information

USING QBF SOLVERS TO SOLVE GAMES AND PUZZLES. Zhihe Shen. Advisor: Howard Straubing

USING QBF SOLVERS TO SOLVE GAMES AND PUZZLES. Zhihe Shen. Advisor: Howard Straubing Boston College Computer Science Senior Thesis USING QBF SOLVERS TO SOLVE GAMES AND PUZZLES Zhihe Shen Advisor: Howard Straubing Abstract There are multiple types of games, such as board games and card

More information

DPLL(Γ+T): a new style of reasoning for program checking

DPLL(Γ+T): a new style of reasoning for program checking DPLL(Γ+T ): a new style of reasoning for program checking Dipartimento di Informatica Università degli Studi di Verona Verona, Italy June, 2011 Motivation: reasoning for program checking Program checking

More information

Symbolic Heap Abstraction with Demand- Driven Axiomatization of Memory Invariants

Symbolic Heap Abstraction with Demand- Driven Axiomatization of Memory Invariants Symbolic Heap Abstraction with Demand- Driven Axiomatization of Memory Invariants Isil Dillig Department of Computer Science Stanford University isil@cs.stanford.edu Thomas Dillig Department of Computer

More information

Maximal Specification Synthesis

Maximal Specification Synthesis Maximal Specification Synthesis Aws Albarghouthi University of Wisconsin Madison Isil Dillig University of Texas at Austin Arie Gurfinkel Carnegie Mellon University Abstract Many problems in program analysis,

More information

Logic Synthesis & Optimization Lectures 4, 5 Boolean Algebra - Basics

Logic Synthesis & Optimization Lectures 4, 5 Boolean Algebra - Basics Logic Synthesis & Optimization Lectures 4, 5 Boolean Algebra - Basics 1 Instructor: Priyank Kalla Department of Electrical and Computer Engineering University of Utah, Salt Lake City, UT 84112 Email: kalla@ece.utah.edu

More information