Discrete Mathematics. Agenda Course policies Quick Overview Logic.

Slides:



Advertisements
Similar presentations
L41 Lecture 2: Predicates and Quantifiers.. L42 Agenda Predicates and Quantifiers –Existential Quantifier  –Universal Quantifier 
Advertisements

Syllabus Every Week: 2 Hourly Exams +Final - as noted on Syllabus
1 Section 1.1 Logic. 2 Proposition Statement that is either true or false –can’t be both –in English, must contain a form of “to be” Examples: –Cate Sheller.
Let remember from the previous lesson what is Knowledge representation
Discrete Structure CS 203 Introduction.
CSE115/ENGR160 Discrete Mathematics 01/17/12 Ming-Hsuan Yang UC Merced 1.
First Order Logic. Propositional Logic A proposition is a declarative sentence (a sentence that declares a fact) that is either true or false, but not.
Logical and Rule-Based Reasoning Part I. Logical Models and Reasoning Big Question: Do people think logically?
Propositional Calculus Math Foundations of Computer Science.
Propositional Logic Review
Discrete Mathematics Goals of a Discrete Mathematics Learn how to think mathematically 1. Mathematical Reasoning Foundation for discussions of methods.
Intro to Discrete Structures
2009/9 1 Logic and Proofs §1.1 Introduction §1.2 Propositional Equivalences §1.3 Predicates and Quantifiers §1.4 Nested Quantifiers §1.5~7 Methods of Proofs.
Discrete Maths 2. Propositional Logic Objective
Discrete Mathematics and Its Applications
Discrete Mathematics CS 285. Lecture 12 Section 1.1: Logic Axiomatic concepts in math: Equals Opposite Truth and falsehood Statement Objects Collections.
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Ch.1 (Part 1): The Foundations: Logic and Proofs Introduction.
Copyright © Curt Hill Truth Tables A way to show Boolean Operations.
1 Logic Logic is a discipline that studies the principles and methods used in correct reasoning It includes: A formal language for expressing statements.
CS 285- Discrete Mathematics Lecture 2. Section 1.1 Propositional Logic Propositions Conditional Statements Truth Tables of Compound Propositions Translating.
Chapter 1: The Foundations: Logic and Proofs
Copyright © Curt Hill Using Propositional Logic Several applications.
College Algebra Fifth Edition James Stewart Lothar Redlin Saleem Watson.
MATH 224 – Discrete Mathematics
CSci 2011 Textbook ^Discrete Mathematics and Its Applications,  Rosen  6th Edition  McGraw Hill  2006.
Review I Rosen , 3.1 Know your definitions!
CS1Q Computer Systems Lecture 6 Simon Gay. Lecture 6CS1Q Computer Systems - Simon Gay2 Algebraic Notation Writing AND, OR, NOT etc. is long-winded and.
Discrete Mathematics MCA 105 LOGICS Preeti Mehta.
Copyright © Curt Hill Mathematical Logic An Introduction.
Tautologies, contradictions, contingencies
Discrete Structures – CS Text Discrete Mathematics and Its Applications Kenneth H. Rosen (7 th Edition) Chapter 1 The Foundations: Logic and Proofs.
MATH 224 – Discrete Mathematics
1 CMSC 250 Discrete Structures CMSC 250 Lecture 1.
Reading: Chapter 4 (44-59) from the text book
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
LOGIC Lesson 2.1. What is an on-the-spot Quiz  This quiz is defined by me.  While I’m having my lectures, you have to be alert.  Because there are.
Thinking Mathematically
1/10/ Math/CSE 1019N: Discrete Mathematics for Computer Science Winter 2007 Suprakash Datta Office: CSEB 3043 Phone:
Discrete Mathematics CS 285. Lecture 12 Quick Overview The conceptual center of computer science is the ALGORITHM.
Propositional Logic ITCS 2175 (Rosen Section 1.1, 1.2)
Chapter 2 Logic 2.1 Statements 2.2 The Negation of a Statement 2.3 The Disjunction and Conjunction of Statements 2.4 The Implication 2.5 More on Implications.
CSE Winter 2008 Introduction to Program Verification January 15 tautology checking.
Chapter 1: The Foundations: Logic and Proofs
The Foundations: Logic and Proof, Sets, and Foundations PROPOSITIONS A proposition is a declarative sentence that is either True or False, but not the.
Logic UNIT 1.
CS1Q Computer Systems Lecture 6 Simon Gay. Lecture 6CS1Q Computer Systems - Simon Gay2 Algebraic Notation Writing AND, OR, NOT etc. is long-winded and.
Propositional Logic – The Basics (2) Truth-tables for Propositions.
Section 1.1 Propositions and Logical Operations. Introduction Remember that discrete is –the study of decision making in non-continuous systems. That.
Mathematics for Comter I Lecture 2: Logic (1) Basic definitions Logical operators Translating English sentences.
LECTURE 1. Disrete mathematics and its application by rosen 7 th edition THE FOUNDATIONS: LOGIC AND PROOFS 1.1 PROPOSITIONAL LOGIC.
L 11 Discrete Computational Structures. L 12 Lectures and Notes Lectures are electronic and will be available online after class.
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Lecture 01: Boolean Logic Sections 1.1 and 1.2 Jarek Rossignac.
Foundations of Discrete Mathematics Chapter 1 By Dr. Dalia M. Gil, Ph.D.
CS104 The Foundations: Logic and Proof 1. 2 What is Discrete Structure?  Discrete Objects  Separated from each other (Opposite of continuous)  e.g.,
Boolean Algebra and Computer Logic Mathematical Structures for Computer Science Chapter 7 Copyright © 2006 W.H. Freeman & Co.MSCS Slides Boolean Logic.
Section 1.7. Section Summary Mathematical Proofs Forms of Theorems Direct Proofs Indirect Proofs Proof of the Contrapositive Proof by Contradiction.
Proof And Strategies Chapter 2. Lecturer: Amani Mahajoub Omer Department of Computer Science and Software Engineering Discrete Structures Definition Discrete.
Discrete Structures for Computer Science Presented By: Andrew F. Conn Slides adapted from: Adam J. Lee Lecture #1: Introduction, Propositional Logic August.
Lecture 1 – Formal Logic.
Niu Kun Discrete Mathematics Chapter 1 The Foundations: Logic and Proof, Sets, and Functions Niu Kun 离散数学.
COT 3100, Spr Applications of Discrete Structures
Ch.1 (Part 1): The Foundations: Logic and Proofs
Discrete Mathematics COMS 3203
The Foundations: Logic and Proofs
Principles of Computing – UFCFA3-30-1
CS 220: Discrete Structures and their Applications
Computer Security: Art and Science, 2nd Edition
CPSC 121: Models of Computation
CPSC 121: Models of Computation
Logic of Informatics Introduction.
Presentation transcript:

