` ² Q E D I Nelson-Oppen review

Slides:



Advertisements
Similar presentations
Computer Science CPSC 322 Lecture 25 Top Down Proof Procedure (Ch 5.2.2)
Advertisements

Inference Rules Universal Instantiation Existential Generalization
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Automated Reasoning Systems For first order Predicate Logic.
Artificial Intelligence
Inference and Reasoning. Basic Idea Given a set of statements, does a new statement logically follow from this. For example If an animal has wings and.
We have seen that we can use Generalized Modus Ponens (GMP) combined with search to see if a fact is entailed from a Knowledge Base. Unfortunately, there.
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
13 Automated Reasoning 13.0 Introduction to Weak Methods in Theorem Proving 13.1 The General Problem Solver and Difference Tables 13.2 Resolution.
Methods of Proof Chapter 7, Part II. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound) generation.
Logic.
Artificial Intelligence Chapter 14. Resolution in the Propositional Calculus Artificial Intelligence Chapter 14. Resolution in the Propositional Calculus.
CSE (c) S. Tanimoto, 2008 Propositional Logic
Plan for today Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search.
What’s left in the course. The course in a nutshell Logics Techniques Applications.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
Proof-system search ( ` ) Interpretation search ( ² ) Main search strategy DPLL Backtracking Incremental SAT Natural deduction Sequents Resolution Main.
1 Automated Reasoning Introduction to Weak Methods in Theorem Proving 13.1The General Problem Solver and Difference Tables 13.2Resolution Theorem.
Inference and Resolution for Problem Solving
Methods of Proof Chapter 7, second half.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
Knoweldge Representation & Reasoning
Administrative stuff On Thursday, we will start class at 11:10, and finish at 11:55 This means that each project will get a 10 minute presentation + 5.
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
Natural deduction  ` A  ` B  ` A Æ B  ` A  ` A Æ B  ` B  ` B  ` A ) B  ` A  ` A ) B  ` B  ` A ÆIÆI ÆE1ÆE1 ÆE2ÆE2 Assume )I)I.
Review: forward E { P } { P && E } TF { P && ! E } { P 1 } { P 2 } { P 1 || P 2 } x = E { P } { \exists … }
Course announcement Software Reliability Methods –Spring 06, Tu Th 9:30am-11:00am –Instructors: Ingolf Krueger, Ranjit Jhala, Sorin Lerner Topics: –Model.
Artificial Intelligence
Review: forward E { P } { P && E } TF { P && ! E } { P 1 } { P 2 } { P 1 || P 2 } x = E { P } { \exists … }
Plan for the rest of the quarter TuesdayThursday Week 7ResolutionProof carrying code Week 8No class (Sorin in DC for workshop) Predicate abstraction (Mystery.
After today Week 9 –Tu: Pat Rondon –Th: Ravi/Nathan Week 10 –Tu: Nathan/Ravi –Th: Class canceled Finals week –Th: Zach, John.
Artificial Intelligence Chapter 14 Resolution in the Propositional Calculus Artificial Intelligence Chapter 14 Resolution in the Propositional Calculus.
Course eval results More applications Last question –Luging: 0.5 –Curling: 1.5 –Figure skating: 2 –Ice fishing: 6.5 –Foosball: 0.5.
Going back to techniques Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain.
Deciding a Combination of Theories - Decision Procedure - Changki pswlab Combination of Theories Daniel Kroening, Ofer Strichman Presented by Changki.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Inference is a process of building a proof of a sentence, or put it differently inference is an implementation of the entailment relation between sentences.
Proof Systems KB |- Q iff there is a sequence of wffs D1,..., Dn such that Dn is Q and for each Di in the sequence: a) either Di is in KB or b) Di can.
CSE 311: Foundations of Computing Fall 2013 Lecture 8: More Proofs.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
Logical Inference 2 rule based reasoning
Pattern-directed inference systems
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
CSE Winter 2008 Introduction to Program Verification January 31 proofs through simplification.
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Automated Reasoning Early AI explored how to automate several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Automated Reasoning Systems For first order Predicate Logic.
CS6133 Software Specification and Verification
Of 38 lecture 13: propositional logic – part II. of 38 propositional logic Gentzen system PROP_G design to be simple syntax and vocabulary the same as.
© Copyright 2008 STI INNSBRUCK Intelligent Systems Propositional Logic.
Inference in First Order Logic. Outline Reducing first order inference to propositional inference Unification Generalized Modus Ponens Forward and backward.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding Combined Theories.
1 Propositional Logic Limits The expressive power of propositional logic is limited. The assumption is that everything can be expressed by simple facts.
CSE 311: Foundations of Computing Fall 2013 Lecture 8: Proofs and Set theory.
CS357 Lecture 13: Symbolic model checking without BDDs Alex Aiken David Dill 1.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
CSE 311 Foundations of Computing I Lecture 8 Proofs Autumn 2012 CSE
Proof Methods for Propositional Logic CIS 391 – Intro to Artificial Intelligence.
Foundations of Discrete Mathematics Chapter 1 By Dr. Dalia M. Gil, Ph.D.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
Computer Systems Laboratory Stanford University Clark W. Barrett David L. Dill Aaron Stump A Framework for Cooperating Decision Procedures.
COMP 412, FALL Type Systems C OMP 412 Rice University Houston, Texas Fall 2000 Copyright 2000, Robert Cartwright, all rights reserved. Students.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
Resolution in the Propositional Calculus
Computer Security: Art and Science, 2nd Edition
Search techniques.
Presentation transcript:

` ² Q E D I Nelson-Oppen review xy = 0 Æ z = 0 Æ f(f(x) – f(z))  f(z) Æ f(f(y) – f(z))  f(z)

` ² Q E D I Nelson-Oppen review xy = 0 Æ z = 0 Æ f(f(x) – f(z))  f(z) Æ f(f(y) – f(z))  f(z)

Drawback of Nelson-Oppen ` ² Q E D I Drawback of Nelson-Oppen

Drawback of Nelson-Oppen ` ² Q E D I Drawback of Nelson-Oppen Theory must be convex, otherwise must backtrack Some large overheads: Each decision procedure must maintain its own equalities There are a quadratic number of equalities that can be propagated

` ² Q E D I Shostak’s approach Alternate approach to combining theories that addresses some of the performance drawbacks of Nelson-Oppen Published in 1984 in JACM, but the original formulation was later found to be flawed in several ways Long line of work to correct these mistakes Culminating in “Deconstructing Shostak” by Ruess and Shankar, which gives sound and complete version of Shostak Unpublished manuscript by Crocker from 1988 showing that Shostak is 10 times faster than Nelson-Oppen Recent paper by Barrett, Dill and Stump in 2002 shows that Shostak can be seen as a special case of Nelson-Oppen

` ² Q E D I Shostak’s approach Shostak is used in a variety of theorem provers, including PVS and SVC We will cover the intuition behind Shostak’s approach, but we won’t see the details

` ² Q E D I The key idea in Shostak Keep one congruence closure data-structure S for all theories Each individual decision procedure finds new equalities based on the ones that are already in S As individual decision procedures find equalities, add them to S

` ² Q E D I Adding equalities to S Straightforward to encode equalities over uninterpreted function symbols in S Since S is a congruence-closure data structure, since congruence closure was originally intended for exactly these kinds of equalities Interpreted functions symbols require more care For example, an equality y + 1 = x + 2 cannot be processed by simply putting y + 1 and x + 2 in the same equivalence class, since the original equality in fact entails a multitude of equalities, such as y = x + 1, y – 1 = x, y -2 = x -1, etc.

Impose two restrictions ` ² Q E D I Impose two restrictions Theories must be solvable: any set of equalities in the theory must have an equivalent solved form Equalities are in solved form if the left hand side of the equalities are only variables and the right-hand sides are expressions that don’t reference any of the left-hand side variables x + y = z + 3 x – y = 3z + 1

Impose two restrictions ` ² Q E D I Impose two restrictions Theories must be solvable: any set of equalities in the theory must have an equivalent solved form Equalities are in solved form if the left hand side of the equalities are only variables and the right-hand sides are expressions that don’t reference any of the left-hand side variables x + y = z + 3 x – y = 3z + 1

Impose two restrictions ` ² Q E D I Impose two restrictions Theories must be solvable: any set of equalities in the theory must have an equivalent solved form Equalities are in solved form if the left hand side of the equalities are only variables and the right-hand sides are expressions that don’t reference any of the left-hand side variables Will use this to substitute solved variables in all terms

Impose two restrictions ` ² Q E D I Impose two restrictions 2. Theory must be canonizable There is a canonizer function  such that if a = b, then (a) is syntactically equal to (b) Canonizer for linear arithmetic: transform terms into ordered monomials (a + 3c + 4b + 3 + 2a + 4) = 3a + 4b + 3c + 7 The intuition is that by canonizing all terms, we can then use syntactic equality to determine semantic equality

Putting it all together ` ² Q E D I Putting it all together f(x – 1) – 1 = x + 1 Æ f(y) + 1 = y – 1 Æ y + 1 =x

Putting it all together ` ² Q E D I Putting it all together f(x – 1) – 1 = x + 1 Æ f(y) + 1 = y – 1 Æ y + 1 =x

