Top Banner
CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic
39

CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

CSE 321 Discrete Structures

Winter 2008

Lecture 1

Propositional Logic

Page 2: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

About the course

• From the CSE catalog:– CSE 321 Discrete Structures (4)

Fundamentals of set theory, graph theory, enumeration, and algebraic structures, with applications in computing. Prerequisite: CSE 143; either MATH 126, MATH 129, or MATH 136.

• What I think the course is about:– Foundational structures for the practice of

computer science and engineering

Page 3: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Why this material is important

• Language and formalism for expressing ideas in computing

• Fundamental tasks in computing– Translating imprecise specification into a

working system– Getting the details right

Page 4: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Topic List

• Logic/boolean algebra: hardware design, testing, artificial intelligence, software engineering

• Mathematical reasoning/induction: algorithm design, programming languages

• Number theory/probability: cryptography, security, algorithm design, machine learning

• Relations/relational algebra: databases• Graph theory: networking, social networks,

optimization

Page 5: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Administration

• Instructor– Richard Anderson

• Teaching Assistant – Natalie Linnell

• Quiz section– Thursday, 12:30 – 1:20, or

1:30 – 2:20– CSE 305

• Recorded Lectures– Available on line

• Text: Rosen, Discrete Mathematics– 6th Edition preferred– 5th Edition okay

• Homework – Due Wednesdays (starting

Jan 16)• Exams

– Midterms, Feb 8– Final, March 17, 2:30-4:20

pm• All course information

posted on the web• Sign up for the course

mailing list

Page 6: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Propositional Logic

Page 7: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Propositions• A statement that has a truth value• Which of the following are propositions?

– The Washington State flag is red– It snowed in Whistler, BC on January 4, 2008.– Hillary Clinton won the democratic caucus in Iowa– Space aliens landed in Roswell, New Mexico– Ron Paul would be a great president– Turn your homework in on Wednesday– Why are we taking this class?– If n is an integer greater than two, then the equation an + bn = cn has no

solutions in non-zero integers a, b, and c.– Every even integer greater than two can be written as the sum of two

primes– This statement is false

– Propositional variables: p, q, r, s, . . . – Truth values: T for true, F for false

Page 8: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Compound Propositions

• Negation (not) p

• Conjunction (and) p q• Disjunction (or) p q• Exclusive or p q

• Implication p q

• Biconditional p q

Page 9: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Truth Tables

p p p q p q

p q p q p q p q

Page 10: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Understanding complex propositions

• Either Harry finds the locket and Ron breaks his wand or Fred will not open a joke shop

Page 11: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Understanding complex propositions with a truth table

h r f h r f (h r) f

Page 12: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Aside: Number of binary operators

• How many different binary operators are there on atomic propositions?

Page 13: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

p q

• Implication– p implies q– whenever p is true q must be true– if p then q– q if p– p is sufficient for q– p only if q

p q p q

Page 14: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

If pigs can whistle then horses can fly

Page 15: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Converse, Contrapositive, Inverse

• Implication: p q

• Converse: q p

• Contrapositive: q p

• Inverse: p q

• Are these the same?

Page 16: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Biconditional p q

• p iff q

• p is equivalent to q

• p implies q and q implies p

p q p q

Page 17: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

English and Logic

• You cannot ride the roller coaster if you are under 4 feet tall unless you are older than 16 years old– q: you can ride the roller coaster– r: you are under 4 feet tall– s: you are older than 16

Page 18: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Logical equivalence

• Terminology: A compound proposition is a– Tautology if it is always true– Contradiction if it is always false– Contingency if it can be either true or false

p p

(p p) p

p p q q

(p q) p

(p q) (p q) ( p q) ( p q)

Page 19: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Logical Equivalence

• p and q are Logically Equivalent if p q is a tautology.

• The notation p q denotes p and q are logically equivalent

• Example: (p q) ( p q)p q p q p p q (p q) ( p q)

Page 20: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Computing equivalence

• Describe an algorithm for computing if two logical expressions are equivalent

• What is the run time of the algorithm?

Page 21: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Understanding connectives

• Reflect basic rules of reasoning and logic• Allow manipulation of logical formulas

– Simplification– Testing for equivalence

• Applications– Query optimization– Search optimization and caching– Artificial Intelligence– Program verification

Page 22: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Properties of logical connectives

• Identity

• Domination

• Idempotent

• Commutative

• Associative

• Distributive

• Absorption

• Negation

Page 23: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

