0% found this document useful (0 votes)
146 views39 pages

Discreet Structure

CSE 321 is a course on discrete structures that covers topics like propositional logic, graph theory, and algebraic structures. Propositional logic involves statements called propositions that can be true or false, and ways to combine propositions using operators like negation, conjunction, disjunction, and implication. Truth tables are used to determine the truth values of complex propositions. Logical proofs involve applying logical equivalences to show that two expressions are equivalent or that an expression is a tautology. Predicate logic extends propositional logic by adding quantifiers like "for all" and "there exists" over a domain to express more complex statements.

Uploaded by

Zed Deguzman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
146 views39 pages

Discreet Structure

CSE 321 is a course on discrete structures that covers topics like propositional logic, graph theory, and algebraic structures. Propositional logic involves statements called propositions that can be true or false, and ways to combine propositions using operators like negation, conjunction, disjunction, and implication. Truth tables are used to determine the truth values of complex propositions. Logical proofs involve applying logical equivalences to show that two expressions are equivalent or that an expression is a tautology. Predicate logic extends propositional logic by adding quantifiers like "for all" and "there exists" over a domain to express more complex statements.

Uploaded by

Zed Deguzman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 39

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
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
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
Administration
• Instructor • Homework
– Richard Anderson – Due Wednesdays (starting
• Teaching Assistant Jan 16)
– Natalie Linnell • Exams
• Quiz section – Midterms, Feb 8
– Thursday, 12:30 – 1:20, or – Final, March 17, 2:30-4:20
1:30 – 2:20 pm
– CSE 305 • All course information
• Recorded Lectures posted on the web
– Available on line • Sign up for the course
• Text: Rosen, Discrete mailing list
Mathematics
– 6th Edition preferred
– 5th Edition okay
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
Compound Propositions
• Negation (not) p
• Conjunction (and) pq
• Disjunction (or) pq
• Exclusive or pq
• Implication pq
• Biconditional pq
Truth Tables
p p p q pq

p q pq p q pq
Understanding complex
propositions
• Either Harry finds the locket and Ron
breaks his wand or Fred will not open a
joke shop
Understanding complex
propositions with a truth table

h r f hr f (h  r)   f
Aside: Number of binary
operators
• How many different binary operators are
there on atomic propositions?
p q pq
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
If pigs can whistle then horses
can fly
Converse, Contrapositive,
Inverse
• Implication: p  q
• Converse: q  p
• Contrapositive:  q   p
• Inverse:  p   q

• Are these the same?


Biconditional p  q
• p iff q
• p is equivalent to q
• p implies q and q implies p

p q pq
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
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)
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)
Computing equivalence
• Describe an algorithm for computing if two
logical expressions are equivalent
• What is the run time of the algorithm?
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
Properties of logical connectives
• Identity
• Domination
• Idempotent
• Commutative
• Associative
• Distributive
• Absorption
• Negation
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


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
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
Why bother with logical proofs
when we have truth tables?
Show (p  q)  (p  q) is a
tautology
Show (p  q)  r and
p  (q  r) are not equivalent
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”
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
Statements with quantifiers
Domain:
Positive Integers
•  x Even(x)
Even(x)
Odd(x)
•  x Odd(x) Prime(x)
Greater(x,y)
Equal(x,y)
•  x (Even(x)  Odd(x))

•  x (Even(x)  Odd(x))

•  x Greater(x+1, x)

•  x (Even(x)  Prime(x))
Statements with quantifiers
•  x  y Greater (y, x)
For every number there is some number that is greater than it

•  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: Greater(a, b)  “a > b”
Positive Integers
Statements with quantifiers
Domain: Even(x)
Positive Integers Odd(x)
• “There is an odd prime” Prime(x)
Greater(x,y)
Equal(x,y)
• “If x is greater than two, x is not an even prime”

• xyz ((Equal(z, x+y)  Odd(x)  Odd(y)) Even(z))

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


primes”
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
Systems vulnerability
Reasoning about machine status
• Specify systems state • Predicates
and policy with logic
– Formal domain – RunsOS(M, O)
• reasoning about security – Vulnerable(M)
• automatic
implementation of – OSVersion(M, Ve)
policies
– LaterVersion(Ve, Ve)
• Domains
– Machines in the – Unpatched(M)
organization
– Operating Systems
– Versions
– Vulnerabilities
– Security warnings
System vulnerability statements
• Unpatched machines are vulnerable

• There is an unpatched Linux machine

• All Windows machines have versions later


than SP1
Prolog
• Logic programming language
• Facts and Rules
RunsOS(SlipperPC, Windows) Later(x, y) :-
RunsOS(SlipperTablet, Windows) Later(x, z), Later(z, y)
RunsOS(CarmelLaptop, Linux)
NotLater(x, y) :- Later(y, x)
OSVersion(SlipperPC, SP2) NotLater(x, y) :-
OSVersion(SlipperTablet, SP1) SameVersion(x, y)
OSVersion(CarmelLaptop, Ver3)
MachineVulnerable(m) :-
LaterVersion(SP2, SP1) OSVersion(m, v),
LaterVersion(Ver3, Ver2) VersionVulnerable(v)
LaterVersion(Ver2, Ver1) VersionVulnerable(v) :-
CriticalVulnerability(x),
Version(x, n),
NotLater(v, n)
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))
Quantification with two variables
Expression When true When false

 x  y P(x,y)

 x  y P(x,y)

 x  y P(x, y)

 y  x P(x, y)

You might also like