CS70 is a course about on Discrete Mathematics for Computer Scientists. The purpose of the course is to teach you about:

Similar documents
Discrete Mathematics and Probability Theory Fall 2012 Vazirani Note 1

Discrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 1

CS70: Discrete Mathematics and Probability Theory Course Reader

Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Note 1

Introduction to Sets and Logic (MATH 1190)

Mat 243 Exam 1 Review

EECS 1028 M: Discrete Mathematics for Engineers

MA103 STATEMENTS, PROOF, LOGIC

Tools for reasoning: Logic. Ch. 1: Introduction to Propositional Logic Truth values, truth tables Boolean logic: Implications:

Foundation of proofs. Jim Hefferon.

Discrete Mathematics & Mathematical Reasoning Predicates, Quantifiers and Proof Techniques

MAT2345 Discrete Math

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula:

Topic 1: Propositional logic

CS Module 1. Ben Harsha Apr 12, 2017

2. The Logic of Compound Statements Summary. Aaron Tan August 2017

Propositional Logic Not Enough

Discrete Mathematics and Its Applications

Math Real Analysis

CS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning.

Truth-Functional Logic

A Little Deductive Logic

Introducing Proof 1. hsn.uk.net. Contents

Logical Operators. Conjunction Disjunction Negation Exclusive Or Implication Biconditional

A Little Deductive Logic

Foundations of Advanced Mathematics, version 0.8. Jonathan J. White

Discrete Mathematics and Its Applications

Announcements. CS311H: Discrete Mathematics. Propositional Logic II. Inverse of an Implication. Converse of a Implication

Logic and Proofs. (A brief summary)

Announcements. CS243: Discrete Structures. Propositional Logic II. Review. Operator Precedence. Operator Precedence, cont. Operator Precedence Example

2/2/2018. CS 103 Discrete Structures. Chapter 1. Propositional Logic. Chapter 1.1. Propositional Logic

Discrete Mathematical Structures. Chapter 1 The Foundation: Logic

Some Review Problems for Exam 1: Solutions

3/29/2017. Logic. Propositions and logical operations. Main concepts: propositions truth values propositional variables logical operations

Unit 1. Propositional Logic Reading do all quick-checks Propositional Logic: Ch. 2.intro, 2.2, 2.3, 2.4. Review 2.9

LECTURE 1. Logic and Proofs

Proofs. Joe Patten August 10, 2018

Proof by Contradiction

Compound Propositions

CSC Discrete Math I, Spring Propositional Logic

Chapter 1: The Logic of Compound Statements. January 7, 2008

1 Propositional Logic

COMP 182 Algorithmic Thinking. Proofs. Luay Nakhleh Computer Science Rice University

Section 2.1: Introduction to the Logic of Quantified Statements

Arithmetic Algorithms: gcd, primality testing, the RSA cryptosystem. Polynomials and their Applications: error-correcting codes, secret sharing

1.1 Language and Logic

Before you get started, make sure you ve read Chapter 1, which sets the tone for the work we will begin doing here.

Theorem. For every positive integer n, the sum of the positive integers from 1 to n is n(n+1)

Preparing for the CS 173 (A) Fall 2018 Midterm 1

First order Logic ( Predicate Logic) and Methods of Proof

For all For every For each For any There exists at least one There exists There is Some

Sample Problems for all sections of CMSC250, Midterm 1 Fall 2014

Discrete Mathematics for CS Spring 2005 Clancy/Wagner Notes 1. Purpose of the Course. Propositions and Proofs

Learning Goals of CS245 Logic and Computation

Mathematical Preliminaries. Sipser pages 1-28

2-4: The Use of Quantifiers

Exercise Set 1 Solutions Math 2020 Due: January 30, Find the truth tables of each of the following compound statements.

Logic - recap. So far, we have seen that: Logic is a language which can be used to describe:

Predicate Calculus lecture 1

Discrete Mathematics. W. Ethan Duckworth. Fall 2017, Loyola University Maryland

Section 3.1: Direct Proof and Counterexample 1

INF3170 Logikk Spring Homework #8 For Friday, March 18

1.1 Language and Logic

Logic and Propositional Calculus

THE LOGIC OF QUANTIFIED STATEMENTS

Quantifiers. Alice E. Fischer. CSCI 1166 Discrete Mathematics for Computing February, 2018

Propositional Logic and Semantics

Section 1.2: Conditional Statements