ACL2 decision procedures ` ² Q E D I ACL2 decision procedures ACL2 architecture Given a goal, ACL2 has a set of strategies it can apply For example: rewriting, simplification, induction Applying a strategy produces sub-goals from the given goal Each sub-goal needs to be proven recursively

Adding linear arithmetic ` ² Q E D I Adding linear arithmetic First attempt was to just use the decision procedures directly as a strategy Not found to be useful, because it was rarely the case that the goal would reduce to TRUE using linear arithmetic Rather, they found they needed to add linear arithmetic in the rewrite system A rewrite rule: A ) T1 = T2 To trigger, need to establish A They often needed linear arithmetic to establish A

Keep a linear arith DB A rewrite rule: A ) T1 = T2 ` ² Q E D I Keep a linear arith DB A rewrite rule: A ) T1 = T2 To establish A, add : A to the current database of linear equalities and inequalities If an inconsistency is reached, we know A holds We can perform the rewrite Remove : A from the database, and add A As in Simplify, the arith DB is used for matching heuristic to instantiate quantifiers

Decision procedures summary ` ² Q E D I Decision procedures summary Communication between decision procedures Nelson-Oppen (simplify), Shostak (PVS, SVC) Communication from heuristic prover to decision procedures assert formulas (most theorem provers) Communication from decision procedures to heuristic theorem prover yes/no answers (all theorem provers) terms to use for matching (Simplify, ACL2) proofs to prune search space (Verifun)

Proof-system search ( ` ) ² Q E D I So far Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspects Main search strategy Next E-graph Matching, skolemization Communication between decision procedures and between prover and decision procedures DPLL Backtracking Incremental SAT

The two statements  `   ²  Q E D I The two statements  `   ²  set of formulas one formula “entails, or models” “is provable from ” In all worlds where the formulas in  hold,  holds  is provable from assumptions  Semantic Syntactic

Link between ² and ` Soundness:  `  implies  ²  Q E D I Link between ² and ` Soundness:  `  implies  ²  Completeness:  ²  implies  `  Virtually all inference systems are sound Therefore, to establish  ²  , all one needs to do is find a derivation of  ` 

Goal: find a proof Need two things: These two are heavily intertwined ` ² Q E D I Goal: find a proof Need two things: A proof system A seach strategy These two are heavily intertwined Let’s start by looking at some proof systems

Hilbert-style systems ` ² Q E D I Hilbert-style systems Many axioms and usually just one inference rule, modus ponens Axiom (schemas) Inference rule X ) ( Y ) X) (X ) (Y ) Z)) ) ((X ) Y) ) (X ) Z)) F ) X X ) T : : X ) X X ) (: X ) Y) A A ) B MP B Coming up with a complete set of axiom schemas is not trivial

Example proof Show: P ) P ` ² Q E D I X ) ( Y ) X) (X ) (Y ) Z)) ) ((X ) Y) ) (X ) Z)) F ) X X ) T : : X ) X X ) (: X ) Y) A A ) B MP B Show: P ) P

Example proof Show: P ) P ` ² Q E D I Example proof X ) ( Y ) X) (X ) (Y ) Z)) ) ((X ) Y) ) (X ) Z)) F ) X X ) T : : X ) X X ) (: X ) Y) A A ) B MP B Show: P ) P Instantiate 2 with X being P, Y being P ) P, and Z being P: (P ) ((P) P) ) P)) ) ((P ) (P ) P)) ) (P ) P)) Instantiate 1, taking X to be P and Y to be P ) P: P ) ( (P) P) ) P) Instantiate 1 with X and Y to be P: P ) (P ) P)

Example proof Show: P ) P ` ² Q E D I Example proof X ) ( Y ) X) (X ) (Y ) Z)) ) ((X ) Y) ) (X ) Z)) F ) X X ) T : : X ) X X ) (: X ) Y) A A ) B MP B Show: P ) P Instantiate 2 with X being P, Y being P ) P, and Z being P: (P ) ((P) P) ) P)) ) ((P ) (P ) P)) ) (P ) P)) * Instantiate 1, taking X to be P and Y to be P ) P: P ) ( (P) P) ) P) ** Instantiate 1 with X and Y to be P: P ) (P ) P) *** Apply MP on * and **: (P ) (P ) P)) ) (P ) P) **** Apply MP on *** and ****: P ) P

Hilbert-style systems ` ² Q E D I Hilbert-style systems Does not mimic the way humans do proofs To prove A ) B in a Hilbert-style system, must find the right way instantiate axioms and then apply MP to get A ) B How does a human prove A ) B?

Hilbert-style systems ` ² Q E D I Hilbert-style systems Does not mimic the way humans do proofs To prove A ) B in a Hilbert-style system, must find the right way instantiate axioms and then apply MP to get A ) B How does a human prove A ) B? Assume A, and show B In this context, showing P ) P is very easy