Discrete Mathematics

Agenda Course policies Quick Overview Logic

Lectures and Notes Lectures are electronic and will be available online after class. There will usually be a low-tech component (blackboard + chalk) which you are responsible for.

Quick Overview Discrete Math is essentially that branch of mathematics that does not depend on limits; in this sense, it is the anti-thesis of Calculus. As computers are discrete object operating one jumpy, discontinuous step at a time, Discrete Math is the right framework for describing precisely Computer Science concepts.

Quick Overview The conceptual center of computer science is the ALGORITHM.

Quick Overview Discrete Math helps provide… … the machinery necessary for creating sophisticated algorithms … the tools for analyzing their efficiency …the means of proving their validity

Quick Overview Although the point of 3203 is to provide the tools for creating and analyzing sophisticated algorithms, we won’t focus on the algorithmic aspect, with some exceptions. To see the algorithmic applications take almost any 4000-level CS course or 3137/9 (Data Structures).

Quick Overview - Topics Logic and Sets Make notions you’re already used to from programming a little more rigorous (operators) Fundamental to all mathematical disciplines Useful for digital circuits, hardware design Elementary Number Theory Get to rediscover the old reliable number and find out some surprising facts Very useful in crypto-systems

Quick Overview - Topics Proofs (especially induction) If you want to debug a program beyond a doubt, prove that it’s bug-free Proof-theory has recently also been shown to be useful in discovering bugs in pre-production hardware Counting and Combinatorics Compute your odds of winning lottery Important for predicting how long certain computer program will take to finish Useful in designing algorithms

Quick Overview - Topics Graph Theory Many clever data-structures for organizing information and making programs highly efficient are based on graph theory Very useful in describing problems in  Databases  Operating Systems  Networks  EVERY CS DISCIPLINE!!!!

Section 1.1: Logic Axiomatic concepts in math: Equals Opposite Truth and falsehood Statement Objects Collections

Section 1.1: Logic We intuitively know that Truth and Falsehood are opposites. That statements describe the world and can be true/false. That the world is made up of objects and that objects can be organized to form collections. The foundations of logic mimic our intuitions by setting down constructs that behave analogously.

False, True, Statements Axiom: False is the opposite to Truth. A statement is a description of something. Examples of statements: I’m 31 years old. I have 17 children. I always tell the truth. I’m lying to you. Q’s: Which statements are True? False? Both? Neither?

