Search techniques.

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

Completeness and Expressiveness
Some important properties Lectures of Prof. Doron Peled, Bar Ilan University.
PROOF BY CONTRADICTION
Techniques for Proving the Completeness of a Proof System Hongseok Yang Seoul National University Cristiano Calcagno Imperial College.
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Logic in general Logics are formal languages for representing information such that conclusions can be drawn Syntax defines the sentences in the language.
What’s left in the course. The course in a nutshell Logics Techniques Applications.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
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.
Review: forward E { P } { P && E } TF { P && ! E } { P 1 } { P 2 } { P 1 || P 2 } x = E { P } { \exists … }
Review: forward E { P } { P && E } TF { P && ! E } { P 1 } { P 2 } { P 1 || P 2 } x = E { P } { \exists … }
EE1J2 - Slide 1 EE1J2 – Discrete Maths Lecture 6 Limitations of propositional logic Introduction to predicate logic Symbols, terms and formulae, Parse.
1 First order theories. 2 Satisfiability The classic SAT problem: given a propositional formula , is  satisfiable ? Example:  Let x 1,x 2 be propositional.
Predicates and Quantifiers
Theoretical basis of GUHA Definition 1. A (simplified) observational predicate language L n consists of (i) (unary) predicates P 1,…,P n, and an infinite.
MATH 224 – Discrete Mathematics
CSE 311: Foundations of Computing Fall 2013 Lecture 8: More Proofs.
CSE 311 Foundations of Computing I Lecture 8 Proofs and Set Theory Spring
Chapter 1, Part II: Predicate Logic With Question/Answer Animations.
Logical Agents Chapter 7. Outline Knowledge-based agents Logic in general Propositional (Boolean) logic Equivalence, validity, satisfiability.
1 Introduction to Abstract Mathematics Chapter 2: The Logic of Quantified Statements. Predicate Calculus Instructor: Hayk Melikya 2.3.
CS6133 Software Specification and Verification
CSE 311 Foundations of Computing I Lecture 9 Proofs and Set Theory Autumn 2012 CSE
Chapter 2 Symbolic Logic. Section 2-1 Truth, Equivalence and Implication.
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.
First-Order Logic Semantics Reading: Chapter 8, , FOL Syntax and Semantics read: FOL Knowledge Engineering read: FOL.
Propositional Logic Rather than jumping right into FOL, we begin with propositional logic A logic involves: §Language (with a syntax) §Semantics §Proof.
Instructor: Eyal Amir Grad TAs: Wen Pu, Yonatan Bisk Undergrad TAs: Sam Johnson, Nikhil Johri CS 440 / ECE 448 Introduction to Artificial Intelligence.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
Section 1.5 and 1.6 Predicates and Quantifiers. Vocabulary Predicate Domain Universal Quantifier Existential Quantifier Counterexample Free variable Bound.
1 Chapter 2.1 Chapter 2.2 Chapter 2.3 Chapter 2.4 All images are copyrighted to their respective copyright holders and reproduced here for academic purposes.
CSE 311 Foundations of Computing I Lecture 8 Proofs Autumn 2011 CSE 3111.
CSE 311 Foundations of Computing I Lecture 8 Proofs Autumn 2012 CSE
Lecture 041 Predicate Calculus Learning outcomes Students are able to: 1. Evaluate predicate 2. Translate predicate into human language and vice versa.
Section 1.4. Propositional Functions Propositional functions become propositions (and have truth values) when their variables are each replaced by a value.
Metalogic Soundness and Completeness. Two Notions of Logical Consequence Validity: If the premises are true, then the conclusion must be true. Provability:
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
Computing & Information Sciences Kansas State University Monday, 18 Sep 2006CIS 490 / 730: Artificial Intelligence Lecture 11 of 42 Monday, 18 September.
Logical Agents. Inference : Example 1 How many variables? 3 variables A,B,C How many models? 2 3 = 8 models.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
Lecture 11: Proof by Reflection
Chapter 7. Propositional and Predicate Logic
CSE 311 Foundations of Computing I
Advanced Algorithms Analysis and Design
Computer Science cpsc322, Lecture 20
Propositional Calculus: Boolean Functions and Expressions
Advanced Algorithms Analysis and Design
Great Theoretical Ideas in Computer Science
Semantics In propositional logic, we associate atoms with propositions about the world. We specify the semantics of our logic, giving it a “meaning”. Such.
CSE 311 Foundations of Computing I
CSE 311: Foundations of Computing
CS 220: Discrete Structures and their Applications
MA/CSSE 474 More Math Review Theory of Computation
Computer Security: Art and Science, 2nd Edition
Negations of quantifiers
Logic: Domain Modeling /Proofs + Computer Science cpsc322, Lecture 22
Chapter 7. Propositional and Predicate Logic
Computer Science cpsc322, Lecture 20
Predicates and Quantifiers
Bottom Up: Soundness and Completeness
Bottom Up: Soundness and Completeness
This Lecture Substitution model
Advanced Analysis of Algorithms
Lecture Notes for SWE 623 by Duminda Wijesekera
Mathematical Induction
Representations & Reasoning Systems (RRS) (2.2)
Bottom Up: Soundness and Completeness
Presentation transcript:

Search techniques

Cross-cutting aspects The map Logics Techniques Main search strategy Cross-cutting aspects Classical Non- classical lecture 2, 3, 4 later in quarter Today we start techniques Applications Rhodium ESC/Java lecture 5,6 Predicate abstraction lecture 7,8 PCC later in quarter

Techniques in more detail Main search strategy Cross-cutting aspects

Techniques in more detail Main search strategy Cross-cutting aspects

Techniques in more detail Main search strategy Theorem proving is all about searching Categorization based on the search domain: interpretation domain proof-system domain Proof-system search ( ` ) Interpretation search ( ² )

Techniques in more detail Equality... common predicate symbol Quantifiers... need good heuristics Induction... for proving properties of recursive structures Decision procedures... useful for decidable subsets of the logic Cross-cutting aspects Equality Induction Quantifiers Decision procedures

Techniques in more detail ` ² Q E D I Techniques in more detail Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspects Main search strategy

Searching At the core of theorem proving is a search problem ` ² Q E D I Searching At the core of theorem proving is a search problem In this course, we will categorize the core search algorithms based on what they search over proof domain: search in the proof space, to find a proof semantic domain: search in the “interpretation” domain, to make sure that there is no way of making the formula false Before we dive in, let’s go back to some basic logic

Logics Suppose we have some logic for example, propositional logic ` ² Q E D I Logics Suppose we have some logic for example, propositional logic or first-order logic

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

` ² Q E D I Interpretations Intuitively, an interpretation I represents the “world” in which you evaluate a formula Provides the necessary information to evaluate formulas The structure of I depends on the logic Interpretations are also sometimes called models

Interpretations in PROP ` ² Q E D I Interpretations in PROP Given a formula A Æ B , what do we need to evaluate it? We need to know the truth values of A and B In general, we need to know the truth values of all propositional variables in the formula Note that the logical connectives are built in, we don’t have to say what Æ means

Interpretations in FOL ` ² Q E D I Interpretations in FOL Given a formula: 8 x. P(f(x)) ) P(g(x)), what do we need to know to evaluate it? We need to know how the function symbol f and predicate symbol P operate In general, need to know how all function symbols and predicate symbols operate Here again, logical connectives are built-in, so we don’t have to say how ) operates.

` ² Q E D I More formally, for PROP An interpretation I for propositional logic is a map (function) from variables to booleans So, for a variable A, I (A) is the truth value of A

` ² Q E D I More formally, for FOL An interpretation for first-order logic is a quadruple (D, Var, Fun, Pred) D is a set of objects in the world Var is a map from variables to elements of D So Var(x) is the object that variable x represents

` ² Q E D I More formally, for FOL Fun is a map from function symbols to math functions Fun(f) is the math function that the name f represents For example, in the interpretation of LEQ(Plus(4,5), 10), we could have D is the set of integers Fun(4) = 4 , Fun(5) = 5 , Fun(10) = 10 , Fun(Plus) = + But, we could also have Fun(Plus) = - If f is an n-ary function symbol, then Fun(f) has type D n ! D

` ² Q E D I More formally, for FOL Pred is a map from predicate symbols to math functions Pred(P) is the math function that the name P represents For example, in the interpretation of LEQ(Plus(4,5), 10) we could have Pred(LEQ) = <= If P is an n-ary predicate, then Pred(P) has type D n ! bool

Putting interpretations to use ` ² Q E D I Putting interpretations to use We write «  ¬ I to denote what  evaluates to under interpretation I In PROP

Putting interpretations to use ` ² Q E D I Putting interpretations to use We write «  ¬ I to denote what  evaluates to under interpretation I In PROP « A ¬ I = I (A) « :  ¬ I = true iff «  ¬ I is not true « 1 Æ 2 ¬ I = true iff « 1 ¬ I and « 2 ¬ I are true « 1 Ç 2 ¬ I = true iff « 1 ¬ I or « 2 ¬ I is true etc.

` ² Q E D I In FOL « x ¬ I = « f(t1, …, tn) ¬ I = « P(t1, …, tn) ¬ I =

In FOL « x ¬ I = Var(x), where I = (D, Var, Fun, Pred) ` ² Q E D I In FOL « x ¬ I = Var(x), where I = (D, Var, Fun, Pred) « f(t1, …, tn) ¬ I = Fun(f)(« t1 ¬ I , …, « tn ¬ I ), where I = (D, Var, Fun, Pred) « P(t1, …, tn) ¬ I = Pred(P)(« t1 ¬ I , …, « tn ¬ I ), where I = (D, Var, Fun, Pred) Rules for PROP logical connectives are the same

Quantifiers « 8 x .  ¬ (D, Var, Fun, Pred) = true iff ` ² Q E D I Quantifiers « 8 x .  ¬ (D, Var, Fun, Pred) = true iff « 9 x .  ¬ (D, Var, Fun, Pred) = true iff

` ² Q E D I Quantifiers « 8 x .  ¬ (D, Var, Fun, Pred) = true iff forall o 2 D «  ¬ (D, Var[x := o], Fun, Pred) = true « 9 x .  ¬ (D, Var, Fun, Pred) = true iff there is some o 2 D for which «  ¬ (D, Var[x := o], Fun, Pred) = true

` ² Q E D I Semantic entailment We write  ²  , where  = {1, …n }, if for all interpretations I : (Forall i from 1 to n « i ¬ I = true) implies «  ¬ I = true For example { A ) B, B ) C} ² A ) C { } ² (8 x. (P(x) Æ Q(x))) , (8 x. P(x) Æ 8 x. Q(x)) We write ²  if { } ²  we say that  is a theorem

Search in the semantic domain ` ² Q E D I Search in the semantic domain To check that ²  , iterate over all interpretations I and make sure that «  ¬ I = true For propositional logic, this amounts to building a truth table expensive, but can do better, for example using DPLL For first-order logic, there are infinitely many interpretations but, by cleverly enumerating over Herbrand’s universe, we can get a semi-algorithm

Provability  `  This judgement says that  is provable from  ² Q E D I Provability  `  This judgement says that  is provable from  Inference rules tell us how we can derive this judgement These inference rules are completely syntactic

Some inference rules ` ² Q E D I Assume , A ` A  ` A  ` B  ` A Æ B

` ² Q E D I A sample derivation B Æ A ` A Æ B

A sample derivation ` ² Q E D I Assume Assume B Æ A ` B Æ A B Æ A ` A B Æ A ` B ÆI B Æ A ` A Æ B

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  `  Can do this by searching in the space of proofs forward, backward or in both direction

Next class DPLL Herbrand’s universe Davis-Putnam paper Explicating proofs paper