` ² Q E D I Natural deduction The system of natural deduction was developed by Gentzen in 1935 out of dissatisfaction with Hilbert-style axiomatic systems, which did not closely mirror the way humans usually perform proofs Gentzen wanted to create a system that mimics the “natural” way in which humans think

Natural deduction rule for A ) B ` ² Q E D I Natural deduction rule for A ) B , A ` B  ` A ) B

Natural deduction rule for A ) B ` ² Q E D I Natural deduction rule for A ) B , A ` B )I  ` A ) B This is called an introduction rule, since it introduces the ) connective

Natural deduction rule for A ) B ` ² Q E D I Natural deduction rule for A ) B , A ` B )I  ` A ) B This is called an introduction rule, since it introduces the ) connective Each connective also has an elimination rule

Natural deduction rule for A ) B ` ² Q E D I Natural deduction rule for A ) B , A ` B  ` A  ` A ) B )I )E  ` A ) B  ` B This is called an introduction rule, since it introduces the ) connective Each connective also has an elimination rule

Natural deduction ` ² Q E D I  ` A Æ B ÆI ÆE  ` A Æ B  ` A Ç B ÇI

Natural deduction ` ² Q E D I  ` F FI FE  ` F  ` T TI TE  ` T

Natural deduction ` ² Q E D I Assume , A ` A  ` A  ` B  ` A Æ B , A ` C , B ` C  ` A Ç B ÇI1 ÇI2 ÇE  ` A Ç B  ` A Ç B  ` C , A ` B  ` A  ` A ) B )I )E  ` A ) B  ` B

` ² Q E D I Natural deduction , A ` F  ` : : A : I : E  ` : A  ` A  ` A  ` : A  ` F FI FE  ` F  ` A TI No T elmination  ` T Note: one can get rid of the FE without losing expressiveness. Can someone see why?

Once we have a proof system ` ² Q E D I Once we have a proof system Once we have a proof system, the goal is to devise a search algorithm to find a proof Search algorithm sound: proofs that it finds are correct Search algorithm complete: if there is a proof, the algorithm will find it These soundness and completeness properties relate the search algorithm to the proof system, and should not be confused with soundness and completeness of the proof system

Two main strategies Given a formula to prove: ` ² Q E D I Two main strategies Given a formula to prove: One can start from axioms and apply inference rules forward, until a derivation of the given formula is found One can start from the formula to prove (the goal) and apply inference rules backward to find sub-goals until all sub-goals are axioms The forward version is sometimes called forward chaining, the backward version backward chaining

` ² Q E D I Forward search Keep a knowledge base, which is the set of formulas that have been proved so far Given goal to prove: Start with empty knowledge base While goal not in knowledge base: Instantiate an axiom or an inference rule to deduce a new formula Add the new formula to the knowledge base If the goal is in the knowledge base, return VALID No need to backtrack

Forward search -- refutation ` ² Q E D I Forward search -- refutation Start with knowledge base being the negation of the goal While enlarging the knowledge base, if F becomes part of the knowledge, then return VALID

Backward search Given goal to prove: ` ² Q E D I Backward search Given goal to prove: If the goal is T then return VALID Otherwise: Let S be the set of inference rules that can be applied backward Pick some subset S’ of S that we want to consider For each inference rule in S’: Apply the inference rule backward on the goal to produce n sub-goals (axioms produce sub-goals of T) Run the search recursively on each sub-goal If all recursive calls return VALID, return VALID Return INVALID Note: This is a depth-first search. Can have other search orders, like breadth first, iterative deepening

` ² Q E D I Proofs One can easily adapt these algorithms to keep track of the proof tree, so that a proof can be produced if the goal is valid Contrast this with our backtracking search in the semantic domain, where generating a proof is not as simple On the other hand, what about when the proof fails? much easier to get counter-example in interpretation search than in proof-system search

` ² Q E D I Non-determinism Whatever the direction of the search, one of the biggest problems is that there are a lot of choices to make. This is called non-determinism. There may be many inference rules that are applicable Even for one rule, there may be multiple instantiations For example, applying Ç E backward requires one to determine A and B , A ` C , B ` C  ` A Ç B ÇE  ` C

Two kinds of non-determinism ` ² Q E D I Two kinds of non-determinism Don’t care non-determinism (also called conjunctive non-determinism) All choices will lead to a successful search, so we “don’t care” which one we take Only consideration for making the choice is efficiency Don’t know non-determinism (also called disjunctive non-determinism) Some of the choices will lead to a successful search, but we “don’t know” which one a priori In order to deal with this kind of non-determinism, try all choices using some traversal order (depth-first, breadth-first, iterative deepening

Next lecture We’ll see how to reduce non-determinism We’ll learn about tactics and tacticals, one of the important techniques used in proof system searches We’ll learn about some proof systems that are more suited for automated reasoning, like the sequent calculus and resolution