Math 10850, fall 2017, University of Notre Dame

Logic Overview, I. and T T T T F F F T F F F F

STRATEGIES OF PROBLEM SOLVING

Boolean Algebra and Proof. Notes. Proving Propositions. Propositional Equivalences. Notes. Notes. Notes. Notes. March 5, 2012

CITS2211 Discrete Structures Proofs

An Introduction to Logic 1.1 ~ 1.4 6/21/04 ~ 6/23/04

Mathematical Reasoning Rules of Inference & Mathematical Induction. 1. Assign propositional variables to the component propositional argument.

PREDICATE LOGIC. Schaum's outline chapter 4 Rosen chapter 1. September 11, ioc.pdf

Chapter 2: The Logic of Quantified Statements. January 22, 2010

Lecture 2. Logic Compound Statements Conditional Statements Valid & Invalid Arguments Digital Logic Circuits. Reading (Epp s textbook)

Contradiction MATH Contradiction. Benjamin V.C. Collins, James A. Swenson MATH 2730

Formal Logic: Quantifiers, Predicates, and Validity. CS 130 Discrete Structures

Logic and Propositional Calculus

Steinhardt School of Culture, Education, and Human Development Department of Teaching and Learning. Mathematical Proof and Proving (MPP)

Discrete Structures for Computer Science

A. Propositional Logic

Today. Proof using contrapositive. Compound Propositions. Manipulating Propositions. Tautology

1 Predicates and Quantifiers

MATH 22 INFERENCE & QUANTIFICATION. Lecture F: 9/18/2003

Review: Potential stumbling blocks

Logic and Proof. Aiichiro Nakano

Lecture 4: Proposition, Connectives and Truth Tables

Logic: The Big Picture

CHAPTER 1. MATHEMATICAL LOGIC 1.1 Fundamentals of Mathematical Logic

The following techniques for methods of proofs are discussed in our text: - Vacuous proof - Trivial proof

Stanford University CS103: Math for Computer Science Handout LN9 Luca Trevisan April 25, 2014

Logic. Propositional Logic: Syntax. Wffs

AI Principles, Semester 2, Week 2, Lecture 5 Propositional Logic and Predicate Logic

Intro to Logic and Proofs

Logic. Quantifiers. (real numbers understood). x [x is rotten in Denmark]. x<x+x 2 +1

Logic and Proofs. (A brief summary)

Logic. Propositional Logic: Syntax

Transcription:

CS 70 Discrete Mathematics for CS Fall 2006 Papadimitriou & Vazirani Lecture 1 Course Outline CS70 is a course about on Discrete Mathematics for Computer Scientists. The purpose of the course is to teach you about: Fundamental ideas in computer science: - Boolean logic. - Uncomputability and the halting problem. - Modular arithmetic, Error-correcting codes, secret sharing protocols - Graphs: paths, cuts, hypercubes. Many of these concepts underly all the more advanced courses in computer science. Precise, reliable, powerful thinking: - Proofs of correctness. These are essential to analyzing algorithms and programs. - Induction and recursion. - Probability theory. Problem solving skills: - These are emphasized in the discussion sections and homeworks. Course outline (abbreviated). Propositions, Propositional logic and Proofs Mathematical Induction, recursion The stable marriage problem Modular arithmetic, the RSA cryptosystem Polynomials over finite fields and their Applications: error-correcting codes, secret sharing Graphs: Eulerian paths, hypercubes. Diagonalization, Self-Reference, and Uncomputability Probability and Probabilistic Algorithms: load balancing, hashing, expectation, variance, Chebyshev and Chernoff bounds, conditional probability, Bayesian inference, law of large numbers, power laws. CS 70, Fall 2006, Lecture 1 1

