The Simplify Theorem Prover

Size: px
Start display at page:

Download "The Simplify Theorem Prover"

Transcription

1 The Simplify Theorem Prover Class Notes for Lecture No.8 by Mooly Sagiv Notes prepared by Daniel Deutch Introduction This lecture will present key aspects in the leading theorem proving systems existing today, with emphasis put on a system called Simplify, which is the proof engine used in the Extended Static Checkers ESC/Java and ESC/Modula-3. This system s basic approach is proof by refutation, where it tries to show the validity of a given formula by showing that its negation is unsatisfiable. This system is incomplete, in the sense that it might output that a formula is invalid where it is in fact valid. However, it is sound, so that every formula that the system approves its validity is guaranteed to be valid. We shall start with description of the basic search strategy for showing unsatisfiability of propositional formulas, discuss handling of formulas that consist of propositions of multiple theories, and then add quantifiers into the bowl. The lecture will conclude by analyzing the faults and merits of Simplify, and presenting alternative systems. Search Strategy [Source Simplify: A theorem Prover for Program Checking\Detlefs,Nelson,Saxe, We start with a simple propositional formula, with no quantifiers, and try to show its validity by considering its negation and showing it has no satisfying assignment. The algorithm uses a data structure called context, which holds the negated formula in conjunction with the assumptions used in each case, which will be used to find contradictions. The context is composed out of a set of literals, lits, representing the conjunction of all its elements and a set of clauses, cls, where a clause is a set of literals representing its disjunction. The set cls represent the conjunction of all its elements. We can thus see that the set cls correspond to a Conjunctive Normal Form if the literals, and indeed we shall use this set to build a CNF translation of the formula as the algorithm proceeds. A context also contains a boolean named refuted, set to true where the context is found to be inconsistent. Setting this boolean to be true actually means that the current search path had failed and a backtrack takes place. Following the SAT procedure is presented. This procedure outputs a set of monomes, i.e. a set of satisfying assignment describing all ways of satisfying the context. A monomer is a conjunction where all variables set true by the assignment appear in their positive form, and all variables set false by the assignment appear in their negative form.

2 The SAT procedure [Source Simplify: A theorem Prover for Program Checking\Detlefs,Nelson,Saxe, Signature: Input: Works on the globally defined context Output: A set of monomes such that: (1) Each monome is consistent (2) Each monome implies the context (3) The context implies the disjunction of all the monomes. (1) and (2) just imply that each monome found is a legal assignment and that is a satisfying assignment for the context. From (2) and (3) we get that the output is a Disjunctive Normal Form of the context. Moreover, soundness and completeness of the procedure is assured by (1),(2),(3). SAT uses a simple backtracking search that tries to extend the set of literals by including in it (which is equivalent to guessing it is true) one literal from each clause in the set of clauses. When a contradiction is found, backtracking takes place. A refinement procedure is used to remove useless clauses or literals a clause that has a literal implied by lits will never lead to contradiction and can be removed, and if it contains a literal such that its negation is implied by lits then this literal can be deleted from the clause (a clause is a disjunction, so this literal won t be helpful for either satisfiability or unsatisfiability. Example Consider the following formula in the context of Uninterpreted Functions theory: ~f = f(x)=f(b) ^ f(y)=f(a) ^(~(x=b) V ~(y=a)) The algorithm tries by guessing f(x)=f(b) is correct, then guessing f(y)=f(a) is correct, and then tries guessing ~(x=b) is correct. It now encounters a contradiction (with f(x)=f(b) along with the axioms of the Uninterpreted Functions Theory), and backtracks to trying ~(y=a). Again, a contradiction (this time with f(y)=f(a)), and thus no satisfying assignment exist ( so f, the original formula, is valid).

3 Handling multiple theories [Source Simplification By Cooperating Decision Procedures\Nelson,Oppen, 73&part=periodical&WantType=periodical&title=ACM%20Transactions%20on%20Pro gramming%20languages%20and%20systems%20(toplas)&cfid= &cfto KEN= ] So far we ve considered formulas over a single theory, e.g. the theory of Uniterperted functions in our example above. However, in real life programs variables have many different domains, and one would like to verify properties where these variables are used together. We are thus in search of a way to combine decision procedures of different theories into a single theory. Throughout this section, we still assume the formulas to be quantifier free. Basic idea We have in hand a formula f which we want to show is valid. The first stage is standard as always in proof by refutation, we transform it into ~f (NOT(f)), and try showing it has no satisfying assignment. However, it contains un-comparable expressions from different theories (Say 2 theories, apply repeatedly for more theories). So we separate the conjunctive formula into two formulas A and B, such that A^B, where A contains only terms from one theory, and B contains only terms from the other theory. Of course, a connection between the two formulas may appear in the original formula. So these formulas may have shared parts, but we can show that the decomposition can take place such that only constants are shared between A and B. Now use the theories decision procedure to decide satisfiability of A and B. If one of A or B is unsatisfiable, surely the entire formula is so as well. If both are satisfiable, we start reasoning about equalities, and propagate these equalities between the formulas, repeatedly. Examples of theories Arrays select(store(v,i,e),j)= if i=j then e else select(v,j) store(v,i,select(v,i))=v store(store(v,i,e),i,f)=store(v,i,f) i <>j -> store(store(v,i,e),j,f)=store(store(v,j,f),i,e) Lists car(cons(x,y))=x cdr(cons(x,y))=y

4 ~atom(x) -> cons(car(x),cdr(x))=x ~atom (cons(x,y )) All axioms are interpreted with a for all quantifier quantifying over all variables in the axioms. Algorithm(Nelson-Oppen method) 1. Decompose F into F1 and F2 so that F1 is a conjunction of literals from one theory, F2 is a conjunction of literals from the second theory,and the conjunction of F1 and F2 is satisfiable if and only if F is. 2.If either F1 or F2 is unsatisfiable, return unsatisfiable. 3.If either some equality between variables is a logical consequence of F1 or F2 but not of the other, then add the equality as a new conjunct to the one that does not entail it, and repeat step 2. 4.If either F1 or F2 entails a disjunction of equalities, without entailing any of the equalities alone, then try all options(add each equality as a conjunct and apply the procedure, repeat for all equalities). If any of these formulas are satisfiable,return satisfiable. Otherwise return unsatisfiable. Why is step 4 required? Convexity A formula F is non-convex iff F entails a disjunction of formulas (in our case equalities), but does not entail anyone of them alone. A simple arithmetic example for such formula is the formula x*y=0, which entails (x=0 V y=0) but we cannot know which one is true. For such formulas we need to check both cases (or in the general case, m cases), and this is called case split. A theory is convex iff every conjunctive formula in it is convex, meaning if it contains one or more non-convex conjunctive formulas, it is non-convex. The theory of uninterpreted functions and the theory of relational liner algebra are examples for convex theories. The theory of arrays, the theory of reals under multiplication and the theory of integers under + and <= are all examples of nonconvex theories. Decomposition Example 1. Let a symbol f be a function symbol of one theory, and let g be a function symbol of the second theory, and let the formula be {f(g(x)) = g(f(x))}. We repeatedly replace term with newly generated variables, Namely v1,v2,., as follows:

5 Replace g(x) by w1 {f(g(x)) = g(f(x)) ============= {w1=g(x), f(w1) = g(f(x)} Replace f(x) by w2 replace f(w1) by w3 ============= {w1=g(x),w2=f(x),f(w1)=g(w2)}============= replace g(w2) by w4 {w1=g(x),w2=f(x),w3=f(w1),w3=g(w2)} ============== {w1=g(x),w2=f(x),w3=f(w1),w4=g(w2),w3=w4} We can now decompose the set into two sets, one containing only f and the other containing only g : {w2=f(x),w3=f(w1),w3=w4}, {w1=g(x),w4=g(w2)} We then start to add equalities according to the closure (e.g. we can add w3=g(w2) etc.), however naturally we won t find a contradiction as none exist in this case. 2. F = {1 <= x, x <= 2, f(x) <> f(1), f(x) <> f(2)}. This is unsatisfiable over the theories of integers with inequalities combined with the theory of uninterperted functions, both with equalities. The first two literals imply x=1 or x=2, but the latter two imply that both are impossible, so a contradiction will be found in this case. We apply variables replacement to 1 and 2 to obtain: {w1 <= x, x<=w2, w1=1,w2=2},{f(x) <> f(w1), f(x)<>f(w2)} The set of shared variables is {x1, x2, w}. From the theory of uninterperted functions we can conclude x<>w1, x<>w2 through the axioms of uninterperted functions and congruent closure, as we saw in the previous lecture. But moving these two inequalities along with {w1<=x,x<=w2,w1=1,w2=2} we get {w1<=x, x <> w1, x<=w2, x <> w2, w1=1,w2=2} which is detected as unsatisfiable through congruent closure, this time with the inequalities axioms.

6 Algorithm Completeness [source: Combining Decision Procedures \Manna,Zarba ] Residues of a formula For every formula f, Res(f) is the strongest simple formula that f entails. Meaning, for every simple formula h entailed by f, then Res(f) entails h. Res(f) can be written such that its only variables are the free variables of f. The existence of such formula is guaranteed by Craig s Interpolation Lemma, as follows: If F entails G then there exists a mid -formula H such that f entails H and H entails G.. In our context, it s the strongest set of equalities between constants that can be entailed by a formula. In a sense, it is the most interesting thing we can deduce from the formula, and we would like to show that this set of equalities stays intact upon decomposition. In other words, we would like to say that for each two formulas A,B Res(A) ^ Res(B) = Res(A^B). However, this is true only under some assumptions, as follows. Stably infinite theory A theory T is stably-infinite if for every T-satisfiable, quantifier-free, formula f there exists a T-interpretation (model) A satisfying f such that the domain of A is infinite, i.e. A maps each variable, constant etc. into an infinite set. The theory with the axiom {(Ax x=1 V x=2)} is a simple example for a theory that is not stably infinite, as every interpretation can assign to x only 1 or 2. Conversely, the theories of integers, reals, lists and arrays are all stably-infinite. Correctness The Nelson-Oppen method is complete if the following three assumptions hold: 1. The formula must be quantifier-free 2. The signatures of the theories are disjoint(only constants are shared) 3. The theories must all be stably infinite. As stated before, we can consider only two theories. Combination Theorem Let Ti,i=1,2 be two disjoint theories as before, F1, F2 formulas over T1,T2 respectively. So F1 U F2 is satisfiable if and only if there exist two interpretations A,B such that :

7 1. A = B 2. x=y under A if and only if x=y under B for each pair of shared variables x,y. Proof (sketch) Define an isomorphism (a mapping that is one-to=one and onto) from the interpretation of A to the interpretation of B. h(x under A) = x under B. This mapping is guaranteed to be an isomorphism because of the two conditions above. We can now use this isomorphism to create a satisfying interpretation, as we interpret variables, constant and function symbols that are in the range of B by B itself, and those in the range of A by h^(b(s)), for each symbol S. Theorem Let Ti, i=1,2 be stably infinite theories; let F be a conjunctive formula in a separated form as above, and Fi be the part of F that resides in Ti. Then F is satisfiable if and only if there exists an equivalence relation E over the shared variables of the Fi formulas such that Fi along with the equivalences in E (which all range over shared variables, and specifically those of Fi),denote Fi U E, is Ti-satisfiable for i=1,2 Proof Let M be an interpretation satisfying F. We create a simple equivalence relation such that x=y iff both are equal under M. By construction it is clear that both Fi-s along with the new equivalence relation are satisfiable by the parts of M relevant to each. Vice versa, let E be an equivalence relation such that Fi U E is Ti-satisfiable. Since Ti is stably-infinite, there exists a T1-interpertation A satisfying F1 U E such that A is infinite(but countable), and a countable infinite T2-interpertation B satisfying F2 U E. A = B, and x=y under A if and only if x=y under B, so we have the existence of an interpretation satisfying F1 U F2=F, by applying the combination theorem. The fact that such combined interpretation exists still does not ensure that the algorithm will find it. But by properties of the congruent closure we can obtain that this equivalence relation will eventually be found. Handling quantifiers So far we ve handled only formulas with no quantifiers. Allowing quantifiers within the formula requires a different approach, as the satisfiability problem that was NPcomplete but decidable for the no quantifiers case, becomes undecidable, and naturally the Nelson-Oppen method does not apply to formulas with quantifiers.

8 Simplify uses an incomplete method that is not guaranteed to find a proof if such exist (Obviously we couldn t expect it to decide the problem, but there are systems, such as SPASS, that semi-decides it, i.e. that find a proof if such exist). However, it turns out that in many practical cases the matching technique used in Simplify to handle quantifiers. Basic idea A universally quantified formula Ax1 Axn P means that for every assignment to x1..xn, P holds. So if we have such formula in hand, we can instantiate its variables with any values and P will hold. So the algorithm heuristically chooses the most relevant substitution to the variables. An instance is relevant if it contains enough terms for which equalities are already known, with reasonable hope that such instance that has an information on an equivalence class already generated, contains more entropy than an instance baring a piece of information on terms we know nothing about. A simple example states that if we already know that a=b, and now know that b=c we can also deduce that a=c, where from c=d we can t obtain any new equalities. A simple implementation of this idea is obtained by choosing a single term from P, called the trigger and denoted t. For each substitution S, it is considered relevant if S(t) appears in the equalities already known. Choosing a good trigger is crucial for the algorithm success. A good trigger will enable further equations, and thus extending the congruence graph and allowing the proof to continue. A bad trigger might fail to create further instances, or, in a more severe case, cause a matching loop, where extensions to the congruence graph keep occurring in an unbounded manner. We shall now see examples for the three kinds of triggers. Example Consider the formula AxAyAz (x+y)*z=x*z+y*z We can choose the trigger to be x+y. Now say that we have some prior knowledge on equalities containing a+b.i.e it appears in the congruence graph. So we ll find it and generate the new information regarding it, by adding a new * node to the congruence graph if it doesn t already appear. A more restrictive trigger would try to match the entire term (x+y)*z. The quality of these both triggers depends on what we are trying to prove. If we are trying to prove a+b=b+a, then the restrictive trigger will fail to produce any new instance. However if we are trying to prove (a+b)*c=a*b+a*c, then the restrictive trigger is excellent as it immediately leads to the proof. A trigger with another bad impact is a trigger that generates a matching loop. A matching loop occurs when applying one matching leads to a new instance of another matching and so on. An example to this case can be found in

9 Matching Loop Example Assume Ax f(x)= f(g(x)), and choose f(x) as trigger. Now assume we have in hand f(g(a)) = a from previous knowledge. We instantiate the trigger in the only way possible, by x=g(a), and now have {f(g(a)) = a, f(g(a)) = f(g(g(a)),a=f(g(g(a))}(the first known, the second by directly by instantiation, the third as a closure of the first two), so we now choose x=g(g(a)), and add f(g(g(g(a))) to the congruence, etc. This process constitutes a never-terminating loop. Matching loops can be reduced in numbers by heuristics for choosing good triggers, or by asking the user to supply one. However matching loops are not avoided, and Simplify tries to track them when they do occur, so that it will at least give an alert in such a case. Triggers as sets There are rules that cannot be instantiated by choosing a single trigger. AxAyAz x=3 ^ y=4 ^ z=x*y -> z=12 will lead to nothing if we only choose x=3, so we are allowed (and sometimes must) to use a set of items as triggers. Faults and merits of Simplify Faults 1. The system is incomplete for quantified formulas, and may fail for some interesting properties of real-life programs that tend to be complicated. 2. The triggers mechanism may require human interference in order to work well. 3. The mechanism for deciding formulas without quantifiers is not state-of-the-art, there exist better, i.e. much faster algorithms for SAT. Merits 1. In terms of efficiency, in practice, the system performs well, verifying large formulas efficiently. 2. In practice and for simple programs, the system succeeds in verifying formulas without getting into a loop, so the incompleteness does not affect these cases. 3. The system is almost fully automatic (apart for the possible human selection of triggers; however the automatic selection may be sufficient), as oppose to other systems that require major human help in the process.

10 Other Systems Verifun [Source: Lecture notes by Rajeev Joshi, As mentioned above, one of the main problems with Simplify is the fact that it uses obsolete SAT solving mechanism, causing a performance problem. The idea of Verifun is using fast SAT solvers that supply candidate truth assignments for the atomic formulas, along with proof-supplying modules. These modules are theoryspecific, and can supply the reason for which an assignment failed to satify the formula. Using these reasons, we can now disqualify, at once, a whole set of assignments containing the same inconsistencies. Naturally, we need a theory-specific module that can produce such reasons ( proof explicating theory modules ). Again, we shall start with quantifier-free formulas and then introduce quantifiers to the formula. Proof Explication Example (Note that <= stands for less or equal, and -> stands for the logic connective of entailment. Start with the formula (a=b) ^ ((f(a) <> f(b) V (b=c) ) ^ f(a) <> f(c) Give each term a new name to create p ^ (q V r) ^ s. Feed this formula to the SAT solver, to receive a truth assignment: Say p,q,~r,s. Feed these set of literals (with their original meanings) to an Equality Decision Procedure: (a=b),f(a) <> f(b),b<>c,f(a) <>f(c)) It finds an inconsistency. Caused by the fact (a=b) -> f(a) = f(b). This is mapped into p -> ~q. So we add this term to the formula, and now try to satisfy p ^ (q V r) ^ s ^ p ->~q. Note that this way we have disqualified many truth assignments(namely every assignment setting both p and q to be true). The SAT solver may then suggest p,~q,r,s as an assignment. This is inconsistent as a=b ^ b=c -> f(a) = f(c). So p^r -> ~s is added to the formula, and now the formula is found to be undecidable by the SAT solver.

11 Note that this algorithm learns, at each stage, important new information, according to the assignment it already tried. This heuristic seems to be fruitful. Handling quantifiers As in Simplify, when considering quantifiers we might not find inconsistencies in the simple way described above. Rather, we must materialize the quantified variables to create a new piece of information which will hopefully lead to inconsistency. Example Ax Ay ((y < x) -> ~(f(x) < f(y))) 3 > b a > 4 f(a) < f(b) Any assignment that set b to be smaller than 3 and a to be larger than 4 is consistent. To find inconsistency we must materialize the quantified formulas with x=a, y=b, and thus we add a new tautology: Ax Ay ((x > y) -> f(x) > f(y)) 3 > b a > 4 f(a) < f(b) (b<a) -> ~(f(a) < f(b)) Say we now choose an assignment that set (a>4), (b < 3), ~(b<a) are true. The proof explicator finds a contradiction and we add a new rule (a>4), (b < 3) -> ~~(b<a), i.e. (a>4), (b < 3) -> (b<a) It is now easy to see that no satisfying assignment exist, hence a contradiction was found. ZAP [Source: Zap: Automated Theorem Proving for Software Analysis \Thomas Ball, Shuvendu Lahiri, Madanlal Musuvathi, 1] ZAP is a theorem proving system developed at Microsoft Research. The system uses state-of-the-art algorithms for SAT solving as its search procedure, and Nelson & Oppen method to combine theories, and quantifier matching in a way similar to the

12 one presented above. Its main target is to provide a richer set of operations specific for program analysis, thus serving as a more convenient interface for verifying software properties. Thus, the emphasis is put on developing new and theory-specific decision procedures.

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

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

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

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

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

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

A two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover

A two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover A two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover K. Rustan M. Leino 0, Madan Musuvathi 0, and Xinming Ou 1 0 Microsoft Research, Redmond, WA, USA {leino,madanm@microsoft.com

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

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

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

6. Logical Inference

6. Logical Inference Artificial Intelligence 6. Logical Inference Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder University of Zagreb Faculty of Electrical Engineering and Computing Academic Year 2016/2017 Creative Commons

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

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

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester)

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) First-Order Theorem Proving and Vampire Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) Outline Introduction First-Order Logic and TPTP Inference Systems

More information

First-Order Theorem Proving and Vampire

First-Order Theorem Proving and Vampire First-Order Theorem Proving and Vampire Laura Kovács 1,2 and Martin Suda 2 1 TU Wien 2 Chalmers Outline Introduction First-Order Logic and TPTP Inference Systems Saturation Algorithms Redundancy Elimination

More information

Theory Combination. Clark Barrett. New York University. CS357, Stanford University, Nov 2, p. 1/24

Theory Combination. Clark Barrett. New York University. CS357, Stanford University, Nov 2, p. 1/24 CS357, Stanford University, Nov 2, 2015. p. 1/24 Theory Combination Clark Barrett barrett@cs.nyu.edu New York University CS357, Stanford University, Nov 2, 2015. p. 2/24 Combining Theory Solvers Given

More information

Equalities and Uninterpreted Functions. Chapter 3. Decision Procedures. An Algorithmic Point of View. Revision 1.0

Equalities and Uninterpreted Functions. Chapter 3. Decision Procedures. An Algorithmic Point of View. Revision 1.0 Equalities and Uninterpreted Functions Chapter 3 Decision Procedures An Algorithmic Point of View D.Kroening O.Strichman Revision 1.0 Outline Decision Procedures Equalities and Uninterpreted Functions

More information

Combining Decision Procedures

Combining Decision Procedures Combining Decision Procedures Ashish Tiwari tiwari@csl.sri.com http://www.csl.sri.com/. Computer Science Laboratory SRI International 333 Ravenswood Menlo Park, CA 94025 Combining Decision Procedures (p.1

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

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

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

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

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

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

Propositional Reasoning

Propositional Reasoning Propositional Reasoning CS 440 / ECE 448 Introduction to Artificial Intelligence Instructor: Eyal Amir Grad TAs: Wen Pu, Yonatan Bisk Undergrad TAs: Sam Johnson, Nikhil Johri Spring 2010 Intro to AI (CS

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

Essential facts about NP-completeness:

Essential facts about NP-completeness: CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions

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

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

Description Logics. Deduction in Propositional Logic. franconi. Enrico Franconi

Description Logics. Deduction in Propositional Logic.   franconi. Enrico Franconi (1/20) Description Logics Deduction in Propositional Logic Enrico Franconi franconi@cs.man.ac.uk http://www.cs.man.ac.uk/ franconi Department of Computer Science, University of Manchester (2/20) Decision

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

Propositional Resolution

Propositional Resolution Artificial Intelligence Propositional Resolution Marco Piastra Propositional Resolution 1] Deductive systems and automation Is problem decidible? A deductive system a la Hilbert (i.e. derivation using

More information

NP-Complete Reductions 2

NP-Complete Reductions 2 x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 CS 447 11 13 21 23 31 33 Algorithms NP-Complete Reductions 2 Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline NP-Complete

More information

A two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover

A two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover A two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover K. Rustan M. Leino 0, Madan Musuvathi 0, and Xinming Ou 1 0 Microsoft Research, Redmond, WA, USA {leino,madanm}@microsoft.com

More information

SAT Solvers: Theory and Practice

SAT Solvers: Theory and Practice Summer School on Verification Technology, Systems & Applications, September 17, 2008 p. 1/98 SAT Solvers: Theory and Practice Clark Barrett barrett@cs.nyu.edu New York University Summer School on Verification

More information

LOGIC PROPOSITIONAL REASONING

LOGIC PROPOSITIONAL REASONING LOGIC PROPOSITIONAL REASONING 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 Linz Version 2018.1

More information

Propositional Logic: Evaluating the Formulas

Propositional Logic: Evaluating the Formulas Institute for Formal Models and Verification Johannes Kepler University Linz VL Logik (LVA-Nr. 342208) Winter Semester 2015/2016 Propositional Logic: Evaluating the Formulas Version 2015.2 Armin Biere

More information

An Introduction to Satisfiability Modulo Theories

An Introduction to Satisfiability Modulo Theories ICCAD 2009 Tutorial p. 1/78 An Introduction to Satisfiability Modulo Theories Clark Barrett and Sanjit Seshia ICCAD 2009 Tutorial p. 2/78 Roadmap Theory Solvers Examples of Theory Solvers Combining Theory

More information

Comp487/587 - Boolean Formulas

Comp487/587 - Boolean Formulas Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested

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

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

Propositional Logic: Models and Proofs

Propositional Logic: Models and Proofs Propositional Logic: Models and Proofs C. R. Ramakrishnan CSE 505 1 Syntax 2 Model Theory 3 Proof Theory and Resolution Compiled at 11:51 on 2016/11/02 Computing with Logic Propositional Logic CSE 505

More information

Warm-Up Problem. Is the following true or false? 1/35

Warm-Up Problem. Is the following true or false? 1/35 Warm-Up Problem Is the following true or false? 1/35 Propositional Logic: Resolution Carmen Bruni Lecture 6 Based on work by J Buss, A Gao, L Kari, A Lubiw, B Bonakdarpour, D Maftuleac, C Roberts, R Trefler,

More information

Chapter 7 Propositional Satisfiability Techniques

Chapter 7 Propositional Satisfiability Techniques Lecture slides for Automated Planning: Theory and Practice Chapter 7 Propositional Satisfiability Techniques Dana S. Nau CMSC 722, AI Planning University of Maryland, Spring 2008 1 Motivation Propositional

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

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

PROPOSITIONAL LOGIC. VL Logik: WS 2018/19

PROPOSITIONAL LOGIC. VL Logik: WS 2018/19 PROPOSITIONAL LOGIC VL Logik: WS 2018/19 (Version 2018.2) Martina Seidl (martina.seidl@jku.at), Armin Biere (biere@jku.at) Institut für Formale Modelle und Verifikation BOX Game: Rules 1. The game board

More information

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30) Computational Logic Davide Martinenghi Free University of Bozen-Bolzano Spring 2010 Computational Logic Davide Martinenghi (1/30) Propositional Logic - sequent calculus To overcome the problems of natural

More information

KE/Tableaux. What is it for?

KE/Tableaux. What is it for? CS3UR: utomated Reasoning 2002 The term Tableaux refers to a family of deduction methods for different logics. We start by introducing one of them: non-free-variable KE for classical FOL What is it for?

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

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

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

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

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

Logic and Inferences

Logic and Inferences Artificial Intelligence Logic and Inferences Readings: Chapter 7 of Russell & Norvig. Artificial Intelligence p.1/34 Components of Propositional Logic Logic constants: True (1), and False (0) Propositional

More information

SMT: Satisfiability Modulo Theories

SMT: Satisfiability Modulo Theories SMT: Satisfiability Modulo Theories Ranjit Jhala, UC San Diego April 9, 2013 Decision Procedures Last Time Propositional Logic Today 1. Combining SAT and Theory Solvers 2. Theory Solvers Theory of Equality

More information

First-Order Logic. 1 Syntax. Domain of Discourse. FO Vocabulary. Terms

First-Order Logic. 1 Syntax. Domain of Discourse. FO Vocabulary. Terms First-Order Logic 1 Syntax Domain of Discourse The domain of discourse for first order logic is FO structures or models. A FO structure contains Relations Functions Constants (functions of arity 0) FO

More information

Chapter 7 Propositional Satisfiability Techniques

Chapter 7 Propositional Satisfiability Techniques Lecture slides for Automated Planning: Theory and Practice Chapter 7 Propositional Satisfiability Techniques Dana S. Nau University of Maryland 12:58 PM February 15, 2012 1 Motivation Propositional satisfiability:

More information

Combined Satisfiability Modulo Parametric Theories

Combined Satisfiability Modulo Parametric Theories Intel 07 p.1/39 Combined Satisfiability Modulo Parametric Theories Sava Krstić*, Amit Goel*, Jim Grundy*, and Cesare Tinelli** *Strategic CAD Labs, Intel **The University of Iowa Intel 07 p.2/39 This Talk

More information

Propositional Logic: Methods of Proof. Chapter 7, Part II

Propositional Logic: Methods of Proof. Chapter 7, Part II Propositional Logic: Methods of Proof Chapter 7, Part II Inference in Formal Symbol Systems: Ontology, Representation, ti Inference Formal Symbol Systems Symbols correspond to things/ideas in the world

More information

7. Propositional Logic. Wolfram Burgard and Bernhard Nebel

7. Propositional Logic. Wolfram Burgard and Bernhard Nebel Foundations of AI 7. Propositional Logic Rational Thinking, Logic, Resolution Wolfram Burgard and Bernhard Nebel Contents Agents that think rationally The wumpus world Propositional logic: syntax and semantics

More information

Introduction to Artificial Intelligence Propositional Logic & SAT Solving. UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010

Introduction to Artificial Intelligence Propositional Logic & SAT Solving. UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010 Introduction to Artificial Intelligence Propositional Logic & SAT Solving UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010 Today Representation in Propositional Logic Semantics & Deduction

More information

Artificial Intelligence Chapter 7: Logical Agents

Artificial Intelligence Chapter 7: Logical Agents Artificial Intelligence Chapter 7: Logical Agents Michael Scherger Department of Computer Science Kent State University February 20, 2006 AI: Chapter 7: Logical Agents 1 Contents Knowledge Based Agents

More information

Heuristics for Efficient SAT Solving. As implemented in GRASP, Chaff and GSAT.

Heuristics for Efficient SAT Solving. As implemented in GRASP, Chaff and GSAT. Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT. Formulation of famous problems as SAT: k-coloring (1/2) The K-Coloring problem: Given an undirected graph G(V,E) and a natural

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

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

NP Complete Problems. COMP 215 Lecture 20

NP Complete Problems. COMP 215 Lecture 20 NP Complete Problems COMP 215 Lecture 20 Complexity Theory Complexity theory is a research area unto itself. The central project is classifying problems as either tractable or intractable. Tractable Worst

More information

Zap: Automated Theorem Proving for Software Analysis

Zap: Automated Theorem Proving for Software Analysis Zap: Automated Theorem Proving for Software Analysis Thomas Ball Shuvendu K. Lahiri Madanlal Musuvathi October 8, 2005 Technical Report MSR-TR-2005-137 Microsoft Research Microsoft Corporation One Microsoft

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

Learning Goals of CS245 Logic and Computation

Learning Goals of CS245 Logic and Computation Learning Goals of CS245 Logic and Computation Alice Gao April 27, 2018 Contents 1 Propositional Logic 2 2 Predicate Logic 4 3 Program Verification 6 4 Undecidability 7 1 1 Propositional Logic Introduction

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

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

ALGEBRA. 1. Some elementary number theory 1.1. Primes and divisibility. We denote the collection of integers

ALGEBRA. 1. Some elementary number theory 1.1. Primes and divisibility. We denote the collection of integers ALGEBRA CHRISTIAN REMLING 1. Some elementary number theory 1.1. Primes and divisibility. We denote the collection of integers by Z = {..., 2, 1, 0, 1,...}. Given a, b Z, we write a b if b = ac for some

More information

Introduction to Metalogic

Introduction to Metalogic Philosophy 135 Spring 2008 Tony Martin Introduction to Metalogic 1 The semantics of sentential logic. The language L of sentential logic. Symbols of L: Remarks: (i) sentence letters p 0, p 1, p 2,... (ii)

More information

Part 1: Propositional Logic

Part 1: Propositional Logic Part 1: Propositional Logic Literature (also for first-order logic) Schöning: Logik für Informatiker, Spektrum Fitting: First-Order Logic and Automated Theorem Proving, Springer 1 Last time 1.1 Syntax

More information

Deductive Systems. Lecture - 3

Deductive Systems. Lecture - 3 Deductive Systems Lecture - 3 Axiomatic System Axiomatic System (AS) for PL AS is based on the set of only three axioms and one rule of deduction. It is minimal in structure but as powerful as the truth

More information

Seminaar Abstrakte Wiskunde Seminar in Abstract Mathematics Lecture notes in progress (27 March 2010)

Seminaar Abstrakte Wiskunde Seminar in Abstract Mathematics Lecture notes in progress (27 March 2010) http://math.sun.ac.za/amsc/sam Seminaar Abstrakte Wiskunde Seminar in Abstract Mathematics 2009-2010 Lecture notes in progress (27 March 2010) Contents 2009 Semester I: Elements 5 1. Cartesian product

More information

COMP9414: Artificial Intelligence Propositional Logic: Automated Reasoning

COMP9414: Artificial Intelligence Propositional Logic: Automated Reasoning COMP9414, Monday 26 March, 2012 Propositional Logic 2 COMP9414: Artificial Intelligence Propositional Logic: Automated Reasoning Overview Proof systems (including soundness and completeness) Normal Forms

More information

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 8: Procedures for First-Order Theories, Part 2

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 8: Procedures for First-Order Theories, Part 2 Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 8: Procedures for First-Order Theories, Part 2 Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson Theory Procedures

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

Efficient E-matching for SMT Solvers. Leonardo de Moura, Nikolaj Bjørner Microsoft Research, Redmond

Efficient E-matching for SMT Solvers. Leonardo de Moura, Nikolaj Bjørner Microsoft Research, Redmond Efficient E-matching for SMT Solvers Leonardo de Moura, Nikolaj Bjørner Microsoft Research, Redmond The Z3tting Z3 is an inference engine tailored towards formulas arising from program verification tools

More information

CS 730/730W/830: Intro AI

CS 730/730W/830: Intro AI CS 730/730W/830: Intro AI 1 handout: slides 730W journal entries were due Wheeler Ruml (UNH) Lecture 9, CS 730 1 / 16 Logic First-Order Logic The Joy of Power Wheeler Ruml (UNH) Lecture 9, CS 730 2 / 16

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

Deciding Presburger Arithmetic

Deciding Presburger Arithmetic Deciding Presburger Arithmetic Michael Norrish Michael.Norrish@nicta.com.au National ICT Australia Michael Norrish (National ICT Australia) LSS2006: Presburger Arithmetic 1 / 62 Outline 1 Introduction

More information

MATH 115, SUMMER 2012 LECTURE 12

MATH 115, SUMMER 2012 LECTURE 12 MATH 115, SUMMER 2012 LECTURE 12 JAMES MCIVOR - last time - we used hensel s lemma to go from roots of polynomial equations mod p to roots mod p 2, mod p 3, etc. - from there we can use CRT to construct

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

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

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

a > 3, (a = b a = b + 1), f(a) = 0, f(b) = 1

a > 3, (a = b a = b + 1), f(a) = 0, f(b) = 1 Yeting Ge New York University Leonardo de Moura Microsoft Research a > 3, (a = b a = b + 1), f(a) = 0, f(b) = 1 Dynamic symbolic execution (DART) Extended static checking Test-case generation Bounded model

More information

Lecture Notes 1 Basic Concepts of Mathematics MATH 352

Lecture Notes 1 Basic Concepts of Mathematics MATH 352 Lecture Notes 1 Basic Concepts of Mathematics MATH 352 Ivan Avramidi New Mexico Institute of Mining and Technology Socorro, NM 87801 June 3, 2004 Author: Ivan Avramidi; File: absmath.tex; Date: June 11,

More information

Interactive Theorem Proving in Industry

Interactive Theorem Proving in Industry 1 Interactive Theorem Proving in Industry John Harrison Intel Corporation 16 April 2012 2 Milner on automation and interaction I wrote an automatic theorem prover in Swansea for myself and became shattered

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Joschka Boedecker and Wolfram Burgard and Bernhard Nebel Albert-Ludwigs-Universität Freiburg May 17, 2016

More information

Validating QBF Invalidity in HOL4

Validating QBF Invalidity in HOL4 Interactive Theorem Proving (ITP) 14 July, 2010 Quantified Boolean Formulae Quantified Boolean Formulae Motivation System Overview Related Work QBF = propositional logic + quantifiers over Boolean variables

More information

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/ Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/17wi/ Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review of

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

An Interpolating Theorem Prover

An Interpolating Theorem Prover An Interpolating Theorem Prover K.L. McMillan Cadence Berkeley Labs Abstract. We present a method of deriving Craig interpolants from proofs in the quantifier-free theory of linear inequality and uninterpreted

More information

One-to-one functions and onto functions

One-to-one functions and onto functions MA 3362 Lecture 7 - One-to-one and Onto Wednesday, October 22, 2008. Objectives: Formalize definitions of one-to-one and onto One-to-one functions and onto functions At the level of set theory, there are

More information

Proofs: A General How To II. Rules of Inference. Rules of Inference Modus Ponens. Rules of Inference Addition. Rules of Inference Conjunction

Proofs: A General How To II. Rules of Inference. Rules of Inference Modus Ponens. Rules of Inference Addition. Rules of Inference Conjunction Introduction I Proofs Computer Science & Engineering 235 Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu A proof is a proof. What kind of a proof? It s a proof. A proof is a proof. And when

More information

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/14au/ Course Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review

More information

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 7: Procedures for First-Order Theories, Part 1

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 7: Procedures for First-Order Theories, Part 1 Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 7: Procedures for First-Order Theories, Part 1 Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson Theory Procedures

More information