False, True, Statements True: I’m 31 years old. False: I have 17 children. I always tell the truth. Both: IMPOSSIBLE, by our Axiom.

False, True, Statements Neither: I’m lying to you. (If viewed on its own) HUH? Well suppose that S = “I’m lying to you.” were true. In particular, I am actually lying, so S is false. So it’s both true and false, impossible by the Axiom. Okay, so I guess S must be false. But then I must not be lying to you. So the statement is true. Again it’s both true and false. In both cases we get the opposite of our assumption, so S is neither true nor false.

Propositions To avoid painful head-aches, we ban such silly non-sense and avoid the most general type of statements limiting ourselves to statements with valid truth-values instead: DEF: A proposition is a statement that is true or false.

Propositions Propositional Logic is a static discipline of statements which lack semantic content. E.G. p = “Clinton was the president.” q = “The list of U.S. presidents includes Clinton.” r = “Lions like to sleep.” All p and q are no more closely related than q and r are, in propositional calculus. They are both equally related as all three statements are true. Semantically, however, p and q are the same!

Propositions So why waste time on such matters? Propositional logic is the study of how simple propositions can come together to make more complicated propositions. If the simple propositions were endowed with some meaning –and they will be very soon– then the complicated proposition would have meaning as well, and then finding out the truth value is actually important!

Compound Propositions In Propositional Logic, we assume a collection of atomic propositions are given: p, q, r, s, t, …. Then we form compound propositions by using logical connectives (logical operators) to form propositional “molecules”.

Logical Connectives OperatorSymbolUsageJava Negation  not ! Conjunction  and && Disjunction  or || Exclusive or  xor (p||q)&&(!p||!q) Conditional  if,then p?q:true Biconditional  iff (p&&q)||(!p&&!q)

Compound Propositions: Examples p = “Cruise ships only go on big rivers.” q = “Cruise ships go on the Hudson.” r = “The Hudson is a big river.”  r = “The Hudson is not a big river.” p  q = “Cruise ships only go on big rivers and go on the Hudson.” p  q  r = “If cruise ships only go on big rivers and go on the Hudson, then the Hudson is a big river.”

Negation This just turns a false proposition to true and the opposite for a true proposition. EG: p = “23 = 15 +7” p happens to be false, so  p is true. In Java, “!” plays the same role: !(23 == 15+7) has the boolean value true whenever evaluated.

Negation – truth table Logical operators are defined by truth tables –tables which give the output of the operator in the right-most column. Here is the truth table for negation: p pp FTFT TFTF

Conjunction Conjunction is a binary operator in that it operates on two propositions when creating compound proposition. On the other hand, negation is a unary operator (the only non-trivial one possible).

Conjunction Conjunction is supposed to encapsulate what happens when we use the word “and” in English. I.e., for “p and q ” to be true, it must be the case that BOTH p is true, as well as q. If one of these is false, than the compound statement is false as well.

Conjunction EG. p = “Clinton was the president.” q = “Monica was the president.” r = “The meaning of is is important.” Assuming p and r are true, while q false. Out of p  q, p  r, q  r only p  r is true. Java: x==3 && x!=3 Evaluates to false for any possible value of x.

Conjunction – truth table pq pqpq TTFFTTFF TFTFTFTF TFFFTFFF

Disjunction – truth table Conversely, disjunction is true when at least one of the components is true: pq pqpq TTFFTTFF TFTFTFTF TTTFTTTF

Disjunction – caveat Note: English version of disjunction “or” does not always satisfy the assumption that one of p/q being true implies that “p or q ” is true. Q: Can someone come up with an example?

Disjunction – caveat A: The entrée is served with soup or salad. Most restaurants definitely don’t allow you to get both soup and salad so that the statement is false when both soup and salad is served. To address this situation, exclusive-or is introduced next.

Exclusive-Or – truth table pq p  q TTFFTTFF TFTFTFTF FTTFFTTF Note: in this course any usage of “or” will connote the logical operator  as opposed to the exclusive-or.

Conditional (Implication) This one is probably the least intuitive. It’s only partly akin to the English usage of “if,then” or “implies”. DEF: p  q is true if q is true, or if p is false. In the final case (p is true while q is false) p  q is false. Semantics: “p implies q ” is true if one can mathematically derive q from p.

Conditional -- truth table pq p  q TTFFTTFF TFTFTFTF TFTTTFTT

