Sound and Complete Inference Rules in FOL
|
|
|
- Stella Summers
- 10 years ago
- Views:
Transcription
1 Sound and Complete Inference Rules in FOL An inference rule i is called sound if KB = α whenever KB i α An inference rule i is called complete if KB i α whenever KB = α Generalised Modus-Ponens (equivalently, forward or backward chaining) is sound and complete for Horn KBs but incomplete for general first-order logic. Example Let us consider the following formulas: P hd(x) HighlyQualif ied(x) P hd(x) EarlyEarnings(x) HighlyQualif ied(x) Rich(x) EarlyEarnings(x) Rich(x) From the above we should be able to infer Rich(Me), but GMP won t do it! Is there a complete inference procedure for FOL?
2 The Resolution Inference Rule Basic propositional version: α β, β γ α γ or equivalently α β, β γ α γ The Resolution Inference Rule - FOL version p 1 p j p m, q 1 q k q n SUBST (σ, (p 1 p j 1 p j+1 p m q 1 q k 1 q k+1 q n )) where UNIF Y (p j, q k ) = σ. Note: σ is the most general unifier (MGU) of p j and q k. The literals p j and q k are called complementary literals because each one unifies with the negation of the other. The resulting disjunction is called a resolvent.
3 Examples Rich(x) U nhappy(x), Rich(M e) U nhappy(m e) with MGU σ = {x/me} Examples (cont d) P hd(x) HighlyQualif ied(x) P hd(x) EarlyEarnings(x) HighlyQualif ied(x) Rich(x) EarlyEarnings(x) Rich(x) Let us try resolution to infer Rich(Me)! The standard way of showing that KB φ by resolution is to add φ to the KB and show that we can reach the empty clause by repeated application of the resolution rule. In our case, we add Rich(Me).
4 Examples (cont d) Let us first write all our formulas as disjunctions: P hd(x) HighlyQualif ied(x) P hd(x) EarlyEarnings(x) HighlyQualif ied(x) Rich(x) EarlyEarnings(x) Rich(x) Rich(M e) Now we can apply resolution repeatedly. Examples (cont d) From Rich(M e) and HighlyQualif ied(z) Rich(z) with MGU σ = {z/me}, we infer HighlyQualif ied(m e).
5 Examples (cont d) From Rich(M e) and EarlyEarnings(w) Rich(w) using MGU σ = {w/me}, we infer EarlyEarnings(M e). Examples (cont d) From P hd(x) HighlyQualif ied(x) and P hd(y) EarlyEarnings(y) with MGU σ = {x/y}, we infer HighlyQualif ied(y) EarlyEarnings(y).
6 Examples (cont d) From HighlyQualif ied(v) EarlyEarnings(v) and EarlyEarnings(M e) using MGU σ = {v/me}, we infer HighlyQualif ied(m e). Examples (cont d) From HighlyQualif ied(m e) and HighlyQualif ied(m e) using MGU σ = {}, we infer the empty clause. Thus we have reached a contradiction!
7 Conjunctive Normal Form To be able to do resolution, the given formulas have to be in conjunctive normal form. Definition. A literal is an atomic formula or the negation of an atomic formula. An atomic formula is also called a positive literal, and the negation of an atomic formula is called a negative literal. A clause is a disjunction of literals. There is a special clause called empty which is equivalent to false. Definition. A FOL formula is in conjunctive normal form (CNF) if it is a conjunction of disjunctions of literals (equivalently if it is a set of clauses). Proposition. Every FOL formula is equivalent to a formula in CNF. Conversion to CNF 1. Eliminate equivalences and implications using the laws: (φ ψ) (φ ψ ψ φ) φ ψ φ ψ 2. Move inwards using the equivalences (φ ψ) φ ψ (φ ψ) φ ψ ( x)φ ( x) φ ( x)φ ( x) φ φ φ
8 Conversion to CNF (cont d) 3. Rename variables so that each quantifier has a unique variable. 3. Eliminate existential quantifiers. If an existential quantifier does not occur in the scope of a universal quantifier, we simply drop the quantifier and replace all occurences of the quantifier variable by a new constant called a Skolem constant. If an existential quantifier x is within the scope of universal quantifiers y 1,..., y n, we drop the quantifier and replace all occurences of the quantifier variable x by the term f(y 1,..., y n ) where f is a new function symbol called a Skolem function. Conversion to CNF (cont d) 5. Drop all universal quantifiers. 6. Distribute over using the equivalence (φ ψ) θ (φ θ) (ψ θ) 7. Flatten nested conjunctions or disjunctions. Then, write each disjunction on a separate line and standardize variables apart (i.e., make sure disjunctions use different variables).
9 Example Let us convert to CNF the following sentence: ( x)(( y)p (x, y) ( y)(q(x, y) R(x, y))) 1. Eliminate implications: ( x)( ( y)p (x, y) ( y)( Q(x, y) R(x, y))) 2. Move inwards: ( x)(( y) P (x, y) ( y)(q(x, y) R(x, y))) Example (cont d) 3. Rename variables: ( x)(( y) P (x, y) ( z)(q(x, z) R(x, z))) 4. Skolemize: ( x)( P (x, F 1 (x)) (Q(x, F 2 (x)) R(x, F 2 (x)))) 5. Drop universal quantifiers: P (x, F 1 (x)) (Q(x, F 2 (x)) R(x, F 2 (x))) 6. Distribute over : ( P (x, F 1 (x)) Q(x, F 2 (x))) ( P (x, F 1 (x)) R(x, F 2 (x))) 7. Final form: P (x, F 1 (x)) Q(x, F 2 (x)) P (x, F 1 (x)) R(x, F 2 (x))
10 Resolution: Soundness and Refutation-Completeness Theorem. (Soundness) Let KB be a knowledge base. If φ can be proved from KB using resolution then KB = φ. Theorem. (Refutation-completeness) If a set of clauses is unsatisfiable then resolution will derive the empty clause from. Note: The above theorem holds only if does not involve equality. Methodology: If we are asked to prove KB = α then we negate α and show that KB α is unsatisfiable using resolution. Example 1 The crime example we saw in a previous lecture: The law says that it is a crime for an American to sell weapons to hostile nations. The country Nono, an enemy of America, has some missiles, and all of its missiles were sold to it by Colonel West, who is an American. Use resolution to conclude that West is a criminal.
11 Example 1: Formalization in FOL... it is a crime for an American to sell weapons to hostile nations : ( x, y, z) (American(x) W eapon(y) Nation(z) Hostile(z) Sells(x, y, z) Criminal(x)) Nono... has some missiles : ( x) (Owns(Nono, x) Missile(x)) All of its missiles were sold to it by Colonel West : ( x) (Owns(Nono, x) Missile(x) Sells(W est, x, Nono)) Example 1: Formalization in FOL (cont d) Missiles are weapons: ( x) (M issile(x) W eapon(x)) An enemy of America is a hostile nation : ( x) (Enemy(x, America) Hostile(x)) West, who is an American : American(W est) The country Nono... : Nation(Nono) Nono, an enemy of America... : Enemy(N ono, America), N ation(america)
12 Example 1: CNF form... it is a crime for an American to sell weapons to hostile nations : American(x) W eapon(y) Sells(x, y, z) Hostile(z) Criminal(x) Nono... has some missiles : Owns(Nono, M1), Missile(M1) All of its missiles were sold to it by Colonel West : Missile(x) Owns(Nono, x) Sells(W est, x, Nono) Example 1: CNF form (cont d) Missiles are weapons: M issile(x) W eapon(x) An enemy of America is a hostile nation : Enemy(x, America) Hostile(x) West, who is an American : American(W est) The country Nono... : N ation(n ono) Nono, an enemy of America... : Enemy(N ono, America), N ation(america)
13 L Example 1: Proof American(x) LWeapon(y) LSells(x,y,z) LHostile(z) Criminal(x) LCriminal(West) American(West) LAmerican(West) LWeapon(y) LSells(West,y,z) LHostile(z) LMissile(x) Weapon(x) LWeapon(y) LSells(West,y,z) LHostile(z) Missile(M1) LMissile(y) LSells(West,y,z) LHostile(z) Missile(x) Owns(Nono,x) Sells(West,x,Nono) LSells(West,M1,z) LHostile(z) Missile(M1) LMissile(M1) LOwns(Nono,M1) LHostile(Nono) Owns(Nono,M1) LOwns(Nono,M1) LHostile(Nono) LEnemy(x,America) Hostile(x) LHostile(Nono) Enemy(Nono,America) Enemy(Nono,America) Example 2 Let us assume that we know the following: Everyone who loves all animals is loved by someone. Anyone who kills an animal is loved by no one. Jack loves all animals. Either Jack or Curiosity killed the cat, who is named Tuna. From the above facts, can we prove that Curiosity killed Tuna?
14 Example 2: Formalization in FOL Everyone who loves animals is loved by someone. ( x)(( y)(animal(y) Loves(x, y)) ( y)loves(y, x) ) Anyone who kills an animal is loved by no one. ( x)(( y)(animal(y) Kills(x, y)) ( z) Loves(z, x)) Jack loves all animals. ( x)(animal(x) Loves(Jack, x)) Example 2: Formalization in FOL Either Jack or Curiosity killed the cat... Kills(Jack, T una) Kills(Curiosity, T una)... who is named Tuna. Cat(T una) We will also need the formula ( x)(cat(x) Animal(x)) which is background knowledge. The negation of the formula to be proved is: Kills(Curiosity, T una)
15 Example 2: Proof LCat(x) Animal(x) Kills(Jack,Tuna} Kills(Curiosity,Tuna) LKills(Curiosity,Tuna) Animal(Tuna) LLoves(y,x) LAnimal(z) LKills(x,z) Kills(Jack,Tuna) LLoves(y,x) LKills(x,Tuna) LLoves(x, F(x)) Loves(G(x),x) LAnimal (x) Loves(Jack,x) LLoves(y,Jack) LAnimal(F(Jack)) Loves(G(Jack),Jack) Animal(F(x)) Loves(G(x),x) Loves(G(Jack),Jack) Resolution, Validity and Unsatisfiability Questions: How do we use resolution to prove that the following formula is valid? Happy(John) Happy(John) How do we use resolution to prove that the following formula is unsatisfiable? Happy(John) Happy(John)
16 Fill-in-the-Blank Questions So far we have used resolution to see that something follows from a KB. We can also use resolution to answer questions about facts that follow from a KB. In the previous example, we can use resolution to find the answer to the question: Who killed Tuna? This can be expressed using a free variable and writing the fill-in-the-blank query Kills(x, T una). Definition. An answer literal for a fill-in-the-blank query φ is an atomic formula of the form Ans(v 1,..., v n ) where the variables v 1,..., v n are the free variables in φ. Fill-in-the-Blank Questions (cont d) To answer the fill-in-the-blank query φ we form the disjunction Ans(v 1,..., v n ) φ and convert it to CNF. Then we use resolution and terminate our search when we reach a clause containing only answer literals (instead of terminating when we reach the empty clause).
17 Fill-in-the-Blank Questions (cont d) For fill-in-the-blank questions, we can have: Termination with a clause which is a single answer literal Ans(c 1,..., c n ). In this case, the constants c 1,..., c n gives us an answer to the query. There might be more answers depending on whether there are more resolution refutations of Ans(v 1,..., v n ) φ. We can go on looking for more answers but we can never be sure that we have found them all (incompleteness of resolution). Termination with a clause which is a disjunction of more than one answer literals. In this case, one of the answer literals contains the answer but we cannot say which one for sure. Example 1 KB: F ather(art, John) F ather(bob, Kim) ( x)( y)(f ather(x, y) P arent(x, y)) Query: Who is John s parent? To answer the query, we use resolution on the following set of clauses: F ather(art, John) F ather(bob, Kim) F ather(x, y) P arent(x, y) Ans(z) P arent(z, John)
18 Example 1 (cont d) From F ather(art, John) and F ather(x, y) P arent(x, y) with MGU {x/art, y/john}, we have P arent(art, John) which in turn resolves with Ans(z) P arent(z, John) with MGU {z/art}, to give Ans(Art). Example 2 KB: F ather(art, John) F ather(bob, John) ( x)( y)(f ather(x, y) P arent(x, y)) Query: Who is John s parent? To answer the query, we use resolution on the following set of clauses: F ather(art, John) F ather(bob, John) F ather(x, y) P arent(x, y) Ans(z) P arent(z, John)
19 Example 2 (cont d) From F ather(art, John) F ather(bob, John) and F ather(x, y) P arent(x, y) with MGU {x/art, y/john}, we have P arent(art, John) F ather(bob, John) which in turn resolves with F ather(x, y) P arent(x, y) with MGU {x/bob, y/john}, to give P arent(art, John) P arent(bob, John). Example 2 (cont d) From P arent(art, John) P arent(bob, John) and Ans(z) P arent(z, John) with MGU {z/art}, we have Ans(Art) P arent(bob, John) which in turn resolves with Ans(z) P arent(z, John) with MGU {z/bob}, to give Ans(Art) Ans(Bob).
20 Dealing with Equality If we want to use equality in our resolution proofs, we can do it in two ways: Add appropriate formulas that axiomatize equality in our KB. What are these formulas? Use special inference rules that take equality into account. Use equational unification (a special kind of unification that takes equality into account). The same is true for other special predicates such as arithmetic ones <, etc. Axioms for Equality Reflective: ( x) x = x Symmetric: ( x)( y)(x = y y = x) Transitive: ( x)( y)( z)(x = y y = z x = z) Substitution of equals: ( x)( y)(x = y (P 1 (x) P 1 (y))) ( x)( y)(x = y (P 2 (x) P 2 (y))) ( w)( x)( y)( z)(w = y x = z (F 1 (w, x) = F 1 (y, z))) ( w)( x)( y)( z)(w = y x = z (F 2 (w, x) = F 2 (y, z)))
21 Inference Rules for Equality: Demodulation For any terms x, y and z where UNIF Y (x, z) = θ and m n [z] is a literal containing the term z: x = y, m 1 m n [z] m 1 m n [SUBST (θ, y)] Examples: From T het hief = John and Arrested(T het hief) with MGU {}, we can conclude Arrested(John). From S(S(0)) = 2 and P (2) Q(S(S(w))) with MGU {w/0}, we can conclude P (2) Q(2). Inference Rules for Equality: Paramodulation For any terms x, y and z where UNIF Y (x, z) = θ and m n [z] is a literal containing the term z: l 1 l k x = y, m 1 m n [z] SUBST (θ, l 1 l k m 1 m n [y]) Example: From P (v) F (A, v) = F (B, v) and Q(B) R(F (A, C)) with MGU {v/c}, we can conclude P (C) Q(B) R(F (B, C)). Paramodulation is more general than demodulation and results in a refutation complete inference procedure for FOL with equality.
22 Resolution and Prolog Prolog is based on a specific form of resolution called SLD-resolution (Linear resolution with a Selection function for Definite clauses). The Prolog interpreter does resolution at each step of producing a new set of goals from a given set of goals and a clause in the Prolog program. Horn Clauses Let us revisit the definition of Horn clauses. Definition. A Horn clause is a disjunction of literals of which at most one is positive. In other words, a Horn clause is a formula in one of the following three forms: q p 1 p 2... p n q (or p 1 p 2... p n q) p 1 p 2... p n where p 1,..., p n, q are atomic formulas.
23 Horn Clauses in Prolog Horn clauses of the first kind are called facts. Horn clauses of the second kind are called rules. If a Horn clause has exactly one positive literal, it is called a definite clause. Horn Clauses in Prolog (cont d) Facts and rules (i.e., definite clauses) are of the form and q p 1 p 2... p n q (or p 1 p 2... p n q) respectively. They are used to write Prolog programs using Prolog s notation as follows: q. q:- p1, p2,..., pn.
24 Horn Clauses in Prolog (cont d) Horn clauses of the form p 1 p 2... p n i.e., consisting of only negative literals can be used as queries in Prolog using Prolog s notation as follows:?-p1, p2,..., pn. Example predecessor(x, Z) :- parent(x, Z). predecessor(x, Z) :- parent(x, Y), predecessor(y, Z). %pr1 %pr2 parent(pam, bob). parent(tom, bob). parent(tom, liz). parent(bob, ann). parent(bob, pat). parent(pat, jim).
25 Proof Tree for predecessor(pam,bob) predecessor(pam, bob) by rulepr1 MGU{X/pam, Y/bob} parent(pam, bob) yes Resolution and Prolog (cont d) The Prolog interpreter resolves a query with a fact or rule at each step of its operation. In the previous slide, we want to prove the goal? predecessor(pam, bob). When Prolog uses the rule pr1 to arrive at the new goal? parent(pam, bob), this is equivalent to performing resolution of predecessor(pam, bob) with Horn clause to produce parent(x, Y ) predecessor(x, Y ) parent(pam, bob).
26 Resolution and Prolog (cont d) In the next step, the new goal? parent(pam, bob) is unified with the fact parent(pam, bob) in the database and Prolog answers yes to the original query. This is equivalent to performing resolution of parent(pam, bob) with parent(pam, bob) to arrive at the empty clause. Resolution and Prolog (cont d) Thus we see that predecessor(pam, bob) logically follows from the Prolog program (viewed as a KB in FOL) thus Prolog correctly gives the answer yes. Exercise: Explain the proof trees on the following slides using resolution.
27 Proof Tree for predecessor(pam,ann) predecessor(pam, ann) by rulepr1 parent(pam, ann) by rulepr2 MGU{X/pam, Z/ann} parent(pam, Y), predecessor(y, ann) no Proof Tree for predecessor(pam,ann) (cont d) predecessor(pam, ann) by rulepr1 parent(pam, ann) no by rulepr2 MGU{X/pam, Z/ann} parent(pam, Y) predecessor(y, ann) by factparent(pam, bob) MGU{X/bob} predecessor(bob, ann) by rulepr1 MGU{X/bob, Z/ann} parent(bob, ann) yes
28 Computational Complexity and Resolution Resolution proofs can in general be exponentially long as the following theorem demonstrates. Theorem (Haken, 1985). There is a sequence of PL formulas p 1, p 2, p 3,..., each a tautology, such that the number of symbols of p n when converted to CNF is O(n 3 ), but the shortest resolution refutation of it contains at least c n symbols (for a fixed c 1). There are various strategies that can be applied to make resolution more efficient in practice (unit preference, set of support, input resolution, subsumption). Other Normal Forms: DNF Definition. A FOL formula is in disjunctive normal form (DNF) if it is a disjunction of conjunctions of literals. Proposition. Every FOL formula is equivalent to a formula in DNF.
29 Other Normal Forms: PNF Definition. A FOL formula is in prenex normal form (PNF) if all its quantifiers appear at the front of the formula. Proposition. Every FOL formula is equivalent to a formula in PNF. Conversion to Prenex Normal Form Steps 1 and 2 of conversion to CNF. Move quantifiers to the front of the formula using the equivalences ( x)(φ ψ) ( x)φ ψ ( x)(φ ψ) ( x)φ ψ ( x)(φ ψ) ( x)φ ψ ( x)(φ ψ) ( x)φ ψ The above equivalences hold only if x does not appear free in ψ. Step 1 and 2 are not necessary if we introduce equivalences for the rest of the connectives.
30 A Brief History of Reasoning 450b.c. Stoic and Megarian PL, truth tables, schools inference (modus ponens) 322b.c. Aristotle syllogisms (inference rules), quantifiers 1847 Boole PL (again) 1879 Frege FOL 1921/22 Post/Wittgenstein proof by truth tables 1930 Gödel complete algorithm for proofs in FOL 1930 Herbrand complete algorithm for proofs in FOL (reduce to propositional) 1931 Gödel complete algorithm for arithmetic proofs 1960 Davis/Putnam practical algorithm for PL resolution 1965 Robinson resolution Soundnes and Completeness of FOL Inference Theorem. (Gödel, 1930) KB = φ iff KB φ. Theorem. Checking entailment (equivalently: validity or unsatisfiability or provability) of a FOL formula is a recursively enumerable problem.
31 Informal Definitions A yes/no problem P is called recursive or decidable if there is an algorithm that, given input x, outputs yes and terminates whenever x P, and no and terminates when x P. A yes/no problem P is called recursively enumerable or semi-decidable if there is an algorithm that, given input x, outputs yes and terminates whenever x P but computes for ever when x P. The above algorithm is not a very useful because, if it has not terminated, we cannot know for sure whether we have waited long enough to get an answer. Gödel s Incompleteness Theorem Theorem. (Gödel, 1930) For any set A of true sentences of number theory, and, in particular, any set of basic axioms, there are other true sentences of number arithmetic that cannot be proved from A. Sad conclusion: We can never prove all the theorems of mathematics within any given system of axioms.
32 Soundness and Completeness (cont d) Theorem. (Herbrand, 1930) If a finite set of clauses is unsatisfiable then the Herbrand base of is unsatisfiable. Theorem. (Robinson, 1965) Soundness of Resolution. If there is a resolution refutation of a clause φ from a set of clauses KB then KB = φ. Theorem. (Robinson, 1965) Completeness of Resolution. If a set of clauses KB is unsatisfiable then there is a resolution refutation of the empty clause from KB. Soundness and Completeness (cont d) Question: How can we use a refutation-complete proof procedure (e.g., resolution) to determine whether a sentence φ is entailed by a set of sentences KB? Answer: We can negate φ, add it to KB and then use resolution. But we will not know whether KB = φ until resolution finds a contradiction and returns. While resolution has not returned, we do not know whether the system has gone into a loop or the proof is about to pop out!!!
33 Some Good News There are many interesting subsets of FOL that are decidable: Monadic logic (only unary predicates). Horn clauses... Many practical problems can be encoded in these subsets! Knowledge-Based Agents function KB-Agent(percept) returns an action static KB, a knowledge-base t, a counter, initially 0, indicating time Tell(KB,Make-Percept-Sentence(percept, t)) action Ask(KB,Make-Action-Query(t)) Tell(KB,Make-Action-Sentence(action, t)) t t + 1 return action Using the FOL machinery we presented, how can we implement knowledge-based agents?
34 Logical Reasoning Systems Logic programming languages (most notably Prolog). Prolog was developed in 1972 by Alain Colmerauer and it is based on the idea of backward chaining. Prolog s motto (after Kowalski) is: Algorithm = Logic + Control Logic programming and Prolog was the basis of much exciting research and development in logic programming in the 70 s and 80 s. Logic programming and its extensions is still a very lively area of research that has been applied in many areas (databases, natural language processing, expert systems etc.). Of particular, importance is constraint logic programming (CLP) that integrates logic programming with CSPs. CLP has been used with success recently in many combinatorial optimisation applications (e.g., scheduling, planning, etc.) Logical Reasoning Systems (cont d) Production systems based on the idea of forward-chaining (where the conclusion of an implication is interpreted as an action to be executed). Production systems were used a lot in early AI work (particularly in rule-based expert systems). There are various implemented production systems such as OPS-5 or CLIPS.
35 Logical Reasoning Systems (cont d) Theorem provers are more powerful tools than Prolog since they can deal with full first-order logic. Examples: OTTER, PTTP, etc. Theorem provers have come up with novel mathematical results (lattice theory, a formal proof of Godel s incompleteness theorem, Robbins algebra). They are also used in verification and synthesis of both hardware and software because both domains can be given correct axiomatizations. Readings AIMA, Chapter 9. M. Genesereth and N. Nilsson. Logical Foundations of Artificial Intelligence, Chapter 4. This chapter gives a more formal treatment with detailed proofs of the theorems we presented. The book Mechanizing Proof: Computing, Risk and Trust by Donald MacKenzie (MIT Press, 2001) is an interesting historical and sociological account of automated theorem proving. Read this book for fun when you have time!
Inference in first-order logic
Inference in first-order logic Chapter 9 Chapter 9 1 Outline Reducing first-order inference to propositional inference Unification Generalized Modus Ponens Forward and backward chaining Logic programming
Logic in general. Inference rules and theorem proving
Logical Agents Knowledge-based agents Logic in general Propositional logic Inference rules and theorem proving First order logic Knowledge-based agents Inference engine Knowledge base Domain-independent
Lecture 8: Resolution theorem-proving
Comp24412 Symbolic AI Lecture 8: Resolution theorem-proving Ian Pratt-Hartmann Room KB2.38: email: [email protected] 2014 15 In the previous Lecture, we met SATCHMO, a first-order theorem-prover implemented
Example: Backward Chaining. Inference Strategy: Backward Chaining. First-Order Logic. Knowledge Engineering. Example: Proof
Inference Strategy: Backward Chaining Idea: Check whether a particular fact q is true. Backward Chaining: Given a fact q to be proven, 1. See if q is already in the KB. If so, return TRUE. 2. Find all
Lecture 13 of 41. More Propositional and Predicate Logic
Lecture 13 of 41 More Propositional and Predicate Logic Monday, 20 September 2004 William H. Hsu, KSU http://www.kddresearch.org http://www.cis.ksu.edu/~bhsu Reading: Sections 8.1-8.3, Russell and Norvig
(LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine.
(LMCS, p. 317) V.1 First Order Logic This is the most powerful, most expressive logic that we will examine. Our version of first-order logic will use the following symbols: variables connectives (,,,,
CHAPTER 7 GENERAL PROOF SYSTEMS
CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes
First-Order Logics and Truth Degrees
First-Order Logics and Truth Degrees George Metcalfe Mathematics Institute University of Bern LATD 2014, Vienna Summer of Logic, 15-19 July 2014 George Metcalfe (University of Bern) First-Order Logics
Logical Agents. Explorations in Artificial Intelligence. Knowledge-based Agents. Knowledge-base Agents. Outline. Knowledge bases
Logical Agents Explorations in Artificial Intelligence rof. Carla. Gomes [email protected] Agents that are able to: Form representations of the world Use a process to derive new representations of the
AUTOMATED REASONING SLIDES 3: RESOLUTION The resolution rule Unification Refutation by resolution Factoring Clausal Form and Skolemisation
AUTOMATED REASONING SLIDES 3: RESOLUTION The resolution rule Unification Refutation by resolution Factoring Clausal Form and Skolemisation KB - AR - 09 Resolution Resolution is a clausal refutation system
CS510 Software Engineering
CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se
15-780: Graduate AI Lecture 3. FOL proofs. Geoff Gordon (this lecture) Tuomas Sandholm TAs Erik Zawadzki, Abe Othman
15-780: Graduate AI Lecture 3. FOL proofs Geoff Gordon (this lecture) Tuomas Sandholm TAs Erik Zawadzki, Abe Othman Admin 2 HW1 Out today Due Tue, Feb. 1 (two weeks) hand in hardcopy at beginning of class
Computational Logic and Cognitive Science: An Overview
Computational Logic and Cognitive Science: An Overview Session 1: Logical Foundations Technical University of Dresden 25th of August, 2008 University of Osnabrück Who we are Helmar Gust Interests: Analogical
Foundational Proof Certificates
An application of proof theory to computer science INRIA-Saclay & LIX, École Polytechnique CUSO Winter School, Proof and Computation 30 January 2013 Can we standardize, communicate, and trust formal proofs?
ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS
PROCEEDINGS OF THE YEREVAN STATE UNIVERSITY Physical and Mathematical Sciences 2012 1 p. 43 48 ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS I nf or m at i cs L. A. HAYKAZYAN * Chair of Programming and Information
EQUATIONAL LOGIC AND ABSTRACT ALGEBRA * ABSTRACT
EQUATIONAL LOGIC AND ABSTRACT ALGEBRA * Taje I. Ramsamujh Florida International University Mathematics Department ABSTRACT Equational logic is a formalization of the deductive methods encountered in studying
Predicate Logic. Example: All men are mortal. Socrates is a man. Socrates is mortal.
Predicate Logic Example: All men are mortal. Socrates is a man. Socrates is mortal. Note: We need logic laws that work for statements involving quantities like some and all. In English, the predicate is
Resolution. Informatics 1 School of Informatics, University of Edinburgh
Resolution In this lecture you will see how to convert the natural proof system of previous lectures into one with fewer operators and only one proof rule. You will see how this proof system can be used
2. The Language of First-order Logic
2. The Language of First-order Logic KR & R Brachman & Levesque 2005 17 Declarative language Before building system before there can be learning, reasoning, planning, explanation... need to be able to
Automated Theorem Proving - summary of lecture 1
Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of
High Integrity Software Conference, Albuquerque, New Mexico, October 1997.
Meta-Amphion: Scaling up High-Assurance Deductive Program Synthesis Steve Roach Recom Technologies NASA Ames Research Center Code IC, MS 269-2 Moffett Field, CA 94035 [email protected] Jeff Van
Introduction to Logic in Computer Science: Autumn 2006
Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding
Computational Methods for Database Repair by Signed Formulae
Computational Methods for Database Repair by Signed Formulae Ofer Arieli ([email protected]) Department of Computer Science, The Academic College of Tel-Aviv, 4 Antokolski street, Tel-Aviv 61161, Israel.
Certamen 1 de Representación del Conocimiento
Certamen 1 de Representación del Conocimiento Segundo Semestre 2012 Question: 1 2 3 4 5 6 7 8 9 Total Points: 2 2 1 1 / 2 1 / 2 3 1 1 / 2 1 1 / 2 12 Here we show one way to solve each question, but there
Handout #1: Mathematical Reasoning
Math 101 Rumbos Spring 2010 1 Handout #1: Mathematical Reasoning 1 Propositional Logic A proposition is a mathematical statement that it is either true or false; that is, a statement whose certainty or
Beyond Propositional Logic Lukasiewicz s System
Beyond Propositional Logic Lukasiewicz s System Consider the following set of truth tables: 1 0 0 1 # # 1 0 # 1 1 0 # 0 0 0 0 # # 0 # 1 0 # 1 1 1 1 0 1 0 # # 1 # # 1 0 # 1 1 0 # 0 1 1 1 # 1 # 1 Brandon
Extending Semantic Resolution via Automated Model Building: applications
Extending Semantic Resolution via Automated Model Building: applications Ricardo Caferra Nicolas Peltier LIFIA-IMAG L1F1A-IMAG 46, Avenue Felix Viallet 46, Avenue Felix Viallei 38031 Grenoble Cedex FRANCE
Theory of Automated Reasoning An Introduction. Antti-Juhani Kaijanaho
Theory of Automated Reasoning An Introduction Antti-Juhani Kaijanaho Intended as compulsory reading for the Spring 2004 course on Automated Reasononing at Department of Mathematical Information Technology,
Schedule. Logic (master program) Literature & Online Material. gic. Time and Place. Literature. Exercises & Exam. Online Material
OLC mputational gic Schedule Time and Place Thursday, 8:15 9:45, HS E Logic (master program) Georg Moser Institute of Computer Science @ UIBK week 1 October 2 week 8 November 20 week 2 October 9 week 9
Applied Logic in Engineering
Applied Logic in Engineering Logic Programming Technische Universität München Institut für Informatik Software & Systems Engineering Dr. Maria Spichkova M. Spichkova WS 2012/13: Applied Logic in Engineering
Rules of Inference Friday, January 18, 2013 Chittu Tripathy Lecture 05
Rules of Inference Today s Menu Rules of Inference Quantifiers: Universal and Existential Nesting of Quantifiers Applications Old Example Re-Revisited Our Old Example: Suppose we have: All human beings
! " # The Logic of Descriptions. Logics for Data and Knowledge Representation. Terminology. Overview. Three Basic Features. Some History on DLs
,!0((,.+#$),%$(-&.& *,2(-$)%&2.'3&%!&, Logics for Data and Knowledge Representation Alessandro Agostini [email protected] University of Trento Fausto Giunchiglia [email protected] The Logic of Descriptions!$%&'()*$#)
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
Fixed-Point Logics and Computation
1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of
Artificial Intelligence
Artificial Intelligence ICS461 Fall 2010 1 Lecture #12B More Representations Outline Logics Rules Frames Nancy E. Reed [email protected] 2 Representation Agents deal with knowledge (data) Facts (believe
Answers G53KRR 2009-10
s G53KRR 2009-10 1. (a) Express the following sentences in first-order logic, using unary predicates Fragile, Break, Fall, TennisBall. S1 Fragile things break if they fall S2 Tennis balls are not fragile
INTRODUCTORY SET THEORY
M.Sc. program in mathematics INTRODUCTORY SET THEORY Katalin Károlyi Department of Applied Analysis, Eötvös Loránd University H-1088 Budapest, Múzeum krt. 6-8. CONTENTS 1. SETS Set, equal sets, subset,
CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs
CHAPTER 3 Methods of Proofs 1. Logical Arguments and Formal Proofs 1.1. Basic Terminology. An axiom is a statement that is given to be true. A rule of inference is a logical rule that is used to deduce
196 Chapter 7. Logical Agents
7 LOGICAL AGENTS In which we design agents that can form representations of the world, use a process of inference to derive new representations about the world, and use these new representations to deduce
WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?
WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? introduction Many students seem to have trouble with the notion of a mathematical proof. People that come to a course like Math 216, who certainly
A Knowledge-based System for Translating FOL Formulas into NL Sentences
A Knowledge-based System for Translating FOL Formulas into NL Sentences Aikaterini Mpagouli, Ioannis Hatzilygeroudis University of Patras, School of Engineering Department of Computer Engineering & Informatics,
Formal Engineering for Industrial Software Development
Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3
Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson
Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement
Logic in Computer Science: Logic Gates
Logic in Computer Science: Logic Gates Lila Kari The University of Western Ontario Logic in Computer Science: Logic Gates CS2209, Applied Logic for Computer Science 1 / 49 Logic and bit operations Computers
University of Ostrava. Reasoning in Description Logic with Semantic Tableau Binary Trees
University of Ostrava Institute for Research and Applications of Fuzzy Modeling Reasoning in Description Logic with Semantic Tableau Binary Trees Alena Lukasová Research report No. 63 2005 Submitted/to
Predicate logic Proofs Artificial intelligence. Predicate logic. SET07106 Mathematics for Software Engineering
Predicate logic SET07106 Mathematics for Software Engineering School of Computing Edinburgh Napier University Module Leader: Uta Priss 2010 Copyright Edinburgh Napier University Predicate logic Slide 1/24
ML for the Working Programmer
ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming
Propositional Logic. A proposition is a declarative sentence (a sentence that declares a fact) that is either true or false, but not both.
irst Order Logic Propositional Logic A proposition is a declarative sentence (a sentence that declares a fact) that is either true or false, but not both. Are the following sentences propositions? oronto
Satisfiability Checking
Satisfiability Checking SAT-Solving Prof. Dr. Erika Ábrahám Theory of Hybrid Systems Informatik 2 WS 10/11 Prof. Dr. Erika Ábrahám - Satisfiability Checking 1 / 40 A basic SAT algorithm Assume the CNF
Course Outline Department of Computing Science Faculty of Science. COMP 3710-3 Applied Artificial Intelligence (3,1,0) Fall 2015
Course Outline Department of Computing Science Faculty of Science COMP 710 - Applied Artificial Intelligence (,1,0) Fall 2015 Instructor: Office: Phone/Voice Mail: E-Mail: Course Description : Students
6.080/6.089 GITCS Feb 12, 2008. Lecture 3
6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my
The Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
Boolean Algebra Part 1
Boolean Algebra Part 1 Page 1 Boolean Algebra Objectives Understand Basic Boolean Algebra Relate Boolean Algebra to Logic Networks Prove Laws using Truth Tables Understand and Use First Basic Theorems
The Modal Logic Programming System MProlog
The Modal Logic Programming System MProlog Linh Anh Nguyen Institute of Informatics, University of Warsaw ul. Banacha 2, 02-097 Warsaw, Poland [email protected] Abstract. We present the design of our
Generating models of a matched formula with a polynomial delay
Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic
Lecture Notes in Discrete Mathematics. Marcel B. Finan Arkansas Tech University c All Rights Reserved
Lecture Notes in Discrete Mathematics Marcel B. Finan Arkansas Tech University c All Rights Reserved 2 Preface This book is designed for a one semester course in discrete mathematics for sophomore or junior
Bounded-width QBF is PSPACE-complete
Bounded-width QBF is PSPACE-complete Albert Atserias 1 and Sergi Oliva 2 1 Universitat Politècnica de Catalunya Barcelona, Spain [email protected] 2 Universitat Politècnica de Catalunya Barcelona, Spain
CODING TRUE ARITHMETIC IN THE MEDVEDEV AND MUCHNIK DEGREES
CODING TRUE ARITHMETIC IN THE MEDVEDEV AND MUCHNIK DEGREES PAUL SHAFER Abstract. We prove that the first-order theory of the Medvedev degrees, the first-order theory of the Muchnik degrees, and the third-order
A Propositional Dynamic Logic for CCS Programs
A Propositional Dynamic Logic for CCS Programs Mario R. F. Benevides and L. Menasché Schechter {mario,luis}@cos.ufrj.br Abstract This work presents a Propositional Dynamic Logic in which the programs are
Computability Theory
CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Computability Theory This section is partly inspired by the material in A Course in Mathematical Logic by Bell and Machover, Chap 6, sections 1-10.
WOLLONGONG COLLEGE AUSTRALIA. Diploma in Information Technology
First Name: Family Name: Student Number: Class/Tutorial: WOLLONGONG COLLEGE AUSTRALIA A College of the University of Wollongong Diploma in Information Technology Mid-Session Test Summer Session 008-00
Summary Last Lecture. Automated Reasoning. Outline of the Lecture. Definition sequent calculus. Theorem (Normalisation and Strong Normalisation)
Summary Summary Last Lecture sequent calculus Automated Reasoning Georg Moser Institute of Computer Science @ UIBK Winter 013 (Normalisation and Strong Normalisation) let Π be a proof in minimal logic
Predicate Logic. For example, consider the following argument:
Predicate Logic The analysis of compound statements covers key aspects of human reasoning but does not capture many important, and common, instances of reasoning that are also logically valid. For example,
Plan-Space Search. Searching for a Solution Plan in a Graph of Partial Plans
Plan-Space Search Searching for a Solution Plan in a Graph of Partial Plans Literature Malik Ghallab, Dana Nau, and Paolo Traverso. Automated Planning Theory and Practice, chapter 2 and 5. Elsevier/Morgan
Scalable Automated Symbolic Analysis of Administrative Role-Based Access Control Policies by SMT solving
Scalable Automated Symbolic Analysis of Administrative Role-Based Access Control Policies by SMT solving Alessandro Armando 1,2 and Silvio Ranise 2, 1 DIST, Università degli Studi di Genova, Italia 2 Security
Algorithmic Software Verification
Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal
Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2
CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2 Proofs Intuitively, the concept of proof should already be familiar We all like to assert things, and few of us
µz An Efficient Engine for Fixed points with Constraints
µz An Efficient Engine for Fixed points with Constraints Kryštof Hoder, Nikolaj Bjørner, and Leonardo de Moura Manchester University and Microsoft Research Abstract. The µz tool is a scalable, efficient
OHJ-2306 Introduction to Theoretical Computer Science, Fall 2012 8.11.2012
276 The P vs. NP problem is a major unsolved problem in computer science It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a $ 1,000,000 prize for the
Chair of Software Engineering. Software Verification. Assertion Inference. Carlo A. Furia
Chair of Software Engineering Software Verification Assertion Inference Carlo A. Furia Proving Programs Automatically The Program Verification problem: Given: a program P and a specification S = [Pre,
Course Syllabus For Operations Management. Management Information Systems
For Operations Management and Management Information Systems Department School Year First Year First Year First Year Second year Second year Second year Third year Third year Third year Third year Third
Model Checking: An Introduction
Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI
Sudoku as a SAT Problem
Sudoku as a SAT Problem Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal [email protected] Joël Ouaknine Oxford University Computing Laboratory, UK [email protected] Abstract Sudoku
Equivalence in Answer Set Programming
Equivalence in Answer Set Programming Mauricio Osorio, Juan Antonio Navarro, José Arrazola Universidad de las Américas, CENTIA Sta. Catarina Mártir, Cholula, Puebla 72820 México {josorio, ma108907, arrazola}@mail.udlap.mx
Chapter 7. Functions and onto. 7.1 Functions
Chapter 7 Functions and onto This chapter covers functions, including function composition and what it means for a function to be onto. In the process, we ll see what happens when two dissimilar quantifiers
Predicate logic. Logic in computer science. Logic in Computer Science (lecture) PART II. first order logic
PART II. Predicate logic first order logic Logic in computer science Seminar: INGK401-K5; INHK401; INJK401-K4 University of Debrecen, Faculty of Informatics [email protected] 1 / 19 Alphabets Logical
The Model Checker SPIN
The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(
Formalization of the CRM: Initial Thoughts
Formalization of the CRM: Initial Thoughts Carlo Meghini Istituto di Scienza e Tecnologie della Informazione Consiglio Nazionale delle Ricerche Pisa CRM SIG Meeting Iraklio, October 1st, 2014 Outline Overture:
3. Mathematical Induction
3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)
On the number of lines of theorems in the formal system MIU
On the number of lines of theorems in the formal system MIU Armando B. Matos Technical Report Series: DCC -- -- Departamento de Ciência de Computadores Faculdade de Ciências & Laboratório de Inteligência
A Beginner s Guide to Modern Set Theory
A Beginner s Guide to Modern Set Theory Martin Dowd Product of Hyperon Software PO Box 4161 Costa Mesa, CA 92628 www.hyperonsoft.com Copyright c 2010 by Martin Dowd 1. Introduction..... 1 2. Formal logic......
Software Engineering
Software Engineering Lecture 04: The B Specification Method Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 50 The B specification method
Rigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical
The History of Logic. Aristotle (384 322 BC) invented logic.
The History of Logic Aristotle (384 322 BC) invented logic. Predecessors: Fred Flintstone, geometry, sophists, pre-socratic philosophers, Socrates & Plato. Syllogistic logic, laws of non-contradiction
How To Write A Program Verification And Programming Book
Jose Bacelar Almeida Maria Joao Frade Jorge Sousa Pinto Simao Melo de Sousa Rigorous Software Development An Introduction to Program Verification & Springer Contents 1 Introduction 1 1.1 A Formal Approach
WOLLONGONG COLLEGE AUSTRALIA. Diploma in Information Technology
First Name: Family Name: Student Number: Class/Tutorial: WOLLONGONG COLLEGE AUSTRALIA A College of the University of Wollongong Diploma in Information Technology Final Examination Spring Session 2008 WUCT121
Relations: their uses in programming and computational specifications
PEPS Relations, 15 December 2008 1/27 Relations: their uses in programming and computational specifications Dale Miller INRIA - Saclay & LIX, Ecole Polytechnique 1. Logic and computation Outline 2. Comparing
Likewise, we have contradictions: formulas that can only be false, e.g. (p p).
CHAPTER 4. STATEMENT LOGIC 59 The rightmost column of this truth table contains instances of T and instances of F. Notice that there are no degrees of contingency. If both values are possible, the formula
CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing
CS Master Level Courses and Areas The graduate courses offered may change over time, in response to new developments in computer science and the interests of faculty and students; the list of graduate
Formal Verification of Software
Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification
A Problem Course in Mathematical Logic Version 1.6. Stefan Bilaniuk
A Problem Course in Mathematical Logic Version 1.6 Stefan Bilaniuk Department of Mathematics Trent University Peterborough, Ontario Canada K9J 7B8 E-mail address: [email protected] 1991 Mathematics Subject
MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis
LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,
def: An axiom is a statement that is assumed to be true, or in the case of a mathematical system, is used to specify the system.
Section 1.5 Methods of Proof 1.5.1 1.5 METHODS OF PROOF Some forms of argument ( valid ) never lead from correct statements to an incorrect. Some other forms of argument ( fallacies ) can lead from true