Lesson Plan In order to be fluent in mathematical statements, you need to understand the basic framework of the language of mathematics. This first week, we will start by learning about what logical forms mathematical theorems may take, and how to manipulate those forms to make them easier to prove. In the next few lectures, we will learn several different methods of proving things. Propositions A proposition is a statement which is either true or false. These statements are all propositions: (1) 3 is irrational. (2) 1+1 = 5. (3) Julius Caesar had 2 eggs for breakfast on his 10 th birthday. These statements are clearly not propositions: (4) 2+2 (5) x 2 + 3x = 5. These statements aren t propositions either (although some books say they are). Propositions should not include fuzzy terms. (6) Schwarzenegger often eats broccoli. (What is often? ) (7) George W. Bush is popular. (What is popular? ) Propositions may be joined together to form more complex statements. Let P, Q, and R be variables representing propositions (for example, P could stand for 3 is odd ). The simplest propositional forms combine variables using the connectives and, or, and not. (1) Conjunction: P Q ( P and Q ). True only when both P and Q are true. (2) Disjunction: P Q ( P or Q ). True when at least one of P and Q is true. (3) Negation: P ( not P ). True when P is false. Statements like these, with variables, are called propositional form. If we let P stand for the proposition 3 is odd, Q stand for 4 is odd, and R for 5 is even, then the propositional forms P R, P R and Q are false, true, and true, respectively. Note that P P is always true, regardless of the truth value of P. A proposition with variables that is always true is called a tautology, a statement that is always true regardless of the input value(s). P P is an example of a contradiction, a statement that is always false. CS 70, Fall 2006, Lecture 1 2

A useful tool for describing the possible values of a propositional form is a truth table. Truth tables are the same as function tables. You list all possible input values for the variables, and then list the outputs given those inputs. (The order does not matter.) Here are truth tables for conjunction, disjunction and negation: P Q P Q T T T T F F F T F F F F P Q P Q T T T T F T F T T F F F P P T F F T The most important and subtle propositional form is an implication. (4) Implication: P = Q ( P implies Q ). This is the same as If P, then Q. Here, P is called the hypothesis of the implication, and Q is the conclusion. 1 Examples of implications: If you stand in the rain, then you ll get wet. If you got an A in this class, I gave you $5. An implication P = Q is false only when P is true and Q is false. For example, the first statement would be false only if you stood in the rain but didn t get wet. The second statement above would be false only if you got an A, yet I didn t give you $5. Here is the truth table for P = Q: 1 P is also called the antecedent and Q the consequent. P Q P = Q P Q T T T T T F F F F T T T F F T T CS 70, Fall 2006, Lecture 1 3

Note that P = Q is always true when P is false. This means that many statements that sound nonsensical in English are true, mathematically speaking. Examples are statements like: If pigs can fly, then horses can read or If 14 is odd then 1+2 = 18. When an implication is stupidly true because the hypothesis is false, we say that it is vacuously true. Note also that P = Q is logically equivalent to P Q, as can be seen in the above truth table. P = Q is the most common form mathematical theorems take. Here are some of the different ways of saying it: (1) If P, then Q. (2) Q if P. (3) P only if Q. (4) P is sufficient for Q. (5) Q is necessary for P. If both P = Q and Q = P are true, then we say P if and only if Q (abbreviated P iff Q). Formally, we write P Q. P if and only if Q is true only when P and Q have the same truth values. For example, if we let P be 3 is odd, Q be 4 is odd, and R be 6 is even, then P = R, Q = P (vacuously), and R = P. Because P = R and R = P, P if and only if R. Given an implication P = Q, we can also define its (a) Contrapositive: Q = P (b) Converse: Q = P The contrapositive of If you got an A in this class, I gave you $5, is If I did not give you $5, you didn t get an A in this class. The converse is If I gave you $5 you must have received an A in this class. Does the contrapositive say the same thing as the original statement? Does the converse? Let s look at the truth table: P Q P Q P = Q Q = P Q = P P Q T T F F T T T T T F F T F T F F F T T F T F T F F F T T T T T T Note that the contrapositive of P = Q has the same truth values, while the converse does not. Many students unreasonably assume that the converse is true, but the above truth table shows that it is not necessarily the case. When two propositional forms have the same truth values, they are said to be logically equivalent they mean the same thing. We ll see next time how useful this can be for proving theorems. Quantifiers The mathematical statements you ll see in practice will not be made up of simple propositions like 3 is odd. Instead you ll see statements like: CS 70, Fall 2006, Lecture 1 4

