Artificial Intelligence Notes Lecture : Propositional Logic and Inference
|
|
- Patience George
- 6 years ago
- Views:
Transcription
1 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 it possible to be manipulated using a computer. Logic is symbolic, which is closer to the way humans reason than the numeric types of computation normally associated with computers. The automation of logical deduction has been the most successful forms of artificial intelligence, resulting in a large number of useful expert systems, as well as a programming language (Prolog) designed to automate the process. Propositional Logic This simplest form of logic is propositional logic. A statement in propostional logic may contain the following: Propositions These are statements which are either true or false. Examples include: "It is sunny." "It is winter." "The patient has a fever" "The patient has the " Logical Connectives These include the "logical operators" associated with most programming languages, such as: Λ V "and" "or" "not" > "implies" also called " if.. then..." <-> "if and only if" Some examples of logical statements include: summer V winter ("It is summer or it is winter") cold Λ summer ("It is cold and it is not summer") winter > cold ("If it is winter, then it is cold") (note however if its cold it doesn't imply its winter) A B A > Β 1 T T T 2 T F F A B B V A F T T F F F
2 Page 2 of 7 3 F T T 4 F F T T T T T F T One important thing to note is that implies can be rewritten in terms of not and or; specifically, A > B may be rewritten as B V A. The output column of the two truth tables show that they are logically equivalent. The relationship A > B is particularly important for certain proofs we will see later. The validility of the statement A > B can be hard to get your head around. Consider that someone tells you " If I am hungry then I eat". One day you find that he is hungry and he's not eating (see #2 in the table)! Obviously the (general) assertion that he made to you about eating when he's hungry isn't true. Note however if you had met him eating when he wasn't hungry (see line #3 in the table) this would not make him a lier because his general statement does not preclude him from eating when he's not hungry. So the assertion A > B is a lie if you find: A is true, and B is false Therefore, if either B is true or A is false then the assertion A > B cannot be proven to be false. But please note that some crazy "If...Then" statements are possible. If (3<5) then (5>3)... This is valid per line #1 above If Paris is in Ireland then Sydney is a lovely city... This is valid per line #3 above This is possible simply because the logic is pure and the statements do not have to make any sence in their association with the real-world. Deductive Methods for Propositional Logic Modus Ponens: And Elimination: Double Negative: Or Introdution: And Introduction: (A > B) Λ A B A1_Λ_Α2_Λ...Λ_Α Λ_Α2_Λ...Λ_Αn Ai A A A1 A1 V A2 V... An A1, Α2,..., Αn A1 Λ Α2 Λ...Λ Αn "if the 'if' part of an implication is true, then so is the 'then' part" (see line #1 of table above) "if a lot of things are true, than each one is indivually true" "if something is true, than any statement "or-ed" with it is also true" "if a bunch of things are true individually, then their conjunction is also true" Unit A V B, B "if A or B is true, and we know that B is not true, then A
3 Page 3 of 7 Resolution: A must be true" Resolution: A V B, B V C A V C If B is true, then C must be true for the B V C part of the statement to be true. If B is false, then A must be true for the A V B part of the statement to be true. For example, consider the following set of facts and rules for a simple diagnosis domain (the knowledge base for that domain): Facts: innocuated, fever Rules: fever > flu V innoculated > Goal: prove flu fever, fever > flu V flu V innoculated, innoculated > flu V, flu Given that we know for certain (the fact) that someone has a fever and we know (the rule) fever > flu V is a valid rule then we can say for certain that its either flu or measels. How Holmes? Because my dear fellow we used the logical deductive method modus ponens. modus ponens modus ponens unit resolution Cannonical Statement Forms In order to automate the process of deduction, it helps greatly if all of are statements are in some "cannonical" or "uniform" form. The idea is to be able to use the same deductive method all of the time, rather than having to choose between several (as in the above example). One such form is based on resolution. This requires that all statements be represented as disjunctions (that is, in the form A V B V...). This can be done by, as noted above, converting statements of the form A > B to B V A. For example, the above knowledge base may be rewritten as: Facts: innocuated, fever Rules: fever > flu V becomes fever V flu V innoculated > becomes innoculated V The above proof may then be rewritten as:
4 Page 4 of 7 fever, fever V flu V flu V innoculated, innoculated V flu V, flu resolution resolution resolution In Practice While this is very simple from a mathematical point of view, it is not a particularly intuitive representation. Users are more comfortable with rules of the form A > B, which is why most expert systems use that form. However, most place some restrictions on the form of these rules, such as: The statement on the right of the > can only be a single proposition. The statement on the right of the > must not be a negation. For example, one way to rewrite the above rules is: Facts: innocuated, fever Rules: fever > flu fever Λ innoculated > Search and Logic Search is an important part of the process of logical deduction, with respect to choosing which rules to apply next. In particular, there are two different ways to approach deduction -- either working forward from facts to conclusions, or backwards from potential conclusions to facts. Forward chaining is the most intuitive way to think about deduction; start with a set of rules and facts and combine them, creating new knowledge. That is, we match the "if" part of each rule against the current set of facts. If there is a match, then the "then" part of the rule is added to the total knowledge: Facts Rules New Knowledge fever, innoculated (fever > flu) fever, flu There are some major weaknesses with forward chaining, however: It is not "goal directed". That is, we usually have some purpose in performing decuction, rather than just to blindly add knowledge. For example, we may want to know whether some specific proposition ("does the patient have ") is true, or which of a small number of propositions is true. If the knowledge base is large enough, a forward chaining algorithm can perfoem a lot of deduction about things that the user considers irrelevant. It forces us to gather all facts at the start of the process in order to perform deductions. This can be be a problem if some of the facts are expensive to gather (such as medical tests).
5 Page 5 of 7 Backward Chaining is often preferred by most expert systems because it allows us to work backwards from goal propositions (such as whether or not the patient has ), gathering facts only when needed to prove/disprove those propositions. The basic ideas are as follows: Suppose that we are currently trying to prove the proposition A: If we have a rule of the form B > A, then B becomes a current proposition to be proven. Or if we have a rule of the form B Λ C > A, then both B and C become a current propositions to be proven. Note that if we fail to prove one, then there is no point in trying to prove the other (which will save time). Or if we have a rule of the form B V C > A, then either B or C become current propositions to be proven. Note that we only try to prove the second if we fail to prove the first one (which will save time). Or if there are no such rules with A on the left side of the >, then A is considered to be a "fact", which we then try to find the value of (usually by asking the user). For example, consider the following knowledge base for loan determination: 1. low_risk V good_assets > loan 2. has_job Λ good_credit Λ high_income > low_risk 3. owns_home V high_balance > good assets Suppose the goal of the expert system is to determine whether loan is true (that is, whether or not to give a loan to this particular applicant). This means that loan is the initial goal to be proven. The search would look like the following: 1. The expert system would search the knowledge base for any rule with loan on the right of the >. It would find rule 1, and make low_risk the current goal (assuming it tries the leftmost proposition of an or first). 2. The expert system would search the knowledge base for any rule with low_risk on the right of the >. It would find rule 2, and make has_job the current goal (assuming it tries the leftmost proposition of an or first). 3. The expert system would search the knowledge base for any rule with low_risk on the right of the >. It would find none, so it would ask the user whether or not the applicant has a job. We will assume that it is told that this is true. 4. The expert system would then make good_credit the current goal, as that is the next proposition in the conjunction. 5. The expert system would search the knowledge base for any rule with good_credit on the right of the >. It would find none, so it would ask the user whether or not the applicant has good credit. We will assume that it is told that this is false. 6. This means that the proposition low_risk is also false. The user would not be asked about high_income. 7. The expert system would then try to prove good_assets, since that is another way to prove loan. 8. The expert system would search the knowledge base for any rule with good_assets on the right of the >. It would find rule 3, and make owns_home the current goal. 9. The expert system would search the knowledge base for any rule with owns_home on the right of the >. It would find none, so it would ask the user whether or not the applicant owns a home. We will assume that it is told that this is true. 10. This means that the proposition good_assets is also true. The user would not be asked about high_balance. 11. This means that loan is also true. Since our goal has been proven, we do no further work.
6 Page 6 of 7 Note that the above process is a depth-first search, in which we explore one branch completely before starting another. This is the algorithm generally used by expert systems. loan / / \ false low_risk good_assets true / \ / \ / \ / \ has_job good_credit high_income owns_home high_balance true false truetrue If there are several possible goals which may or may nor be true, most expert systems simply try to prove them one at a time. For example, if the patient may have either or flu, the expert system would first try to prove, and if that failed, it would try to prove flu (without, of course, reasking any of the qusetions it used to try to prove ). This strategy is sometimes refererred to as generate and test. Finally, most of the complex reasoning done by humans often combines forward and backward chaining: Starting with an initial problem/symptoms/set of facts, do forward chaining to find a set of hypotheses. For example, if a patient comes in complaining of fever, we might forward chain to or flu as potential hypotheses. We would then do backward chaining from those hypotheses in order to gather additional information to prove or disprove them. For example, we might ask the user whether or not innoculated is true in order to prove/disprove the hypotheses of. Expert Systems and Knowledge Acquisition As mentioned above, propositional logic is the basis of expert systems. An expert system is meant to duplicate the knowledge of a human expert in some particular domain. The major components of an expert system are the knowledge base and the inference engine: Knowledge base A knowledge base is a set of rules in some logic (such as propositional logic) which apply to some particular domain. For example, the rules given above are a very simple knowledge base for medicine. Inference engine Software that automates the process of deduction. This usually involves backward chaining from some given goal or set of goals, asking the user questions where necessary, and reporting whether the goal is true or false. One of the nice things about this model is that the same inference engine can be used for any knowledge base. Many expert system shells are complete programs (including inference engines, editors, and user interfaces) that allow a programmer to create a complete expert system for a particular domain by just adding the knowledge base for that domain. The major difficulty with creating an expert system is acquiring the domain knowledge. As mentioned above, most knowlege bases are meant to duplicate the knowledge of a human expert. This means that the domain knowledge must be acquired from that expert, usually by performing interviews of some sort. This has some major problems: The expert probably has little understanding of programming and formal logics. They will
7 Page 7 of 7 almost certainly have difficulty expressing their knowledge in the kind of logical and complet form required for an expert system. The programmer probably has little understanding of the domain, but will still have to try to translate the expert's knowledge into formal rules. There will almost certainly be miscommunication, resulting in errors in the way the knowledge is represented. Since many of the errors will involve the expert knowledge itself, the expert will have to be available during the long process of debugging. This will probably make it very expensive and time consuming.
THE 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 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 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 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 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 informationArtificial Intelligence CSC 361
Artificial Intelligence CSC 361 Prof. Mohamed Batouche Computer Science Department CCIS King Saud University Riyadh, Saudi Arabia mbatouche@ccis.ksu.edu.sa Intelligent Systems Part I: Expert Systems Developing
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 informationFormal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5
Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5 [talking head] Formal Methods of Software Engineering means the use of mathematics as an aid to writing programs. Before we can
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 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 informationAXIOMS OF AN IMPERATIVE LANGUAGE PARTIAL CORRECTNESS WEAK AND STRONG CONDITIONS. THE AXIOM FOR nop
AXIOMS OF AN IMPERATIVE LANGUAGE We will use the same language, with the same abstract syntax that we used for operational semantics. However, we will only be concerned with the commands, since the language
More informationPropositional Logic. Application of Propositional logic
DISCRETE STRUCTURE Propositional Logic Application of Propositional logic Propositional logic is the study of propositions (true or false statements) and ways of combining them (logical operators) to
More informationCOMP Intro to Logic for Computer Scientists. Lecture 2
COMP 1002 Intro to Logic for Computer Scientists Lecture 2 B 5 2 J Language of logic: building blocks Proposition: A sentence that can be true or false. A: It is raining in St. John s right now. B: 2+2=7
More informationHoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré
Hoare Logic COMP2600 Formal Methods for Software Engineering Rajeev Goré Australian National University Semester 2, 2016 (Slides courtesy of Ranald Clouston) COMP 2600 Hoare Logic 1 Australian Capital
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 informationSTRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH
Slide 3.1 3 STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH 3.0 Introduction 3.1 Graph Theory 3.2 Strategies for State Space Search 3.3 Using the State Space to Represent Reasoning with the Predicate
More informationIntroduction to Rule-Based Systems. Using a set of assertions, which collectively form the working memory, and a set of
Introduction to Rule-Based Systems Using a set of assertions, which collectively form the working memory, and a set of rules that specify how to act on the assertion set, a rule-based system can be created.
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 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 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 informationCOMP219: Artificial Intelligence. Lecture 14: Knowledge Representation
COMP219: Artificial Intelligence Lecture 14: Knowledge Representation 1 Overview Last time Game playing Minimax decisions Alpha-beta pruning Today Introduce the need for explicit knowledge representation
More informationMathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 9 Normal Forms
Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras Lecture - 9 Normal Forms In the last class we have seen some consequences and some equivalences,
More informationCSL105: 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 informationEXPERT SYSTEMS. Chapter 7. Asfia Rahman
1 EXPERT SYSTEMS Chapter 7 2 SYLLABUS CONTENT Candidates should be able to: 1. describe the components of an expert system 2. explain how the components of an expert system produce possible solutions 3.
More informationPropositional logic (Ch. 7)
Propositional logic (Ch. 7) Announcements Writing 3 due Sunday - ideally use for project - if you haven't decided project by then, you will have to redo this work Logic: definitions We say that two sentences
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 informationDeclarative Programming. 2: theoretical backgrounds
Declarative Programming 2: theoretical backgrounds 1 Logic Systems: structure and meta-theoretical properties logic system syntax semantics proof theory defines which sentences are legal in the logical
More informationChapter 3. Set Theory. 3.1 What is a Set?
Chapter 3 Set Theory 3.1 What is a Set? A set is a well-defined collection of objects called elements or members of the set. Here, well-defined means accurately and unambiguously stated or described. Any
More informationCS 416, Artificial Intelligence Midterm Examination Fall 2004
CS 416, Artificial Intelligence Midterm Examination Fall 2004 Name: This is a closed book, closed note exam. All questions and subquestions are equally weighted. Introductory Material 1) True or False:
More informationTransactions on Information and Communications Technologies vol 20, 1998 WIT Press, ISSN
APPLYING SQL TECHNIQUES ON INFERENCE MECHANISMS OF EXPERT SYSTEMS George DOBRE, Cosmin GRIGORESCU, Dorin CARSTOIU, Simona GRIGORESCU Department of Machine Elements and Tribology and Department of Computers
More informationFoundations of Computation
Foundations of Computation Second Edition (Version 2.3.2, Summer 2011) Carol Critchlow and David Eck Department of Mathematics and Computer Science Hobart and William Smith Colleges Geneva, New York 14456
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 informationA computer implemented philosophy of mathematics
A computer implemented philosophy of mathematics M. Randall Holmes May 14, 2018 This paper presents a philosophical view of the basic foundations of mathematics, which is implemented in actual computer
More informationArtificial Intelligence (part 4a) Problem Solving Using Search: Structures and Strategies for State Space Search
Artificial Intelligence (part 4a) Problem Solving Using Search: Structures and Strategies for State Space Search Course Contents Again..Selected topics for our course. Covering all of AI is impossible!
More informationPROPOSITIONAL LOGIC (2)
PROPOSITIONAL LOGIC (2) based on Huth & Ruan Logic in Computer Science: Modelling and Reasoning about Systems Cambridge University Press, 2004 Russell & Norvig Artificial Intelligence: A Modern Approach
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 informationCS 161 Computer Security
Wagner Spring 2014 CS 161 Computer Security 1/27 Reasoning About Code Often functions make certain assumptions about their arguments, and it is the caller s responsibility to make sure those assumptions
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 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 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 information[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics
400 lecture note #4 [Ch 6] Set Theory 1. Basic Concepts and Definitions 1) Basics Element: ; A is a set consisting of elements x which is in a/another set S such that P(x) is true. Empty set: notated {
More informationIntroduction to dependent types in Coq
October 24, 2008 basic use of the Coq system In Coq, you can play with simple values and functions. The basic command is called Check, to verify if an expression is well-formed and learn what is its type.
More information(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1
CS 70 Discrete Mathematics for CS Fall 2000 Wagner MT1 Sol Solutions to Midterm 1 1. (16 pts.) Theorems and proofs (a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are
More informationFormal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5
Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they
More information6.001 Notes: Section 31.1
6.001 Notes: Section 31.1 Slide 31.1.1 In previous lectures we have seen a number of important themes, which relate to designing code for complex systems. One was the idea of proof by induction, meaning
More informationAlgebra of Sets. Aditya Ghosh. April 6, 2018 It is recommended that while reading it, sit with a pen and a paper.
Algebra of Sets Aditya Ghosh April 6, 2018 It is recommended that while reading it, sit with a pen and a paper. 1 The Basics This article is only about the algebra of sets, and does not deal with the foundations
More informationChapter 9 Deductive Arguments II Truth-Functional Logic. Tutorial: Truth Tables
Chapter 9 Deductive Arguments II ruth-unctional Logic utorial: ruth ables ruth ables he aim of this tutorial is to help you learn to construct truth tables and use them to test the validity of arguments.
More informationBinary Decision Diagrams
Logic and roof Hilary 2016 James Worrell Binary Decision Diagrams A propositional formula is determined up to logical equivalence by its truth table. If the formula has n variables then its truth table
More information6.001 Notes: Section 8.1
6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything
More informationCSE Discrete Structures
CSE 2315 - Discrete Structures Lecture 5: Predicate Logic- Fall 2010 1 Motivation The use of predicates, variables, and quantifiers allows to represent a large number of arguments and expressions in formal
More informationPropositional Logic Formal Syntax and Semantics. Computability and Logic
Propositional Logic Formal Syntax and Semantics Computability and Logic Syntax and Semantics Syntax: The study of how expressions are structured (think: grammar) Semantics: The study of the relationship
More informationCS103 Spring 2018 Mathematical Vocabulary
CS103 Spring 2018 Mathematical Vocabulary You keep using that word. I do not think it means what you think it means. - Inigo Montoya, from The Princess Bride Consider the humble while loop in most programming
More informationPropositional Logic. Part I
Part I Propositional Logic 1 Classical Logic and the Material Conditional 1.1 Introduction 1.1.1 The first purpose of this chapter is to review classical propositional logic, including semantic tableaux.
More informationCS 3512, Spring Instructor: Doug Dunham. Textbook: James L. Hein, Discrete Structures, Logic, and Computability, 3rd Ed. Jones and Barlett, 2010
CS 3512, Spring 2011 Instructor: Doug Dunham Textbook: James L. Hein, Discrete Structures, Logic, and Computability, 3rd Ed. Jones and Barlett, 2010 Prerequisites: Calc I, CS2511 Rough course outline:
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 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 informationProofs are Programs. Prof. Clarkson Fall Today s music: Two Sides to Every Story by Dyan Cannon and Willie Nelson
Proofs are Programs Prof. Clarkson Fall 2016 Today s music: Two Sides to Every Story by Dyan Cannon and Willie Nelson Review Currently in 3110: Advanced topics Futures Monads Today: An idea that goes by
More informationKnowledge Representation
Knowledge Representation What is knowledge? Is knowledge the same thing as facts? some define knowledge as the fact or condition of knowing something with familiarity gained through experience or association.
More informationSECTION 1.5: LOGIC PROGRAMMING
SECTION 1.5: LOGIC PROGRAMMING William DeMeo williamdemeo@gmail.com University of South Carolina February 7, 2013 SPECIFYING FACTS AND RULES We populate our Prolog database with facts using predicates,
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 informationLinear Feature Engineering 22
Linear Feature Engineering 22 3 Overfitting Remember our dataset from last time. We have a bunch of inputs x i and corresponding outputs y i. In the previous lecture notes, we considered how to fit polynomials
More informationCPS331 Lecture: Fuzzy Logic last revised October 11, Objectives: 1. To introduce fuzzy logic as a way of handling imprecise information
CPS331 Lecture: Fuzzy Logic last revised October 11, 2016 Objectives: 1. To introduce fuzzy logic as a way of handling imprecise information Materials: 1. Projectable of young membership function 2. Projectable
More informationDatabase Management System Prof. Partha Pratim Das Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur
Database Management System Prof. Partha Pratim Das Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture - 01 Course Overview (Refer Slide Time: 00:45) Welcome
More informationComputer Organization & Assembly Language Programming
Computer Organization & Assembly Language Programming CSE 2312 Lecture 11 Introduction of Assembly Language 1 Assembly Language Translation The Assembly Language layer is implemented by translation rather
More informationInf2D 12: Resolution-Based Inference
School of Informatics, University of Edinburgh 09/02/18 Slide Credits: Jacques Fleuriot, Michael Rovatsos, Michael Herrmann Last time Unification: Given α and β, find θ such that αθ = βθ Most general unifier
More informationNotes. Notes. Introduction. Notes. Propositional Functions. Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry.
Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry Spring 2006 1 / 1 Computer Science & Engineering 235 Introduction to Discrete Mathematics Sections 1.3 1.4 of Rosen cse235@cse.unl.edu Introduction
More informationSolutions to Selected Exercises
Chapter 1 Solutions to Selected Exercises Section 1.1 2. {2, 4} 3. {7, 10} 5. {2, 3, 5, 6, 8, 9} 6. {1, 3, 5, 7, 9, 10} 8. A 9. 11. B 12. {1, 4} 14. {1} 15. {2, 3, 4, 5, 6, 7, 8, 9, 10} 18. 1 19. 3 22.
More informationDM841 DISCRETE OPTIMIZATION. Part 2 Heuristics. Satisfiability. Marco Chiarandini
DM841 DISCRETE OPTIMIZATION Part 2 Heuristics Satisfiability Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Mathematical Programming Constraint
More informationLECTURE 2 An Introduction to Boolean Algebra
IST 210: Boot Camp Ritendra Datta LECTURE 2 An Introduction to Boolean Algebra 2.1. Outline of Lecture Fundamentals Negation, Conjunction, and Disjunction Laws of Boolean Algebra Constructing Truth Tables
More informationBasic Foundations of Isabelle/HOL
Basic Foundations of Isabelle/HOL Peter Wullinger May 16th 2007 1 / 29 1 Introduction into Isabelle s HOL Why Type Theory Basic Type Syntax 2 More HOL Typed λ Calculus HOL Rules 3 Example proof 2 / 29
More informationProblem One: A Quick Algebra Review
CS103A Winter 2019 Solutions for Week One Handout 01S Problem One: A Quick Algebra Review In the first week of CS103, we'll be doing a few proofs that will require some algebraic manipulations and reasoning
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 informationCS40-S13: Functional Completeness
CS40-S13: Functional Completeness Victor Amelkin victor@cs.ucsb.edu April 12, 2013 In class, we have briefly discussed what functional completeness means and how to prove that a certain system (a set)
More informationTyped Lambda Calculus for Syntacticians
Department of Linguistics Ohio State University January 12, 2012 The Two Sides of Typed Lambda Calculus A typed lambda calculus (TLC) can be viewed in two complementary ways: model-theoretically, as a
More informationWarm-Up Problem. Let be a set of well-formed Predicate logic formulas. Let be well-formed Predicate logic formulas. Prove or disprove the following.
Warm-Up Problem Let be a set of well-formed Predicate logic formulas Let be well-formed Predicate logic formulas Prove or disprove the following If then 1/35 Program Verification Carmen Bruni Lecture 18
More information2 Introduction to operational semantics
2 Introduction to operational semantics This chapter presents the syntax of a programming language, IMP, a small language of while programs. IMP is called an "imperative" language because program execution
More informationELEMENTARY NUMBER THEORY AND METHODS OF PROOF
CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.2 Direct Proof and Counterexample II: Rational Numbers Copyright Cengage Learning. All
More informationChapter 1.3 Quantifiers, Predicates, and Validity. Reading: 1.3 Next Class: 1.4. Motivation
Chapter 1.3 Quantifiers, Predicates, and Validity Reading: 1.3 Next Class: 1.4 1 Motivation Propositional logic allows to translate and prove certain arguments from natural language If John s wallet was
More informationDenotational semantics
1 Denotational semantics 2 What we're doing today We're looking at how to reason about the effect of a program by mapping it into mathematical objects Specifically, answering the question which function
More informationCS-171, Intro to A.I. Mid-term Exam Fall Quarter, 2013
CS-171, Intro to A.I. Mid-term Exam Fall Quarter, 2013 YOUR NAME AND ID NUMBER: YOUR ID: ID TO RIGHT: ROW: NO. FROM RIGHT: The exam will begin on the next page. Please, do not turn the page until told.
More informationLogical Connectives. All kittens are cute. ; I like pizza. ; The sky is blue. ; Triangles have three sides.
Logical Connectives We have learned what a statement is. Recall that a statement is just a proposition that asserts something that is either true or false. For instance, these are propositions: All kittens
More informationFormally-Proven Kosaraju s algorithm
Formally-Proven Kosaraju s algorithm Laurent Théry Laurent.Thery@sophia.inria.fr Abstract This notes explains how the Kosaraju s algorithm that computes the strong-connected components of a directed graph
More informationThe Use of Fuzzy Logic at Support of Manager Decision Making
The Use of Fuzzy Logic at Support of Manager Decision Making The use of fuzzy logic is the advantage especially at decision making processes where the description by algorithms is very difficult and criteria
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 informationModule 7. Knowledge Representation and Logic (Rule based Systems) Version 2 CSE IIT, Kharagpur
Module 7 Knowledge Representation and Logic (Rule based Systems) Lesson 18 Rule based Systems - II 7.2.5 Programs in PROLOG These minimal notes on Prolog show only some of its flavor. Here are facts plays(ann,fido).
More informationOther Relational Query Languages
APPENDIXC Other Relational Query Languages In Chapter 6 we presented the relational algebra, which forms the basis of the widely used SQL query language. SQL was covered in great detail in Chapters 3 and
More informationLecture 1. 2 Motivation: Fast. Reliable. Cheap. Choose two.
Approximation Algorithms and Hardness of Approximation February 19, 2013 Lecture 1 Lecturer: Ola Svensson Scribes: Alantha Newman 1 Class Information 4 credits Lecturers: Ola Svensson (ola.svensson@epfl.ch)
More informationHorn Formulae. CS124 Course Notes 8 Spring 2018
CS124 Course Notes 8 Spring 2018 In today s lecture we will be looking a bit more closely at the Greedy approach to designing algorithms. As we will see, sometimes it works, and sometimes even when it
More informationCS103 Handout 29 Winter 2018 February 9, 2018 Inductive Proofwriting Checklist
CS103 Handout 29 Winter 2018 February 9, 2018 Inductive Proofwriting Checklist In Handout 28, the Guide to Inductive Proofs, we outlined a number of specifc issues and concepts to be mindful about when
More informationTHE FOUNDATIONS OF MATHEMATICS
THE FOUNDATIONS OF MATHEMATICS By: Sterling McKay APRIL 21, 2014 LONE STAR - MONTGOMERY Mentor: William R. Brown, MBA Mckay 1 In mathematics, truth is arguably the most essential of its components. Suppose
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 informationTo prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):
CS 70 Discrete Mathematics for CS Spring 2005 Clancy/Wagner Notes 7 This lecture returns to the topic of propositional logic. Whereas in Lecture Notes 1 we studied this topic as a way of understanding
More informationMathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 37 Resolution Rules
Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras Lecture - 37 Resolution Rules If some literals can be unified, the same algorithm should be able
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 informationWho am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration
Who am I? I m a python developer who has been working on OpenStack since 2011. I currently work for Aptira, who do OpenStack, SDN, and orchestration consulting. I m here today to help you learn from my
More informationA proof-producing CSP solver: A proof supplement
A proof-producing CSP solver: A proof supplement Report IE/IS-2010-02 Michael Veksler Ofer Strichman mveksler@tx.technion.ac.il ofers@ie.technion.ac.il Technion Institute of Technology April 12, 2010 Abstract
More informationCIS 194: Homework 8. Due Wednesday, 8 April. Propositional Logic. Implication
CIS 194: Homework 8 Due Wednesday, 8 April Propositional Logic In this section, you will prove some theorems in Propositional Logic, using the Haskell compiler to verify your proofs. The Curry-Howard isomorphism
More informationStrategies for Proofs
Strategies for Proofs Landscape with House and Ploughman Van Gogh Discrete Structures (CS 173) Madhusudan Parthasarathy, University of Illinois 1 Goals of this lecture A bit more logic Reviewing Implication
More informationTo prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):
CS 70 Discrete Mathematics for CS Fall 2003 Wagner Lecture 7 This lecture returns to the topic of propositional logic. Whereas in Lecture 1 we studied this topic as a way of understanding proper reasoning
More informationPropositional Logic:
CS2209A 2017 Applied Logic for Computer Science Lecture 2 Propositional Logic: Syntax, semantics, truth table Instructor: Yu Zhen Xie Language of logic: building blocks Proposition: A sentence that can
More information