* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download slides (modified) - go here for webmail
Model theory wikipedia , lookup
Mathematical logic wikipedia , lookup
Modal logic wikipedia , lookup
Abductive reasoning wikipedia , lookup
History of logic wikipedia , lookup
Stable model semantics wikipedia , lookup
Combinatory logic wikipedia , lookup
Quasi-set theory wikipedia , lookup
Quantum logic wikipedia , lookup
Structure (mathematical logic) wikipedia , lookup
Natural deduction wikipedia , lookup
First-order logic wikipedia , lookup
Law of thought wikipedia , lookup
Principia Mathematica wikipedia , lookup
Curry–Howard correspondence wikipedia , lookup
Laws of Form wikipedia , lookup
Intuitionistic logic wikipedia , lookup
A brief introduction to Logic – part I Source: www.decision-procedures.org Modified by Aditya Kanade (E0 223 – Indian Institute of Science) 1 Logic in Computer Science Logic has a profound impact on computer-science. Some examples: Propositional logic – the foundation of computers and circuitry Databases – query languages Programming languages (e.g. prolog) Type systems Design validation and verification AI (e.g. inference systems) ... 2 Logic in Computer Science Propositional Logic First Order Logic Higher Order Logic Temporal Logic ... ... 3 Modeling with propositional logic Assignment of frequencies n radio stations For each assign one of k transmission frequencies, k < n. E -- set of pairs of stations, that are too close to have the same frequency. Q: Can we satisfy these constraints? Q: Which graph problem does this remind you of ? 4 A Brief Introduction to Logic - Outline Propositional Logic :Syntax Propositional Logic :Semantics Satisfiability and validity Normal forms Deductive proofs and resolution 5 Propositional logic A proposition – a sentence that can be either true or false. Propositions: x is greater than y Noam wrote this letter 6 Propositional logic: Syntax The symbols of the language: Propositional symbols (Prop): p, q, r,… Operators: © , > and or not implies Equivalence (if and only if -- iff) xor (different than) False, True Parenthesis:(, ). Q1: how many different binary symbols can we define ? 7 Formulas Grammar of well-formed propositional formulas Formula := prop | (Formula) | (Formula o Formula). ... where prop Prop and o is one of the binary relations 8 Formulas Examples of well-formed formulas: (p) ((p)) (p (q r)) (p (q r)) Correct expressions of Propositional Logic are full of unnecessary parenthesis. 9 Formulas We omit parenthesis whenever we may restore them through operator precedence: binds more strictly than , , and , bind more strictly than , . Thus, we write: p p q p q r for for for ((p)), ((p) q) ((pq) r), … 10 Propositional Logic: Semantics Truth tables define the semantics (=meaning) of the operators Convention: 0 = false, 1 = true p 0 0 1 q 0 1 0 1 1 pq pq pq 0 0 1 0 1 1 0 1 0 1 1 1 11 Propositional Logic: Semantics Truth tables define the semantics (=meaning) of the operators p q p p q p © q 0 0 1 1 0 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 12 Assignments Definition: A truth-values assignment, , is an element of 2Prop (i.e., 2Prop). In other words, is a subset of the variables that are assigned true. Equivalently, we can see as a mapping from variables to truth values: = Prop {0,1} Example: = {p 0, q 1,...} 13 Satisfaction relation (²): intuition An assignment can either satisfy or not satisfy a given formula. ² φ means satisfies φ or φ holds at or is a model of φ We will first see an example. Then we will define these notions formally. 14 Example Let φ = (p (q → r)) Let = {p 0, q 0, r 1} Q: Does satisfy φ? (in symbols: does it hold that ² φ ? ) 15 The satisfaction relation (²): formalities ² is a relation: ² µ (2Prop x Formula) Examples: ({p}, p q) // the assignment = {p} satisfies p q ({p,q}, p q) Alternatively: ² µ ({0,1}Prop x Formula) Examples: (01, p q) // the assignment = {p 0, q 1} satisfies p q (11, p q) 16 The satisfaction relation (²): formalities ² is defined recursively: ² p if (p) = true ² φ if 2 φ. ² φ1 φ2 if ² φ1 and ² φ2 ² φ1 φ2 if ² φ1 or ² φ2 ² φ1 φ2 if ² φ1 implies ² φ2 ² φ1 φ2 if ² φ1 iff ² φ2 17 From definition to an evaluation algorithm Truth Evaluation Problem Given φ Formula and 2AP(φ), does ² φ ? where AP(φ) is the set of atomic propositions of φ. Eval(φ, ){ If φ p, return (p). If φ (φ1) return Eval(φ1, ) If φ (φ1 o φ2) return Eval(φ1, ) o Eval(φ2, ) } Eval uses polynomial time and space. 18 It doesn’t give us more than what we already know... Recall our example Let = (p (q → r)) Let = {p 0, q 0, r 1} Eval(, φ) = Eval(p,) Eval(q → r,) = 0 Eval(q,) → Eval(r,) = 0 (0 → 1) = 0 1 = 1 Hence, φ ² . 19 We can now extend the truth table to formulas (p → (q → p)) (p p) p q p q 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 1 0 1 20 We can now extend the truth table to formulas p q r p → (q → r) 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 21 Set of assignments Intuition: a formula specifies a set of truth assignments. Prop 2 Function models: Formula 2 (a formula set of satisfying assignments) Recursive definition: models(p) = { |(p) = 1}, p Prop models(φ1) = 2Prop – models(φ1) models(φ1φ2) = models(φ1) models(φ2) models(φ1φ2) = models(φ1) models(φ2) models(φ1φ2) = (2Prop – models(φ1)) models(φ2) 22 Example models (p q) = {{10},{01},{11}} This is compatible with the recursive definition: models(p q) = models(p) [ models (q) = {{10},{11}} [ {{01},{11}} = {{10},{01},{11}} 23 Theorem Let φ Formula and 2Prop, then the following statements are equivalent: 1. ² φ 2. models(φ) 24 Extension of ² to sets of assignments Let φ Formula Let T be a set of assignments, i.e., T Definition. Prop 2 2 T ² φ if T models(φ) i.e., ² 22Prop x Formula 25 Extension of ² to formulas ² 2Formula x 2Formula Definition. Let 1, 2 be prop. formulas. 1 ² 2 iff models(1) models(2) iff for all 2Prop if ² 1 then ² 2 Examples: pq²pq pq²qr 26 Semantic Classification of formulas A formula φ is called valid if models(φ) = 2Prop. (also called a tautology). A formula φ is called satisfiable if models(φ) φ. A formula φ is called unsatisfiable if models(φ) = φ. (also called a contradiction). satisfiable unsatisfiable valid 27 Validity, satisfiability... in truth tables p q (p → (q → q)) (p p) p q 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 1 0 1 28 Characteristics of valid/sat. formulas... Lemma A formula φ is valid iff φ is unsatisfiable φ is satisfiable iff φ is not valid yes Is valid? ? Satisfiability checker no 29 Look what we can do now... We can write: ²φ when φ is valid 2φ when φ is not valid 2φ when φ is satisfiable ²φ when φ is unsatisfiable 30 Examples (p Æ q) → (p Ç q) (p Ç q) → p (p Æ q) Æ :p is is is valid satisfiable unsatisfiable 31 Time for equivalences Here are some valid formulas: ²pÆ1$p ²pÆ0$0 ² ::p $ p // The double-negation rule ² p Æ (q Ç r) $ (p Æ q) Ç (p Æ r) Some more (De-Morgan rules): ² :(p Æ q) $ (:p Ç :q) ² :(p Ç q) $ (:p Æ :q) 32 The decision problem of formulas The decision problem: Given a propositional formula Á, is Á satisfiable ? An algorithm that always terminates with a correct answer to this problem is called a decision procedure for propositional logic. 33 Before we solve this problem... Q: Suppose we can solve the satisfiability problem... how can this help us? A: There are numerous problems in the industry that are solved via the satisfiability problem of propositional logic Logistics... Planning... Electronic Design Automation… Cryptography… 34 Modeling with propositional logic Assignment of frequencies n radio stations For each assign one of k transmission frequencies, k < n. E -- set of pairs of stations, that are too close to have the same frequency. Q: Can we satisfy these constraints? Q: Which graph problem does this remind you of ? 35 Modeling with propositional logic xi,j – station i is assigned frequency j, for 1 <= i <= n, 1 <= j <= k. Every station is assigned at least one frequency: Every station is assigned not more than one frequency: Close stations are not assigned the same frequency. For each (i,j) in E, 36 Two classes of algorithms for validity Q: Is φ satisfiable (equivalently, is :φ valid) ? Complexity: NP-Complete (the first-ever! – Cook’s theorem) Two classes of algorithms for finding out: 1. 2. Enumeration of possible solutions (Truth tables etc). Deduction More generally (beyond propositional logic): Enumeration is possible only in some logics. Deduction cannot necessarily be fully automated. 37 The satisfiability problem: enumeration Given a formula φ, is φ satisfiable? Boolean SAT(φ) { B:=false for all 2AP(φ) B = B Eval(φ,) end return B } There must be a better way to do that in practice. 38 A Brief Introduction to Logic - Outline Propositional Logic :Syntax Propositional Logic :Semantics Satisfiability and validity Normal forms Deductive proofs and resolution 39 Definitions… Definition: A literal is either a propositional atom or a negation of a propositional atom. Let = neg (p or neg q). Then: Atoms: AP() = {p,q} Literals: lit() = {p, neg q} Equivalent formulas can have different literals = not (p or neg q) = neg p and q Now lit() = {neg p, q} 40 Definitions… Definition: a term is a conjunction of literals Example: (p and neg q and r) Definition: a clause is a disjunction of literals Example: (p or neg q or r) 41 Negation Normal Form (NNF) Definition: A formula is said to be in Negation Normal Form (NNF) if it only contains neg, and and or connectives and only atoms can be negated. Examples: 1 = neg (p or neg q) is not in NNF 2 = neg p and q is in NNF 42 Converting to NNF Every formula can be converted to NNF in linear time: Eliminate all connectives other than and, or, neg Use De Morgan and double-negation rules to push negations to the right Example: = neg (p implies neg q) Eliminate ‘implies’: = neg (neg p or neg q) Push negation using De Morgan: = (neg neg p and neg neg q) Use Double negation rule: = (p and q) 43 Disjunctive Normal Form (DNF) Definition: A formula is said to be in Disjunctive Normal Form (DNF) if it is a disjunction of terms. In other words, it is a formula of the form where li,j is the j-th literal in the i-th term. Examples = (p and neg q and r) or (neg p and s) or (q) is in DNF DNF is a special case of NNF 44 Converting to DNF Every formula can be converted to DNF in exponential time and space: Convert to NNF Distribute conjunctions following the rule: ² p and (q or r) iff ((p and q) or (p and r)) Example: = (p or q) and (neg r or s) = ((p or q) and (neg r)) or ((p or q) and s) = (p and neg) or (q and negr) or (p and s) or (p and s) Q: How many clauses would the DNF have had we started from a conjunction of n clauses ? 45 Satisfiability of DNF Is the following DNF formula satisfiable? (p and q and neg p) or (q and p) or (q and neg r and r) What is the complexity of satisfiability of DNF formulas? 46 Conjunctive Normal Form (CNF) Definition: A formula is said to be in Conjunctive Normal Form (CNF) if it is a conjunction of clauses. In other words, it is a formula of the form where li,j is the j-th literal in the i-th term. Examples = (p or neg q or r) and (neg p or s) and (q) is in CNF CNF is a special case of NNF 47 Converting to CNF Every formula can be converted to CNF: in exponential time and space with the same set of atoms in linear time and space if new variables are added. In this case the original and converted formulas are “equisatisfiable”. This technique is called Tseitin’s encoding. 48 Converting to CNF: the exponential way CNF() { case is a literal: return is 1 and 2: return CNF(1) and CNF(2) is 1 or 2: return Dist(CNF(1),CNF(2)) } Dist(1,2) { case 1 is 11 and 12: return Dist(11,2) and Dist(12,2) 2 is 21 and 22: return Dist(1,21) and Dist(1,22) else: return 1 or 2 49 Converting to CNF: the exponential way Consider the formula = (x1 and y1) or (x2 and y2) CNF()= (x1 or x2) and (x1 or y2) and (y1 or x2) and (y1 or y2) Now consider: n = (x1 and y1) or (x2 and y2) or (xn and yn) Q: How many clauses CNF() returns ? 50 Converting to CNF: Tseitin’s encoding Consider the formula = (p implies (q and r)) The parse tree: imp a1 p and q a2 r Associate a new auxiliary variable with each gate. Add constraints that define these new variables. Finally, enforce the root node. 51 Converting to CNF: Tseitin’s encoding Need to satisfy: (a1 iff (p implies a2)) and (a2 iff (q and r)) and (a1) imp a1 p and q a2 r Each such constraint has a CNF representation with 3 or 4 clauses. 52 Converting to CNF: Tseitin’s encoding Need to satisfy: (a1 iff (p implies a2)) and (a2 iff (q and r)) and (a1) First: (a1 or p) and (a1 or neg a2) and (neg a1 or neg p or a2) Second: (neg a2 or q) and (neg a2 or r) and (a2 or neg q or neg r) 53 Converting to CNF: Tseitin’s encoding Let’s go back to n = (x1 and y1) or (x2 and y2) or or (xn and yn) With Tseitin’s encoding we need: n auxiliary variables a1,…,an. Each adds 3 constraints. Top clause: (a1 or or an) Hence, we have 3n + 1 clauses, instead of 2n. 3n variables rather than 2n. 54 What now? Time to solve the decision problem for propositional logic. The only algorithm we saw so far was building truth tables. 55 Two classes of algorithms for validity Q: Is φ valid ? Two classes of algorithm for finding out: 1. 2. Equivalently: is neg φ satisfiable? Enumeration of possible solutions (Truth tables etc). Deduction In general (beyond propositional logic): Enumeration is possible only in some theories. Deduction typically cannot be fully automated. 56 The satisfiability Problem: enumeration Given a formula φ, is φ satisfiable? Boolean SAT(φ) { B:=false for all 2AP(φ) B = B Eval(φ,) end return B } NP-Complete (the first-ever! – Cook’s theorem) 57 A Brief Introduction to Logic - Outline Propositional Logic :Syntax Propositional Logic :Semantics Satisfiability and validity Modeling with Propositional logic Normal forms Deductive proofs and resolution 58 Deduction requires axioms and Inference rules Inference rules: Antecedents Consequent Examples: A imp B B imp C A imp C A imp B A B (rule-name) (trans) (M.P.) 59 Axioms Axioms are inference rules with no antecedents, e.g., A imp (B imp A) (H1) We can turn an inference rule into an axiom if we have ‘→’ in the logic. So the difference between them is not sharp. 60 Proofs A proof uses a given set of inference rules and axioms. This is called the proof system. Let H be a proof system. ` H φ means: there is a proof of φ in system H whose premises are included in `H is called the provability relation. 61 Example Let H be the proof system comprised of the rules Trans and M.P. that we saw earlier. Does the following relation holds? a imp b,b imp c, c imp d , d imp e, a `H e 62 Deductive proof: example a imp b, b imp c, c imp d, d imp e, a `H e 1. a imp b 2. b imp c 3. a imp c 4. c imp d 5. d imp e 6. c imp e 7. a imp e 8. a 9. e premise premise 1,2,Trans premise premise 4,5, Trans 3,6, Trans premise 3,8.M.P. 63 Proof graph (DAG) a imp b b imp c c imp d d imp e (trans) (trans) a imp c c imp e (trans) a imp e a (M.P.) e Roots: premises 64 Proofs The problem: ` is a relation defined by syntactic transformations of the underlying proof system. For a given proof system H, does ` conclude “correct” conclusions from premises ? Can we conclude all true statements with H? Correct with respect to what ? With respect to the semantic definition of the logic. In the case of propositional logic truth tables gives us this. 65 Soundness and completeness Let H be a proof system Soundness of H: Completeness of H : How to prove soundness and completeness ? if `H φ then ² φ if ² φ then `H φ 66 Example: Hilbert axiom system (H) Let H be (M.P) + the following axiom schemas: A imp (B imp A) (H1) ((A imp (B imp C)) imp ((A imp B) imp (A imp C)) (neg B neg neg A) neg (A neg B) (H2) (H3) H is sound and complete 67 Soundness and completeness To prove soundness of H, prove the soundness of its axioms and inference rules (easy with truth-tables). For example: A 0 B 0 A imp (B imp A) 1 0 1 1 1 0 1 1 1 1 Completeness – harder, but possible. 68 The resolution inference system The resolution inference rule for CNF: Example: 69 Proof by resolution Let = (1 3) and (-1 2 5) and (-1 4) and (-1 -4) We’ll try to prove → (3 5) (1 3) (-1 2 5) (2 3 5) (1 -2) (-1 4) (-1 -4) (-1) (1 3 5) (3 5) 70 Resolution Resolution is a sound and refutation complete inference system for CNF If the input formula is unsatisfiable, there exists a proof of the empty clause 71 Example Let = (1 3) and (-1 2) and (-1 4) and (-1 -4) and (-3) (1 3) (-1 2) (2 3) (1 -2) (-1 4) (-1 -4) (-1) (1 3) (-3) (3) () 72