(1) For all positive integers n, n 2 + n+41 is prime. (2) If n is an odd integer, so is n 3. (3) There is an integer k that is both even and odd. In essence, these statements assert something about lots of simple propositions all at once. For instance, the first statement is asserting that 0 2 + 0+41 is prime, 1 2 + 1+41 is prime, and so on. The last statement is saying that as k ranges over every possible integer, we will find at least one value for which the statement is satisfied. Why are the above three examples considered to be propositions, while earlier we claimed that x 2 +3x = 5 was not? The reason is that in these three examples, there is an underlying universe that we are working in. The statements are then quantified over that universe. To express these statements mathematically we need two quantifiers: The universal quantifier (for all) and the existential quantifer (there exists). Note that in a finite universe, since we are dealing with many simple propositions, we can express existentially and universally quantified propositions using disjunctions and conjunctions, respectively. For example, if our universe U is {1, 2, 3, 4}, then ( xp(x)) is logically equivalent to P(1) P(2) P(3) P(4), and ( xp(x)) is logically equivalent to P(1) P(2) P(3) P(4). Examples: (1) Some Mammals Lay Eggs. Mathematically, some means at least one, so the statement is saying There exists a mammal x such that x lays eggs. If we let our universe U be the set of mammals, then we can write: ( x U)(x lays eggs.) (2) For all positive integers n, n 2 + n+41 is prime, can be expressed by taking our universe to be the set of positive integers, often denoted as Z +, ( n Z + )(n 2 + n+41 is prime.) Some statements can have multiple quantifiers. As we will see, however, quantifiers do not commute. You can see this just thinking about English statements. Consider the following (rather gory) example: Example: Every time I ride the subway in New York, somebody gets stabbed. There is someone, such that every time I ride the subway in New York, that someone gets stabbed. The first statement is saying that every time I ride the subway someone gets stabbed, but it could be a different person each time. The second statement is saying something truly horrible: that there is some poor guy Joe with the misfortune that every time I get on the New York subway, there is Joe, getting stabbed again. (Poor Joe will run for his life the second he sees me.) Mathematically, we are quantifying over two universes: T = {times when I ride on the subway} and P = {people}. The first statement can be written: ( t T)( p P)(p got stabbed at time t). The second statement says: ( p P)( t T)(p got stabbed at time t). Let s look at a more mathematical example: Consider 1. ( x Z)( y Z)(x < y) 2. ( y Z)( x Z)(x < y) The first statement says given an integer, I can find a larger one. The second statement says something very different, that there is a largest integer! The first statement is true, the second is not. CS 70, Fall 2006, Lecture 1 5

Quantifiers and Negation What does it mean for a proposition P to be false? It means that its negation P is true. Often, we will need to negate a quantified proposition (the motivation for this will become more obvious next lecture when we look at proofs). For now, let s look at an example of how to go about this. Example: Assume that the universe is {1,2,3,4} and let P(x) denote the propositional formula x 2 > 10. Check that xp(x) is true but xp(x) is false. Observe that both ( xp(x)) and x P(x) are true because P(1) is false. Also note that both x P(x) and ( xp(x)) are false, since P(4) is true. The fact that each pair of statements had the same truth value is no accident, as the formulae ( xp(x)) x P(x) ( xp(x)) x P(x) are laws that hold for any proposition P quantified by any universe. Here means logically equivalent. It is helpful to think of English sentences to convince yourself that these laws are true. For example, assume that we are working within the universe Z (the set of all integers), and that P(x) is the proposition x is odd. We know that the statement ( xp(x)) is false, since not every integer is odd. Therefore, we expect its negation, ( xp(x)), to be true. But how would you say the negation in English? Well, if it is not true that every integer is odd, then that must mean there is some integer which is not odd (i.e., even). How would this be written in propositional form? That s easy, it s just: ( x P(x)). To see a more complex example, fix some universe and propositional formula P(x, y). Assume we have the proposition ( x yp(x, y)) and we want to push the negation operator inside the quantifiers. By the above laws, we can do it as follows: ( x yp(x, y)) x ( yp(x, y)) x y P(x, y). Notice that we broke the complex negation into a smaller, easier problem as the negation propagated itself through the quantifiers. Let s look at a tricky example: Write the sentence there are at least three distinct integers x that satisfy P(x) as a proposition using quantifiers! One way to do it is x Z y Z z Z(x y y z z x P(x) P(y) P(z)). Now write the sentence there are at most three distinct integers x that satisfy P(x) as a proposition using quantifiers. One way to do it is In the section we saw equivalent way to do it x Z y Z z Z d Z(P(d) = d = x d = y d = z). x Z y Z v Z z Z((x y y v v x x z y z v z) = (P(x) P(y) P(v) P(z))). The sentence there are exactly three distinct integers x that satisfy P(x) can be expressed as a conjunction of two propositions above. CS 70, Fall 2006, Lecture 1 6