Artificial Intelligence Notes Lecture : Propositional Logic and Inference

Size: px
Start display at page:

Download "Artificial Intelligence Notes Lecture : Propositional Logic and Inference"

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

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 information

Resolution (14A) Young W. Lim 6/14/14

Resolution (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 information

Practice Problems: All Computer Science majors are people. Some computer science majors are logical thinkers. Some people are logical thinkers.

Practice 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 information

Automated Reasoning PROLOG and Automated Reasoning 13.4 Further Issues in Automated Reasoning 13.5 Epilogue and References 13.

Automated 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 information

CS 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 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 information

Artificial Intelligence CSC 361

Artificial 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 information

Fuzzy logic. 1. Introduction. 2. Fuzzy sets. Radosªaw Warzocha. Wrocªaw, February 4, Denition Set operations

Fuzzy 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 information

Formal 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 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 information

Deduction Rule System vs Production Rule System. Prof. Bob Berwick. Rules Rule

Deduction 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 information

Notes 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 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 information

AXIOMS OF AN IMPERATIVE LANGUAGE PARTIAL CORRECTNESS WEAK AND STRONG CONDITIONS. THE AXIOM FOR nop

AXIOMS 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 information

Propositional Logic. Application of Propositional logic

Propositional 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 information

COMP Intro to Logic for Computer Scientists. Lecture 2

COMP 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 information

Hoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré

Hoare 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 information

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

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 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 information

STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH

STRUCTURES 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 information

Introduction 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 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 information

Section 2.4: Arguments with Quantified Statements

Section 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 information

STABILITY AND PARADOX IN ALGORITHMIC LOGIC

STABILITY 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 information

Knowledge Representation. CS 486/686: Introduction to Artificial Intelligence

Knowledge 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 information

COMP219: Artificial Intelligence. Lecture 14: Knowledge Representation

COMP219: 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 information

Mathematical 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 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 information

CSL105: Discrete Mathematical Structures. Ragesh Jaiswal, CSE, IIT Delhi

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 information

EXPERT SYSTEMS. Chapter 7. Asfia Rahman

EXPERT 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 information

Propositional logic (Ch. 7)

Propositional 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 information

CPSC 121: Models of Computation. Module 6: Rewriting predicate logic statements

CPSC 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 information

Declarative Programming. 2: theoretical backgrounds

Declarative 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 information

Chapter 3. Set Theory. 3.1 What is a Set?

Chapter 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 information

CS 416, Artificial Intelligence Midterm Examination Fall 2004

CS 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 information

Transactions on Information and Communications Technologies vol 20, 1998 WIT Press, ISSN

Transactions 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 information

Foundations of Computation

Foundations 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 information

Chapter 16. Logic Programming Languages

Chapter 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 information

A computer implemented philosophy of mathematics

A 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 information

Artificial 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 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 information

PROPOSITIONAL LOGIC (2)

PROPOSITIONAL 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 information

Logic Programming Languages

Logic 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 information

CS 161 Computer Security

CS 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 information

Introduction to predicate calculus

Introduction 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 information

Formal Predicate Calculus. Michael Meyling

Formal 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 (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

[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 information

Introduction to dependent types in Coq

Introduction 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

(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 information

Formal 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 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 information

6.001 Notes: Section 31.1

6.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 information

Algebra 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. 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 information

Chapter 9 Deductive Arguments II Truth-Functional Logic. Tutorial: Truth Tables

Chapter 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 information

Binary Decision Diagrams

Binary 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 information

6.001 Notes: Section 8.1

6.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 information

CSE Discrete Structures

CSE 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 information

Propositional Logic Formal Syntax and Semantics. Computability and Logic

Propositional 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 information

CS103 Spring 2018 Mathematical Vocabulary

CS103 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 information

Propositional Logic. Part I

Propositional 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 information

CS 3512, Spring Instructor: Doug Dunham. Textbook: James L. Hein, Discrete Structures, Logic, and Computability, 3rd Ed. Jones and Barlett, 2010

CS 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 information

Knowledge Representation

Knowledge 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 information

Chapter 16. Logic Programming Languages ISBN

Chapter 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 information

Proofs 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 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 information

Knowledge Representation

Knowledge 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 information

SECTION 1.5: LOGIC PROGRAMMING

SECTION 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 information

Week 7 Prolog overview

Week 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 information

Linear Feature Engineering 22

Linear 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 information

CPS331 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, 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 information

Database 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 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 information

Computer Organization & Assembly Language Programming

Computer 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 information

Inf2D 12: Resolution-Based Inference

Inf2D 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 information

Notes. Notes. Introduction. Notes. Propositional Functions. Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry.

Notes. 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 information

Solutions to Selected Exercises

Solutions 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 information

DM841 DISCRETE OPTIMIZATION. Part 2 Heuristics. Satisfiability. Marco Chiarandini

DM841 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 information

LECTURE 2 An Introduction to Boolean Algebra

LECTURE 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 information

Basic Foundations of Isabelle/HOL

Basic 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 information

Problem One: A Quick Algebra Review

Problem 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 information

Typed Lambda Calculus

Typed 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 information

CS40-S13: Functional Completeness

CS40-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 information

Typed Lambda Calculus for Syntacticians

Typed 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 information

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.

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. 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 information

2 Introduction to operational semantics

2 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 information

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF

ELEMENTARY 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 information

Chapter 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. 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 information

Denotational semantics

Denotational 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 information

CS-171, Intro to A.I. Mid-term Exam Fall Quarter, 2013

CS-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 information

Logical Connectives. All kittens are cute. ; I like pizza. ; The sky is blue. ; Triangles have three sides.

Logical 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 information

Formally-Proven Kosaraju s algorithm

Formally-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 information

The 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 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 information

LOGIC AND DISCRETE MATHEMATICS

LOGIC 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 information

Module 7. Knowledge Representation and Logic (Rule based Systems) Version 2 CSE IIT, Kharagpur

Module 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 information

Other Relational Query Languages

Other 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 information

Lecture 1. 2 Motivation: Fast. Reliable. Cheap. Choose two.

Lecture 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 information

Horn Formulae. CS124 Course Notes 8 Spring 2018

Horn 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 information

CS103 Handout 29 Winter 2018 February 9, 2018 Inductive Proofwriting Checklist

CS103 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 information

THE FOUNDATIONS OF MATHEMATICS

THE 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 information

Logic Programming and Resolution Lecture notes for INF3170/4171

Logic 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 information

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

To 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 information

Mathematical 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 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 information

Proofs are Programs. Prof. Clarkson Fall Today s music: Proof by Paul Simon

Proofs 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 information

Who 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 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 information

A proof-producing CSP solver: A proof supplement

A 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 information

CIS 194: Homework 8. Due Wednesday, 8 April. Propositional Logic. Implication

CIS 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 information

Strategies for Proofs

Strategies 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 information

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

To 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 information

Propositional Logic:

Propositional 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