Conditional Q: Does this makes sense? Let’s try examples for each row of truth table: 1. If pigs like mud then pigs like mud. 2. If pigs like mud then pigs can fly. 3. If pigs can fly then pigs like mud. 4. If pigs can fly then pigs can fly.

Conditional A: 1. If pigs like mud then pigs like mud. True: nothing about this statement is false. 2. If pigs like mud then pigs can fly. False: seems to assert falsehood 3. If pigs can fly then pigs like mud. True: argument for –only care about end-result. Argument against –counters common English hyperbole. 4. If pigs can fly then pigs can fly. True. WAIT! By first reasoning in 3, when “if” part is false, should only care about “then” part!!!!! On other hand, standard English hyperbole.

Conditional: why F  F is True Remember, all of these are mathematical constructs, not attempts to mimic English. Mathematically, p should imply q whenever it is possible to derive q by from p by using valid arguments. For example consider the mathematical analog of no. 4: If 0 = 1 then 3 = 9. Q: Is this true mathematically?

Conditional: why F  F is True A: YES mathematically and YES by the truth table. Here’s a mathematical proof: 1. 0 = 1 (assumption)

Conditional: why F  F is True A: YES mathematically and YES by the truth table. Here’s a mathematical proof: 1. 0 = 1 (assumption) 2. 1 = 2 (added 1 to both sides)

Conditional: why F  F is True A: YES mathematically and YES by the truth table. Here’s a mathematical proof: 1. 0 = 1 (assumption) 2. 1 = 2 (added 1 to both sides) 3. 3 = 6 (multiplied both sides by 3)

Conditional: why F  F is True A: YES mathematically and YES by the truth table. Here’s a mathematical proof: 1. 0 = 1 (assumption) 2. 1 = 2 (added 1 to both sides) 3. 3 = 6 (multiplied both sides by 3) 4. 0 = 3 (multiplied no. 1 by 3)

Conditional: why F  F is True A: YES mathematically and YES by the truth table. Here’s a mathematical proof: 1. 0 = 1 (assumption) 2. 1 = 2 (added 1 to both sides) 3. 3 = 6 (multiplied both sides by 3) 4. 0 = 3 (multiplied no. 1 by 3) 5. 3 = 9 (added no. 3 and no. 4)QED

Conditional: why F  F is True As we want the conditional to make sense in the semantic context of mathematics, we better define it as we have! Other questionable rows of the truth table can also be justified in a similar manner.

Conditional: synonyms There are many ways to express the conditional statement p  q : If p then q. p implies q. If p, q. p only if q. p is sufficient for q. Some of the ways reverse the order of p and q but have the same connotation: q if p. q whenever p. q is necessary for p. To aid in remembering these, I suggest inserting “is true” after every variable: EG: “p is true only if q is true”

Bi-Conditional -- truth table pq p  q TTFFTTFF TFTFTFTF TFFTTFFT For p  q to be true, p and q must have the same truth value. Else, p  q is false: Q : Which operator is  the opposite of?

Bi-Conditional A :  has exactly the opposite truth table as . This means that we could have defined the bi-conditional in terms of other previously defined symbols, so it is redundant. In fact, only really need negation and disjunction to define everything else. Extra operators are for convenience. Q: Could we define all other logical operations using only negation and exclusive or?

Bi-Conditional A: No. Notice that negation and exclusive-or each maintain parity between truth and false: No matter what combination of these symbols, impossible to get a truth table with four output rows consisting of 3 T’s and 1 F (such as implication and disjuction).

Bit Strings Electronic computers achieve their calculations inside semiconducting materials. For reliability, only two stable voltage states are used and so the most fundamental operations are carried out by switching voltages between these two stable states. In logic, only two truth values are allowed. Thus propositional logic is ideal for modeling computers. High voltage values are modeled by True, which for brevity we call the number 1, while low voltage values are modeled by False or 0.

Bit Strings Thus voltage memory stored in a computer can be represented by a sequence of 0’s and 1’s such as Another portion of the memory might look like Each of the number in the sequence is called a bit, and the whole sequence of bits is called a bit string.

Bit Strings It turns out that the analogs of the logical operations can be carried out quite easily inside the computer, one bit at a time. This can then be transferred to whole bit strings. For example, the exclusive-or of the previous bit strings is: 

Blackboard Exercises for 1.1 Worked out on the black-board c, d, : 1. q = “You miss the final exam.” r = “You pass the course.” Express q   r in English. 2. Construct a truth table for  p   q. 3. Can one determine relative salaries of F (Fannie), J (Janice) and M (Maggie) from the following? 1. If F is not highest paid, then J is. 2. If J is not lowest paid, then M is highest paid.