SECTION 1.5: LOGIC PROGRAMMING
|
|
- Branden Little
- 5 years ago
- Views:
Transcription
1 SECTION 1.5: LOGIC PROGRAMMING William DeMeo University of South Carolina February 7, 2013
2 SPECIFYING FACTS AND RULES We populate our Prolog database with facts using predicates, e.g., E(b, fi) E(b, fo) E(d, g) A(b) A(fi) A(fo) A(d) P(g)
3 SPECIFYING FACTS AND RULES We populate our Prolog database with facts using predicates, e.g., E(b, fi) E(b, fo) E(d, g) A(b) A(fi) A(fo) A(d) P(g) where b = bear fi = fish fo = fox d = deer g = grass E(x, y) means x eats y A(x) means x is an animal P(x) means x is a plant
4 SPECIFYING FACTS AND RULES We populate our Prolog database with facts using predicates, e.g., E(b, fi) E(b, fo) E(d, g) A(b) A(fi) A(fo) A(d) P(g) We can specify rules using wffs, e.g., E(y, x) A(x) Pr(x). where b = bear fi = fish fo = fox d = deer g = grass E(x, y) means x eats y A(x) means x is an animal P(x) means x is a plant This determines the elements of our domain that are prey (those x for which Pr(x) holds).
5 SPECIFYING FACTS AND RULES We populate our Prolog database with facts using predicates, e.g., E(b, fi) E(b, fo) E(d, g) A(b) A(fi) A(fo) A(d) P(g) We can specify rules using wffs, e.g., E(y, x) A(x) Pr(x). where b = bear fi = fish fo = fox d = deer g = grass E(x, y) means x eats y A(x) means x is an animal P(x) means x is a plant This determines the elements of our domain that are prey (those x for which Pr(x) holds). Prolog treats rules as universally quantified and uses universal instantiation to strip off universal quantifiers. The rule above is interpreted as ( y)( x)[e(y, x) A(x) Pr(x)]
6 HORN CLAUSES A Horn Clause is a wff consisting of predicates connected by disjunction,, where all but at most one predicate is negated. Example: P 1 P 2 P n Q (1.1)
7 HORN CLAUSES A Horn Clause is a wff consisting of predicates connected by disjunction,, where all but at most one predicate is negated. Example: P 1 P 2 P n Q (1.1) A Horn Clause specifies an implication. Indeed, by DeMorgan s Law, (1.1) is equivalent to which is equivalent to (P 1 P 2 P n) Q, (P 1 P 2 P n) Q.
8 HORN CLAUSES A Horn Clause is a wff consisting of predicates connected by disjunction,, where all but at most one predicate is negated. Example: P 1 P 2 P n Q (1.1) A Horn Clause specifies an implication. Indeed, by DeMorgan s Law, (1.1) is equivalent to which is equivalent to (Recall A B A B.) (P 1 P 2 P n) Q, (P 1 P 2 P n) Q.
9 HORN CLAUSES A Horn Clause is a wff consisting of predicates connected by disjunction,, where all but at most one predicate is negated. Example: P 1 P 2 P n Q (1.1) A Horn Clause specifies an implication. Indeed, by DeMorgan s Law, (1.1) is equivalent to which is equivalent to Example: The rule above, is specified as the Horn Clause (P 1 P 2 P n) Q, (P 1 P 2 P n) Q. E(y, x) A(x) Pr(x), [E(y, x)] [A(x)] Pr(x).
10 RESOLUTION The rule of inference used by Prolog is called resolution.
11 RESOLUTION The rule of inference used by Prolog is called resolution. Two Horn clauses in a Prolog database are resolved to a new Horn clause if one clause contains an unnegated predicate matching a negated predicate in the other. EXAMPLE The pair of Horn clauses A(a) [A(a)] B(b) is resolved by Prolog to B(b).
12 RESOLUTION The rule of inference used by Prolog is called resolution. Two Horn clauses in a Prolog database are resolved to a new Horn clause if one clause contains an unnegated predicate matching a negated predicate in the other. EXAMPLE The pair of Horn clauses A(a) [A(a)] B(b) is resolved by Prolog to B(b). This is just modus ponens, so Prolog s rule of inference includes modus ponens as a special case.
13 RESOLUTION EXAMPLE The pair of Horn clauses [E(y, x)] [A(x)] Pr(x) [E(b, fi)]
14 RESOLUTION EXAMPLE The pair of Horn clauses [E(y, x)] [A(x)] Pr(x) [E(b, fi)] resolves to [A(fi)] P(fi).
15 RESOLUTION EXAMPLE The pair of Horn clauses [E(y, x)] [A(x)] Pr(x) [E(b, fi)] resolves to [A(fi)] P(fi). [A(fi)] P(fi) A(fi)
16 RESOLUTION EXAMPLE The pair of Horn clauses [E(y, x)] [A(x)] Pr(x) [E(b, fi)] resolves to [A(fi)] P(fi). [A(fi)] P(fi) A(fi) resolves to P(fi). Conclusion: fish are prey.
17 RESOLUTION EXAMPLE The pair of Horn clauses [E(y, x)] [A(x)] Pr(x) [E(b, fi)] resolves to [A(fi)] P(fi). [A(fi)] P(fi) A(fi) resolves to P(fi). Conclusion: fish are prey. EXAMPLE The pair of Horn clauses [E(y, x)] [A(x)] Pr(x) [A(b)]
18 RESOLUTION EXAMPLE The pair of Horn clauses [E(y, x)] [A(x)] Pr(x) [E(b, fi)] resolves to [A(fi)] P(fi). [A(fi)] P(fi) A(fi) resolves to P(fi). Conclusion: fish are prey. EXAMPLE The pair of Horn clauses [E(y, x)] [A(x)] Pr(x) [A(b)] resolves to [E(y, b)] Pr(b).
19 RESOLUTION EXAMPLE The pair of Horn clauses [E(y, x)] [A(x)] Pr(x) [E(b, fi)] resolves to [A(fi)] P(fi). [A(fi)] P(fi) A(fi) resolves to P(fi). Conclusion: fish are prey. EXAMPLE The pair of Horn clauses [E(y, x)] [A(x)] Pr(x) [A(b)] resolves to [E(y, b)] Pr(b)....but this time, when we search the database for E(a, b), for some a, we don t find it, so can t conclude that bears are prey.
20 RECURSION Prolog rules are implications. The antecedents may depend on facts or other rules.
21 RECURSION Prolog rules are implications. The antecedents may depend on facts or other rules. The antecedent of a rule may also depend on that rule itself, in which case the rule is defined in terms of itself. This is a recursive definition.
22 RECURSION Prolog rules are implications. The antecedents may depend on facts or other rules. The antecedent of a rule may also depend on that rule itself, in which case the rule is defined in terms of itself. This is a recursive definition. EXAMPLE Consider the binary relation in-food-chain(x, y), meaning y is in x s food chain. This means 1 x eats y, or 2 x eats something that eats something that eats something... that eats y; i.e., x eats z and y is in z s food chain: eats(x, z) in-food-chain(z, y)
23 RECURSION Case (1), x eats y, is simple to test, but without Case (2), in-food-chain(x, y) is no different from eat(x, y).
24 RECURSION Case (1), x eats y, is simple to test, but without Case (2), in-food-chain(x, y) is no different from eat(x, y). OTOH, without (1) we have a rule describing an infinitely descending food chain, which never terminates, and never resolves to True.
25 RECURSION Case (1), x eats y, is simple to test, but without Case (2), in-food-chain(x, y) is no different from eat(x, y). OTOH, without (1) we have a rule describing an infinitely descending food chain, which never terminates, and never resolves to True. Recursive definitions always need a stopping point.
26 RECURSION Case (1), x eats y, is simple to test, but without Case (2), in-food-chain(x, y) is no different from eat(x, y). OTOH, without (1) we have a rule describing an infinitely descending food chain, which never terminates, and never resolves to True. Recursive definitions always need a stopping point. The Prolog rule for in-food-chain: in-food-chain(x, y) if ( ) eat(x, y) or eat(x, z) and in-food-chain(z, y) This is a recursive rule because it defines the predicate in-food-chain in terms of itself.
27 EXPERT SYSTEMS Many interesting applications programs have been developed, in Prolog and similar logic programming languages, that gather a database of facts and rules about some domain and use this database to draw conclusions.
28 EXPERT SYSTEMS Many interesting applications programs have been developed, in Prolog and similar logic programming languages, that gather a database of facts and rules about some domain and use this database to draw conclusions. Such programs are known as expert systems, knowledge-based systems, or rule-based systems.
29 EXPERT SYSTEMS Many interesting applications programs have been developed, in Prolog and similar logic programming languages, that gather a database of facts and rules about some domain and use this database to draw conclusions. Such programs are known as expert systems, knowledge-based systems, or rule-based systems. The database in an expert system attempts to capture the knowledge, or elicit the expertise, of a human expert in a particular field. This includes both the facts known to the expert and the expert s reasoning path in reaching conclusions from those facts.
CSL105: Discrete Mathematical Structures. Ragesh Jaiswal, CSE, IIT Delhi
is another way of showing that an argument is correct. Definitions: Literal: A variable or a negation of a variable is called a literal. Sum and Product: A disjunction of literals is called a sum and a
More informationConstraint Solving. Systems and Internet Infrastructure Security
Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Constraint Solving Systems
More informationResolution (14A) Young W. Lim 6/14/14
Copyright (c) 2013-2014. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free
More informationLogical reasoning systems
Logical reasoning systems Theorem provers and logic programming languages Production systems Frame systems and semantic networks Description logic systems CS 561, Session 19 1 Logical reasoning systems
More informationQuantification. Using the suggested notation, symbolize the statements expressed by the following sentences.
Quantification In this and subsequent chapters, we will develop a more formal system of dealing with categorical statements, one that will be much more flexible than traditional logic, allow a deeper analysis
More informationPdOd Kev Events I Re-world war I1 rwa
I PdOd Kev Events I Re-world war I rwa LECTURE: Knowledge Representation Overview 0 'Qpes of knowledge: objects, events, meta-knowledge, etc. 0 Characteristics of representation: expressive adequacy vs.
More informationCMPSCI 250: Introduction to Computation. Lecture #7: Quantifiers and Languages 6 February 2012
CMPSCI 250: Introduction to Computation Lecture #7: Quantifiers and Languages 6 February 2012 Quantifiers and Languages Quantifier Definitions Translating Quantifiers Types and the Universe of Discourse
More informationPHIL 240, Introduction to Logic, Sections Fall 2011 FINAL EXAM 14 December Name (5 points): Section (5 points):
Section I True / False questions (2 points each) 1. TRUE Any argument that is sound is also valid. 2. FALSE_ If the premises of an argument are all true, then that argument is sound. 3. TRUE Every universal
More informationPredicate Calculus. Problems? Syntax. Atomic Sentences. Complex Sentences. Truth
Problems? What kinds of problems exist for propositional logic? Predicate Calculus A way to access the components of an individual assertion Predicate Calculus: used extensively in many AI programs, especially
More informationCS 561: Artificial Intelligence
CS 561: Artificial Intelligence Instructor: TAs: Sofus A. Macskassy, macskass@usc.edu Nadeesha Ranashinghe (nadeeshr@usc.edu) William Yeoh (wyeoh@usc.edu) Harris Chiu (chiciu@usc.edu) Lectures: MW 5:00-6:20pm,
More informationL05 - Negating Statements
L05 - Negating Statements CSci/Math 2112 15 May 2015 1 / 14 Assignment 1 Assignment 1 is now posted Due May 22 at the beginning of class Can work on it in groups, but separate write-up Don t forget your
More informationDeduction Rule System vs Production Rule System. Prof. Bob Berwick. Rules Rule
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.034 Artificial Intelligence, Fall 2003 Recitation 2, September 11/12 Rules Rule Prof. Bob Berwick Agenda
More informationFormal Predicate Calculus. Michael Meyling
Formal Predicate Calculus Michael Meyling May 24, 2013 2 The source for this document can be found here: http://www.qedeq.org/0_04_07/doc/math/qedeq_formal_logic_v1.xml Copyright by the authors. All rights
More informationAutomated Reasoning PROLOG and Automated Reasoning 13.4 Further Issues in Automated Reasoning 13.5 Epilogue and References 13.
13 Automated Reasoning 13.0 Introduction to Weak Methods in Theorem Proving 13.1 The General Problem Solver and Difference Tables 13.2 Resolution Theorem Proving 13.3 PROLOG and Automated Reasoning 13.4
More informationLecture 17 of 41. Clausal (Conjunctive Normal) Form and Resolution Techniques
Lecture 17 of 41 Clausal (Conjunctive Normal) Form and Resolution Techniques Wednesday, 29 September 2004 William H. Hsu, KSU http://www.kddresearch.org http://www.cis.ksu.edu/~bhsu Reading: Chapter 9,
More informationTopic B: Backtracking and Lists
Topic B: Backtracking and Lists 1 Recommended Exercises and Readings From Programming in Prolog (5 th Ed.) Readings: Chapter 3 2 Searching for the Answer In order for a Prolog program to report the correct
More informationCSE 311: Foundations of Computing. Lecture 8: Predicate Logic Proofs
CSE 311: Foundations of Computing Lecture 8: Predicate Logic Proofs Last class: Propositional Inference Rules Two inference rules per binary connective, one to eliminate it and one to introduce it Elim
More informationCS 380/480 Foundations of Artificial Intelligence Winter 2007 Assignment 2 Solutions to Selected Problems
CS 380/480 Foundations of Artificial Intelligence Winter 2007 Assignment 2 Solutions to Selected Problems 1. Search trees for the state-space graph given below: We only show the search trees corresponding
More informationNotes for Chapter 12 Logic Programming. The AI War Basic Concepts of Logic Programming Prolog Review questions
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions The AI War How machines should learn: inductive or deductive? Deductive: Expert => rules =>
More informationSection 2.4: Arguments with Quantified Statements
Section 2.4: Arguments with Quantified Statements In this section, we shall generalize the ideas we developed in Section 1.3 to arguments which involve quantified statements. Most of the concepts we shall
More informationResolution in FOPC. Deepak Kumar November Knowledge Engineering in FOPC
Resolution in FOPC Deepak Kumar November 2017 Knowledge Engineering in FOPC Identify the task Assemble relevant knowledge Decide on a vocabulary of predicates, functions, and constants Encode general knowledge
More informationWhat is the study of logic?
Chapter 2: The Representation of Knowledge Expert Systems: Principles and Programming, Fourth Edition What is the study of logic? Logic is the study of making inferences given a set of facts, we attempt
More informationTopic A: Introduction to Prolog
Topic A: Introduction to Prolog Recommended Exercises and Readings From Programming in Prolog (5 th Ed.) Exercises: 1.2, 1.3, 1.4, Readings: Chapters 1 and 2 1 2 Prolog Prolog: Programming in Logic A logic
More informationComputational Logic. SLD resolution. Damiano Zanardini
Computational Logic SLD resolution Damiano Zanardini UPM European Master in Computational Logic (EMCL) School of Computer Science Technical University of Madrid damiano@fi.upm.es Academic Year 2009/2010
More informationIntroduction to predicate calculus
Logic Programming Languages Logic programming systems allow the programmer to state a collection of axioms from which theorems can be proven. Express programs in a form of symbolic logic Use a logical
More informationLogic Languages. Hwansoo Han
Logic Languages Hwansoo Han Logic Programming Based on first-order predicate calculus Operators Conjunction, disjunction, negation, implication Universal and existential quantifiers E A x for all x...
More informationKnowledge Representation. CS 486/686: Introduction to Artificial Intelligence
Knowledge Representation CS 486/686: Introduction to Artificial Intelligence 1 Outline Knowledge-based agents Logics in general Propositional Logic& Reasoning First Order Logic 2 Introduction So far we
More informationAxiomatic Specification. Al-Said, Apcar, Jerejian
Axiomatic Specification Al-Said, Apcar, Jerejian 1 Axioms: Wffs that can be written down without any reference to any other Wffs. Wffs that are stipulated as unproved premises for the proof of other wffs
More informationLecture 4: January 12, 2015
32002: AI (First Order Predicate Logic, Interpretation and Inferences) Spring 2015 Lecturer: K.R. Chowdhary Lecture 4: January 12, 2015 : Professor of CS (VF) Disclaimer: These notes have not been subjected
More informationLogic as a Programming Language
Logic as a Programming Language! Logic can be considered the oldest programming language! Aristotle invented propositional logic over 2000 years ago in order to prove properties of formal arguments! Propositions
More informationRange Restriction for General Formulas
Range Restriction for General Formulas 1 Range Restriction for General Formulas Stefan Brass Martin-Luther-Universität Halle-Wittenberg Germany Range Restriction for General Formulas 2 Motivation Deductive
More informationCOMP4418 Knowledge Representation and Reasoning
COMP4418 Knowledge Representation and Reasoning Week 3 Practical Reasoning David Rajaratnam Click to edit Present s Name Practical Reasoning - My Interests Cognitive Robotics. Connect high level cognition
More informationFoundations of AI. 9. Predicate Logic. Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution
Foundations of AI 9. Predicate Logic Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution Wolfram Burgard, Andreas Karwath, Bernhard Nebel, and Martin Riedmiller 09/1 Contents Motivation
More information6.034 Notes: Section 11.1
6.034 Notes: Section 11.1 Slide 11.1.1 We've now spent a fair bit of time learning about the language of first-order logic and the mechanisms of automatic inference. And, we've also found that (a) it is
More informationPrinciples of Programming Languages Topic: Logic Programming Professor Lou Steinberg
Principles of Programming Languages Topic: Logic Programming Professor Lou Steinberg 1 Logic Programming True facts: If I was born in year B, then in year Y on my birthday I turned Y-B years old I turned
More informationToday s Lecture 4/13/ WFFs/ Free and Bound Variables 9.3 Proofs for Pred. Logic (4 new implicational rules)!
Today s Lecture 4/13/10 9.1 WFFs/ Free and Bound Variables 9.3 Proofs for Pred. Logic (4 new implicational rules)! Announcements Welcome Back! Answers to latest symbolizations HW are posted on-line Homework:
More informationCopyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 6 Outline. Unary Relational Operations: SELECT and
Chapter 6 The Relational Algebra and Relational Calculus Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 Outline Unary Relational Operations: SELECT and PROJECT Relational
More informationModule 6. Knowledge Representation and Logic (First Order Logic) Version 2 CSE IIT, Kharagpur
Module 6 Knowledge Representation and Logic (First Order Logic) 6.1 Instructional Objective Students should understand the advantages of first order logic as a knowledge representation language Students
More informationLogic and its Applications
Logic and its Applications Edmund Burke and Eric Foxley PRENTICE HALL London New York Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Contents Preface xiii Propositional logic 1 1.1 Informal introduction
More informationOutcome-Oriented Programming (5/12/2004)
1 Outcome-Oriented Programming (5/12/2004) Daniel P. Friedman, William E. Byrd, David W. Mack Computer Science Department, Indiana University Bloomington, IN 47405, USA Oleg Kiselyov Fleet Numerical Meteorology
More informationLING/C SC/PSYC 438/538. Lecture 20 Sandiway Fong
LING/C SC/PSYC 438/538 Lecture 20 Sandiway Fong Today's Topics SWI-Prolog installed? We will start to write grammars today Quick Homework 8 SWI Prolog Cheatsheet At the prompt?- 1. halt. 2. listing. listing(name).
More informationRuntime Checking for Program Verification Systems
Runtime Checking for Program Verification Systems Karen Zee, Viktor Kuncak, and Martin Rinard MIT CSAIL Tuesday, March 13, 2007 Workshop on Runtime Verification 1 Background Jahob program verification
More informationLogic Programming Languages
Logic Programming Languages Introduction Logic programming languages, sometimes called declarative programming languages Express programs in a form of symbolic logic Use a logical inferencing process to
More informationLogic (or Declarative) Programming Foundations: Prolog. Overview [1]
Logic (or Declarative) Programming Foundations: Prolog In Text: Chapter 12 Formal logic Logic programming Prolog Overview [1] N. Meng, S. Arthur 2 1 Logic Programming To express programs in a form of symbolic
More informationfor all x, the assertion P(x) is false. there exists x, for which the assertion P(x) is true.
You can t prove a predicate is true because a predicate is not an assertion, you can t prove it is valid as it is not a deduction! If someone asks you to prove P(x), it is not totally clear what they mean.
More information6. Inference and resolution
Computer Science and Software Engineering University of Wisconsin - Platteville 6. Inference and resolution CS 3030 Lecture Notes Yan Shi UW-Platteville Read: Textbook Chapter 8 Part of the slides are
More informationproof through refutation
Prolog's logic; resolution grammars & parsing 1 proof through refutation we saw that Prolog uses the strategy: test the claim that a query is false by (1) finding it is immediately true (matches a fact
More informationTopic 1: Introduction to Knowledge- Based Systems (KBSs)
Topic 1: Introduction to Knowledge- Based Systems (KBSs) 1.5 Introduction to Logic Programming (Prolog) 32 Simple example: Algorithm for checking sorted list? We all know how to check if a list is sorted:
More informationMixed Integer Linear Programming
Mixed Integer Linear Programming Part I Prof. Davide M. Raimondo A linear program.. A linear program.. A linear program.. Does not take into account possible fixed costs related to the acquisition of new
More informationCS Bootcamp Boolean Logic Autumn 2015 A B A B T T T T F F F T F F F F T T T T F T F T T F F F
1 Logical Operations 1.1 And The and operator is a binary operator, denoted as, &,, or sometimes by just concatenating symbols, is true only if both parameters are true. A B A B F T F F F F The expression
More informationGeometry Note-Sheet Overview
Geometry Note-Sheet Overview 1. Logic a. A mathematical sentence is a sentence that states a fact or contains a complete idea. Open sentence it is blue x+3 Contains variables Cannot assign a truth variable
More informationArtificial Intelligence Notes Lecture : Propositional Logic and Inference
Page 1 of 7 Introduction Artificial Intelligence Notes Lecture : Propositional Logic and Inference Logic is a natural bridge between man and machine. This is because: Logic is well-defined, which makes
More informationLearning Rules. Learning Rules from Decision Trees
Learning Rules In learning rules, we are interested in learning rules of the form: if A 1 A 2... then C where A 1, A 2,... are the preconditions/constraints/body/ antecedents of the rule and C is the postcondition/head/
More informationFirst Order Logic. Introduction to AI Bert Huang
First Order Logic Introduction to AI Bert Huang Review Propositional logic syntax and semantics Inference in propositional logic: table, inference rules, resolution Horn clauses, forward/backward chaining
More informationWeek 4. COMP62342 Sean Bechhofer, Uli Sattler
Week 4 COMP62342 Sean Bechhofer, Uli Sattler sean.bechhofer@manchester.ac.uk, uli.sattler@manchester.ac.uk Today Some clarifications from last week s coursework More on reasoning: extension of the tableau
More informationChapter 16. Logic Programming Languages
Chapter 16 Logic Programming Languages Chapter 16 Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic Programming The Origins of
More informationPractice Problems: All Computer Science majors are people. Some computer science majors are logical thinkers. Some people are logical thinkers.
CSE 240, Fall, 2013 Homework 2 Due, Tuesday September 17. Can turn in class, at the beginning of class, or earlier in the mailbox labelled Pless in Bryan Hall, room 509c. Practice Problems: 1. Consider
More informationLOGIC AND DISCRETE MATHEMATICS
LOGIC AND DISCRETE MATHEMATICS A Computer Science Perspective WINFRIED KARL GRASSMANN Department of Computer Science University of Saskatchewan JEAN-PAUL TREMBLAY Department of Computer Science University
More informationKnowledge Representation
Knowledge Representation References Rich and Knight, Artificial Intelligence, 2nd ed. McGraw-Hill, 1991 Russell and Norvig, Artificial Intelligence: A modern approach, 2nd ed. Prentice Hall, 2003 Outline
More informationKnowledge & Reasoning
Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of representing large bodies of knowledge 1 Logical
More informationChapter 16. Logic Programming Languages ISBN
Chapter 16 Logic Programming Languages ISBN 0-321-49362-1 Chapter 16 Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic Programming
More informationCSI30. Chapter 1. The Foundations: Logic and Proofs Rules of inference with quantifiers Logic and bit operations Specification consistency
Chapter 1. The Foundations: Logic and Proofs 1.13 Rules of inference with quantifiers Logic and bit operations Specification consistency 1.13 Rules of inference with quantifiers universal instantiation
More information(More) Propositional Logic and an Intro to Predicate Logic. CSCI 3202, Fall 2010
(More) Propositional Logic and an Intro to Predicate Logic CSCI 3202, Fall 2010 Assignments Next week: Guest lectures (Jim Martin and Nikolaus Correll); Read Chapter 9 (but you can skip sections on logic
More informationSTABILITY AND PARADOX IN ALGORITHMIC LOGIC
STABILITY AND PARADOX IN ALGORITHMIC LOGIC WAYNE AITKEN, JEFFREY A. BARRETT Abstract. Algorithmic logic is the logic of basic statements concerning algorithms and the algorithmic rules of deduction between
More information9/19/12. Why Study Discrete Math? What is discrete? Sets (Rosen, Chapter 2) can be described by discrete math TOPICS
What is discrete? Sets (Rosen, Chapter 2) TOPICS Discrete math Set Definition Set Operations Tuples Consisting of distinct or unconnected elements, not continuous (calculus) Helps us in Computer Science
More informationFuzzy logic. 1. Introduction. 2. Fuzzy sets. Radosªaw Warzocha. Wrocªaw, February 4, Denition Set operations
Fuzzy logic Radosªaw Warzocha Wrocªaw, February 4, 2014 1. Introduction A fuzzy concept appearing in works of many philosophers, eg. Hegel, Nietzche, Marx and Engels, is a concept the value of which can
More informationARTIFICIAL INTELLIGENCE (CS 370D)
Princess Nora University Faculty of Computer & Information Systems ARTIFICIAL INTELLIGENCE (CS 370D) (CHAPTER-7) LOGICAL AGENTS Outline Agent Case (Wumpus world) Knowledge-Representation Logic in general
More informationChapter 16. Logic Programming Languages ISBN
Chapter 16 Logic Programming Languages ISBN 0-321-49362-1 Chapter 16 Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic Programming
More informationLogic Programming and Resolution Lecture notes for INF3170/4171
Logic Programming and Resolution Lecture notes for INF3170/4171 Leif Harald Karlsen Autumn 2015 1 Introduction This note will explain the connection between logic and computer programming using Horn Clauses
More informationTowards a Logical Reconstruction of Relational Database Theory
Towards a Logical Reconstruction of Relational Database Theory On Conceptual Modelling, Lecture Notes in Computer Science. 1984 Raymond Reiter Summary by C. Rey November 27, 2008-1 / 63 Foreword DB: 2
More informationModule 6. Knowledge Representation and Logic (First Order Logic) Version 2 CSE IIT, Kharagpur
Module 6 Knowledge Representation and Logic (First Order Logic) Lesson 15 Inference in FOL - I 6.2.8 Resolution We have introduced the inference rule Modus Ponens. Now we introduce another inference rule
More informationFirst-Order Logic (FOL)
First-Order Logic (FOL) FOL consists of the following parts: Objects/terms Quantified variables Predicates Logical connectives Implication Objects/Terms FOL is a formal system that allows us to reason
More informationCPS 506 Comparative Programming Languages. Programming Language Paradigm
CPS 506 Comparative Programming Languages Logic Programming Language Paradigm Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic
More informationQuestion 1: 25% of students lost more than 2 points Question 2: 50% of students lost 2-4 points; 50% got it entirely correct Question 3: 95% of
Question 1: 25% of students lost more than 2 points Question 2: 50% of students lost 2-4 points; 50% got it entirely correct Question 3: 95% of students got this problem entirely correct Question 4: Only
More informationAxiom 3 Z(pos(Z) X(X intersection of Z P(X)))
In this section, we are going to prove the equivalence between Axiom 3 ( the conjunction of any collection of positive properties is positive ) and Proposition 3 ( it is possible that God exists ). First,
More informationCS 4700: Artificial Intelligence
CS 4700: Foundations of Artificial Intelligence Fall 2017 Instructor: Prof. Haym Hirsh Lecture 16 Cornell Cinema Thursday, April 13 7:00pm Friday, April 14 7:00pm Sunday, April 16 4:30pm Cornell Cinema
More informationWhat is Prolog? - 1. A Prolog Tutorial. Prolog Programming. What is Prolog? - 2. » Declaring some facts about objects and their relationships
What is Prolog? - 1 Prolog is an example of a logic programming language A Prolog Tutorial Based on Clocksin and Mellish Chapter 1 Invented by Alain Colmeraurer in 1972 The version implemented at the University
More informationCPSC 121: Models of Computation. Module 6: Rewriting predicate logic statements
CPSC 121: Models of Computation Module 6: Rewriting predicate logic statements Module 6: Rewriting predicate logic statements Pre-class quiz #7 is due March 1st at 19:00. Assigned reading for the quiz:
More informationFOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES
FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES RDFS Rule-based Reasoning Sebastian Rudolph Dresden, 16 April 2013 Content Overview & XML 9 APR DS2 Hypertableau II 7 JUN DS5 Introduction into RDF 9 APR DS3 Tutorial
More information6.034 Notes: Section 10.1
6.034 Notes: Section 10.1 Slide 10.1.1 A sentence written in conjunctive normal form looks like ((A or B or not C) and (B or D) and (not A) and (B or C)). Slide 10.1.2 Its outermost structure is a conjunction.
More informationProofs are Programs. Prof. Clarkson Fall Today s music: Proof by Paul Simon
Proofs are Programs Prof. Clarkson Fall 2017 Today s music: Proof by Paul Simon Review Previously in 3110: Functional programming in Coq Logic in Coq Today: A fundamental idea that goes by many names...
More informationDerived from PROgramming in LOGic (1972) Prolog and LISP - two most popular AI languages. Prolog programs based on predicate logic using Horn clauses
Prolog Programming Derived from PROgramming in LOGic (1972) Good at expressing logical relationships between concepts Prolog and LISP - two most popular AI languages Execution of a Prolog program is a
More informationIntegrity Constraints (Chapter 7.3) Overview. Bottom-Up. Top-Down. Integrity Constraint. Disjunctive & Negative Knowledge. Proof by Refutation
CSE560 Class 10: 1 c P. Heeman, 2010 Integrity Constraints Overview Disjunctive & Negative Knowledge Resolution Rule Bottom-Up Proof by Refutation Top-Down CSE560 Class 10: 2 c P. Heeman, 2010 Integrity
More informationSummary of Course Coverage
CS-227, Discrete Structures I Spring 2006 Semester Summary of Course Coverage 1) Propositional Calculus a) Negation (logical NOT) b) Conjunction (logical AND) c) Disjunction (logical inclusive-or) d) Inequalities
More informationQuick n Dirty Prolog Tutorial
CSc 245 Introduction to Discrete Structures Quick n Dirty Prolog Tutorial (McCann) Last Revised: February 2014 Background: Prolog, whose name is from the phrase PROgramming in LOGic, is a special purpose
More informationInference in First-Order Logic
Inference in First-Order Logic Proofs Unification Generalized modus ponens Forward and backward chaining Completeness Resolution Logic programming CS 561, Session 16-18 1 Inference in First-Order Logic
More informationWeek 7 Prolog overview
Week 7 Prolog overview A language designed for A.I. Logic programming paradigm Programmer specifies relationships among possible data values. User poses queries. What data value(s) will make this predicate
More informationChapter 5: Other Relational Languages
Chapter 5: Other Relational Languages Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 5: Other Relational Languages Tuple Relational Calculus Domain Relational Calculus
More informationTyped Lambda Calculus
Department of Linguistics Ohio State University Sept. 8, 2016 The Two Sides of A typed lambda calculus (TLC) can be viewed in two complementary ways: model-theoretically, as a system of notation for functions
More informationLecture notes. Com Page 1
Lecture notes Com Page 1 Contents Lectures 1. Introduction to Computational Intelligence 2. Traditional computation 2.1. Sorting algorithms 2.2. Graph search algorithms 3. Supervised neural computation
More informationThe Logic Paradigm. Joseph Spring. 7COM1023 Programming Paradigms
The Logic Paradigm Joseph Spring 7COM1023 Programming Paradigms 1 Discussion The Logic Paradigm Propositional and Predicate Logic See also notes and slides on PP website Horn Clauses Definition, Examples
More informationVisual Prolog Tutorial
Visual Prolog Tutorial Jim Mims April 2008 (with modification by Danjie Zhu) Preface What is Prolog? Programming in Logic. Edinburgh syntax is the basis of ISO standard. High-level interactive language.
More informationInference rule for Induction
Inference rule for Induction Let P( ) be a predicate with domain the positive integers BASE CASE INDUCTIVE STEP INDUCTIVE Step: Usually a direct proof Assume P(x) for arbitrary x (Inductive Hypothesis),
More informationTHE LOGIC OF QUANTIFIED STATEMENTS
CHAPTER 3 THE LOGIC OF QUANTIFIED STATEMENTS Copyright Cengage Learning. All rights reserved. SECTION 3.4 Arguments with Quantified Statements Copyright Cengage Learning. All rights reserved. Arguments
More informationAutomatic Reasoning (Section 8.3)
Automatic Reasoning (Section 8.3) Automatic Reasoning Can reasoning be automated? Yes, for some logics, including first-order logic. We could try to automate natural deduction, but there are many proof
More informationLearning Rules. How to use rules? Known methods to learn rules: Comments: 2.1 Learning association rules: General idea
2. Learning Rules Rule: cond è concl where } cond is a conjunction of predicates (that themselves can be either simple or complex) and } concl is an action (or action sequence) like adding particular knowledge
More informationCSE 20 DISCRETE MATH. Fall
CSE 20 DISCRETE MATH Fall 2017 http://cseweb.ucsd.edu/classes/fa17/cse20-ab/ Final exam The final exam is Saturday December 16 11:30am-2:30pm. Lecture A will take the exam in Lecture B will take the exam
More informationPropositional Calculus. Math Foundations of Computer Science
Propositional Calculus Math Foundations of Computer Science Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they can use it to
More informationCSC 501 Semantics of Programming Languages
CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this
More informationDATABASE THEORY. Lecture 11: Introduction to Datalog. TU Dresden, 12th June Markus Krötzsch Knowledge-Based Systems
DATABASE THEORY Lecture 11: Introduction to Datalog Markus Krötzsch Knowledge-Based Systems TU Dresden, 12th June 2018 Announcement All lectures and the exercise on 19 June 2018 will be in room APB 1004
More information