De Morgan’s Laws

• (p q) p q

• (p q) p q

• What are the negations of:– Casey has a laptop and Jena has an iPod

– Clinton will win Iowa or New Hampshire

Page 24: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Equivalences relating to implication

• p q p q• p q q p

• p q p q

• p q (p q)

• p q (p q) (q p)

• p q p q

• p q (p q) ( p q)

• (p q) p q

Page 25: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Logical Proofs

• To show P is equivalent to Q– Apply a series of logical equivalences to

subexpressions to convert P to Q

• To show P is a tautology– Apply a series of logical equivalences to

subexpressions to convert P to T

Page 26: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Why bother with logical proofs when we have truth tables?

Page 27: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Show (p q) (p q) is a tautology

Page 28: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Show (p q) r and p (q r) are not equivalent

Page 29: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Predicate Calculus

• Predicate or Propositional Function– A function that returns a truth value

• “x is a cat”

• “x is prime”

• “student x has taken course y”

• “x > y”

• “x + y = z”

Page 30: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Quantifiers

• x P(x) : P(x) is true for every x in the domain

• x P(x) : There is an x in the domain for which P(x) is true

Page 31: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Statements with quantifiers

• x Even(x)

• x Odd(x)

• x (Even(x) Odd(x))

• x (Even(x) Odd(x))

• x Greater(x+1, x)

• x (Even(x) Prime(x))

Even(x)Odd(x)Prime(x)Greater(x,y)Equal(x,y)

Domain:Positive Integers

Page 32: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Statements with quantifiers

• x y Greater (y, x)

• y x Greater (y, x)

• x y (Greater(y, x) Prime(y))

• x (Prime(x) (Equal(x, 2) Odd(x))

• x y(Equal(x, y + 2) Prime(x) Prime(y))

Domain:Positive Integers

For every number there is some number that is greater than it

Greater(a, b) “a > b”

Page 33: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Statements with quantifiers

• “There is an odd prime”

• “If x is greater than two, x is not an even prime”

• xyz ((Equal(z, x+y) Odd(x) Odd(y)) Even(z))

• “There exists an odd integer that is the sum of two primes”

Even(x)Odd(x)Prime(x)Greater(x,y)Equal(x,y)

Domain:Positive Integers

Page 34: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Goldbach’s Conjecture

• Every even integer greater than two can be expressed as the sum of two primes

Even(x)Odd(x)Prime(x)Greater(x,y)Equal(x,y)

Domain:Positive Integers

Page 35: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Systems vulnerabilityReasoning about machine status

• Specify systems state and policy with logic– Formal domain

• reasoning about security• automatic

implementation of policies

• Domains– Machines in the

organization– Operating Systems– Versions– Vulnerabilities– Security warnings

• Predicates– RunsOS(M, O)– Vulnerable(M)– OSVersion(M, Ve)– LaterVersion(Ve, Ve)– Unpatched(M)

Page 36: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

System vulnerability statements

• Unpatched machines are vulnerable

• There is an unpatched Linux machine

• All Windows machines have versions later than SP1

Page 37: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Prolog

• Logic programming language

• Facts and RulesRunsOS(SlipperPC, Windows)RunsOS(SlipperTablet, Windows)RunsOS(CarmelLaptop, Linux)

OSVersion(SlipperPC, SP2)OSVersion(SlipperTablet, SP1)OSVersion(CarmelLaptop, Ver3)

LaterVersion(SP2, SP1)LaterVersion(Ver3, Ver2)LaterVersion(Ver2, Ver1)

Later(x, y) :- Later(x, z), Later(z, y)

NotLater(x, y) :- Later(y, x)NotLater(x, y) :- SameVersion(x, y)

MachineVulnerable(m) :- OSVersion(m, v),

VersionVulnerable(v)VersionVulnerable(v) :- CriticalVulnerability(x), Version(x, n), NotLater(v, n)

Page 38: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Nested Quantifiers

• Iteration over multiple variables• Nested loops• Details

– Use distinct variables• x( y(P(x,y) x Q(y, x)))

– Variable name doesn’t matter• x y P(x, y) a b P(a, b)

– Positions of quantifiers can change (but order is important)

• x (Q(x) y P(x, y)) x y (Q(x) P(x, y))

Page 39: CSE 321 Discrete Structures Winter 2008 Lecture 1 Propositional Logic.

Quantification with two variablesExpression When true When false

x y P(x,y)

x y P(x,y)

x y P(x, y)

y x P(x, y)