Discrete
CMP-212
1 STRUCTURES
Lecture 1
2 Contact Information
Instructor: Ms. Ayesha Raana [LECTURER]
Computer Science Department
GC Women University, Sialkot
Email: [email protected]
Office: Faculty Room, IT BLOCK
Student Hours: Confirmation Only via Email
[email protected]
3 Quick Overview
Discrete Structures 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 Structures is the right
framework for describing precisely Computer
Science concepts. Lecture 1
4 Quick Overview
The conceptual center of computer
science is the ALGORITHM.
Lecture 1
5 Quick Overview
Discrete Structures helps provide…
the machinery necessary for creating sophisticated
algorithms
the tools for analyzing their efficiency
the means of proving their validity
Lecture 1
6 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
Lecture 1
7 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
Lecture 1
8 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!!!!
Lecture 1
9 Objectives
Express statements precisely of formal logic
Check the validity of arguments after analyzing them
Use basic properties and operations that can be
performed over sets.
Use basic properties and operations related to relations
and function
Formula proof using mathematical phenomenon
Working on statements to prove them using direct and
indirect methods.
Lecture 1
10 Objectives
Compute probability of simple and
conditional events
Illustrate the basic definitions of graph
theory and properties of graphs
Relate each major topic in Discrete
Mathematics to an application area in
computing
Lecture 1
11 Statements: (Proposition)
A declarative sentence that is either true or false.
law of the excluded middle: a proposition cannot
be partially true or partially false
law of contradiction: a proposition cannot be
both true and false
Lecture 1
12 Propositions: Examples
Earth is round.
I can speak English
x<98
5+1=6
What time is it?
Each of these proposition has a truth value,
True or False but not both.
Lecture 1
13 Propositions:
9*10=9
You are studying Discrete Structures
Sky is blue
Computers have feelings
Lecture 1
14 Propositional Variable
A name given to the proposition or
statement is called a Propositional
Variable.
p1=Earth is round. True
p2=I can speak English True
p3=5+1=9 False
Lecture 1
15 Propositional Logic
Axiomatic concepts in math:
Equals
Opposite
Truth and Falsehood
Statement
Objects
Collections
Lecture 1
16 Propositional 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.
Lecture 1
17 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 always tell the truth.
I’m lying to you.
Q’s: Which statements are True? False? Both?
Neither? Lecture 1
18 False, True, Statements
True: I’m 31 years old.
False: I have 17 children.
I always tell the truth.
Both: IMPOSSIBLE, by our Axiom.
Lecture 1
19 False, True, Statements
Neither: I’m lying to you. (If viewed on its
own)
HUH? Well suppose that
S = “I” am 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.
Lecture 1
20 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.
Lecture 1
21 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.”
Lecture 1
22 Propositions
Propositional logic is the study of how simple
propositions can come to make more
together
propositions. If the simple
propositions
complicated 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!
Lecture 1
23 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”.
Lecture 1
24 Logical Connectives
Operator Symbol Usage Java
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)
Lecture 1
25 Compound Propositions:
Examples
p = “Cruise ships only go on big rivers.”
q = “Cruise ships go on the River
Ravi.” r = “The Ravi is a big river.”
r = “The Ravi is not a big river.”
pq = “Cruise ships only go on big rivers and
go on the Ravi.”
pq r = “If cruise ships only go on big rivers
and go on the Ravi, then the Ravi is a big river.”
Lecture 1
26 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.
Lecture 1
27 Negation
Let p be a proposition. The negation of p, denoted by
p (also denoted by p ), is the statement
"It is not the case that p."
The proposition p is read "not p." The truth value
of the negation of p, p, is the opposite of the truth
value of p.
Lecture 1
28 Truth Table
To analyze a compound statements, the most easy way is to create
a truth table for it.
A truth table specifies the truth value of a compound
proposition for all possible truth values of its constituent
propositions.
Lecture 1
29 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
F T
T F
Lecture 1
30 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).
Lecture 1
31 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.
Lecture 1
32 Conjunction
EG. p = “Zardari was the president.”
q = “Nawz Sharif was the president.”
r = “Muslims are believers.”
Assuming p and r are true, while q false.
Out of pq, pr, qr
only pr is true.
Lecture 1
33 Conjunction – truth table
p q p q
T T T
T F F
F T F
F F F
Lecture 1
34 Disjunction – truth table
Conversely, disjunction is true when at least
one of the components is true:
p q p q
T T T
T F T
F T T
Lecture 1
F F F
Activity Time
1. Which of the following statement is a proposition?
a) Get me a glass of milkshake
b) God bless you!
c) What is the time now?
d) The only odd prime number is 2
Activity Time
Let P: This is a great website, Q: You should not come back here.
Then ‘This is a great website and you should come back here.’ is
best represented by?
a) ~P V ~Q
b) P ∧ ~Q
c) P V Q
d) P ∧ Q
37 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?
Lecture 1
38 Disjunction – caveat
A: The starter 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.
Lecture 1
39 Exclusive-Or – truth table
p q p q
T T F
T F T
F T T
F F F
Lecture 1
40 Conditional (Implication)
This one is probably the least natural. It’s only
partly
similar 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.
Lecture 1
41 Conditional -- truth table
p q p q
T T T
T F F
F T T
F F T
Lecture 1
Conditional
42
Q: Does this makes sense? Let’s try examples
for
each row of truth table
1. If rabbits like mud then rabbits like mud.
2. If rabbits can fly then rabbits like mud.
3. If rabbits like mud then rabbits can fly.
4. If rabbits can fly then rabbits can fly.
Lecture 1
Conditional
43
1. If rabbits like mud then rabbits like mud.
True: nothing about this statement is false.
2. If rabbits can fly then rabbits like mud.
True: argument for –only care about end-result. Argument against –
counters common English hyperbole.
3. If rabbits like mud then rabbits can fly.
False: seems to assert falsehood
4. If rabbits can fly then rabbits 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.
Lecture 1
44 Conditional: why FF 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?
Lecture 1
45 Conditional: why FF is True
A: YES mathematically and YES by the truth table.
Here’s a mathematical proof:
1. 0 = 1 (assumption)
Lecture 1
46 Conditional: why FF 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)
Lecture 1
47 Conditional: why FF 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)
Lecture 1
48 Conditional: why FF 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)
Lecture 1
49 Conditional: why FF 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)
Lecture 1
50 An equivalent for implication
Is there an expression that is equivalent to p → q but uses
only the operators ¬, Λ, V?
Implication
p q p→q
F F T
F T T
Consider the
T F F
proposition ¬p V q
T T T
p q ¬p ¬p V q
F F T T
F T T T
T F F F
T T F T
50
51
Implication can be expressed by disjunction and
negation:
p q pq
Lecture 1
52 Conditional: why FF 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.
Lecture 1
53 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”
Lecture 1
54 Bi-Conditional -- truth table
For p to be true, p and q must have
q
the same truth value. Else, p q is
false: p q pq
T T T
T F F
F T F
Q : WhichF operator is
F the opposite
T of?
Lecture 1
55 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?
Lecture 1
56 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 disjunction).
Lecture 1
57 Precedence of Logical Operators
Lecture 1
Home Work
Give a shot to first 14 question that are under the section of 1.1
(Exercise 1.1)