0% found this document useful (0 votes)
7 views17 pages

Unit 2 Part 2

Discrete Mathematics focuses on mathematical topics that analyze discrete data, contrasting with continuous mathematics. The course covers essential concepts such as logic, proofs, counting methods, set operations, and graph theory, which are particularly relevant for computer science and engineering. Key topics include propositional logic, logical operators, truth tables, and logical equivalences, which form the foundation for understanding algorithms and computer program verification.

Uploaded by

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

Unit 2 Part 2

Discrete Mathematics focuses on mathematical topics that analyze discrete data, contrasting with continuous mathematics. The course covers essential concepts such as logic, proofs, counting methods, set operations, and graph theory, which are particularly relevant for computer science and engineering. Key topics include propositional logic, logical operators, truth tables, and logical equivalences, which form the foundation for understanding algorithms and computer program verification.

Uploaded by

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

Discrete Mathematics

What is Discrete Mathematics?


In Math, you learn continuous math. It deals with
continuous functions, differential and integral calculus.
In contrast, discrete math deals with mathematical topics in a
sense that it analyzes data whose values are separated (such as
integers: integer number line has gaps).
Here is a very rough comparison between continuous math and
discrete math: consider an analog clock (one with hands that
continuously rotate, which shows time in continuous fashion) vs. a
digital clock (which shows time in discrete fashion).

3 / 37
Course Topics
This course provides some of the mathematical foundations and skills
that you will need in your further study of computer science and
engineering. These topics include:
Logic (propositional and predicate logic)
Logical inferences and mathematical proof
Counting methods
Sets and set operations
Functions and sequences
Introduction to number theory and Cryptosystem
Mathematical induction
Relations
Introduction to graph theory
By definition, computers operate on discrete data (binary strings). So,
in some sense, the topics in this class are more relavent to CSE major
than calculus.

The Foundations: Logic and Proof

The rules of logic specify the precise meanings of mathematical


statements.
It is the basis of the correct mathematical arguments, that is, the
proofs.
It also has important applications in computer science:
to verify that computer programs produce the correct output for all
possible input values.
To show algorithms always produce the correct results.
To establish the security of systems.
...
Propositional Logic

Definition
A proposition is a declarative statement.
It must be either TRUE or FALSE.
It cannot be both TRUE and FALSE.
We use T to denote TRUE and F to denote FALSE.

Example of propositions:

Example of propositions: Example of non-propositions:


John loves CSE . Does John love CSE ?
2+3=5. 2 + 3.
2+3=8. Solve the equation 2 + x = 3.
Sun rises from West. 2 + x > 8.

7 / 37

Negation operator

Definition:
Suppose p is a proposition.
The negation of p is ¬p.
Meaning of ¬p: p is false.

Example:
John does not love CSE.
Note that ¬ p is a new proposition generated from p.
We have generated one proposition from another proposition.
So we call ¬ (the symbol we used to generate the new
proposition) the negation operator.
Logic operators

In general, we can define logic operators that transform one or more


propositions to a new proposition.
Negation is a unitary operator since it transforms one proposition
to another.
We will see a few binary operators shortly. They transform two
propositions to a new proposition.

9 / 37

Truth table

How can we formally specify an operator (e.g., the negation operator)?

One possibility is to use a truth table.


The truth table lists all possible combinations of the values of the
operands, and gives the corresponding values of the new
proposition.

Example: Truth table for negation:


p ¬p
T F
F T

10 / 37
Conjunction
Now we introduce a binary operator: conjunction ∧, which corresponds
to and:
p ∧ q is true if and only if p and q are both true.

Example:
Alice is tall AND slim.

Truth table for conjunction:


p q p∧q
T T T
T F F
F T F
F F F

11 / 37

Disjunction
Another binary operator is disjunction ∨, which corresponds to or, (but
is slightly different from common use.)
p ∨ q is true if and only if p or q (or both of them) are true.

Example:
Alice is smart OR honest.

Truth table for disjunction:


p q p∨q
T T T
T F T
F T T
F F F

12 / 37
Implication

Yet another binary operator implication → : p → q corresponds to p


implies q.

Example:
If this car costs less than $10000, then John will buy it.

Truth table for implication:


p q p→ q
T T T
T F F
F T T
F F T

Note that when p is F, p → q is always T.


13 / 37

Bidirectional implication

Another binary operator bidirectional implication : p q


corresponds to p is T if and only if q is T.

Example:
A student gets A in CSE 191 if and only if his weighted total is ≥ 95%.

Truth table for bidirectional implication:


p q p q
T T T
T F F
F T F
F F T

14 / 37
Terminology for implication.

Because implication statements play such an essential role in


mathematics, a variety of terminology is used to express p →
q:
“if p, then q”.
“q, if p”.
“p, only if q”.
“p implies q”.
“p is sufficient for q”.
“q is necessary for p”.
“q follows from p”.

15 / 37

Terminology for implication.

Example
Proposition p: Alice is smart.
Proposition q: Alice is honest.

p → q.
That Alice is smart is sufficient for Alice to be honest.
“Alice is honest” if “Alice is smart”.
q → p:
That Alice is smart is necessary for Alice to be honest.
“Alice is honest” only if “Alice is smart”.

16 / 37
Exclusive Or operator

Truth table for Exclusive Or ⊕


p q p⊕ q
T T F
T F T
F T T
F F F

Actually, this operator can be expressed by using other operators:


p ⊕ q is the same as ¬ (p q).
⊕ is used often in CSE. So we have a symbol for it.

17 / 37

Number of binary logic operators

We have introduced 5 binary logic operators. Are there more?


Fact: There are totally 16 binary logic operators.
To see this:
For any binary operator, there are 4 rows in its truth table.
The operator is completely defined by the T/F values in the 3rd
column of its truth table.
Each entry in the 3rd column of the truth table has 2 possible
values (T/F).
So the total number of different 3rd column (hence the number of
different binary operators) is 2 × 2 × 2 × 2 = 16.

Most of other 11 binary operators are not used often, so we do not


have symbols for them.

18 / 37
Precedence of Operators

Operator Precedence
¬ 1
∧ 2
∨ 3
→ 4
5

Example:
¬p∧ q means (¬ p) ∧ q
p ∧ q → r means (p ∧ q) → r

When in doubt, use parenthesis.

19 / 37

Translating logical formulas to English sentences

Using the above logic operators, we can construct more complicated


logical formulas. (They are called compound propositions.)

Example
Proposition p: Alice is smart.
Proposition q: Alice is honest.

¬p ∧ q: Alice is not smart but honest.


p ∨ (¬p ∧ q): Either Alice is smart, or she is not smart but honest.
p → ¬q: If Alice is smart, then she is not honest.

20 / 37
Translating logical formulas from English sentences

We can also go in the other direction, translating English sentences to


logical formulas:
Alice is either smart or honest, but Alice is not honest if she is
smart:
(p ∨ q) ∧ (p → ¬ q).
That Alice is smart is necessary and sufficient for Alice to be
honest:
(p → q) ∧ (q → p).
(This is often written as p q).

21 / 37

Tautology and Logical equivalence

Definitions:
A compound proposition that is always True is called a tautology.
Two propositions p and q are logically equivalent if their truth
tables are the same.
Namely, p and q are logically equivalent if p q is a
tautology. If p and q are logically equivalent, we write p ≡ q.

22 / 37
Examples of Logical equivalence
Example:
Look at the following two compound propositions: p → q and q ∨ ¬p.

p q p→ q p q ¬p q ∨ ¬p
T T T T T F T
T F F T F F F
F T T F T T T
F F T F F T T

The last column of the two truth tables are identical. Therefore
(p → q) and (q ∨ ¬p) are logically equivalent.
So (p → q) (q ∨ ¬p) is a tautology.
Thus: (p → q)≡ (q ∨ ¬p).

Example:
By using truth table, prove p ⊕ q ≡ ¬ (p q).
23 / 37

De Morgan law

We have a number of rules for logical equivalence. For example:


De Morgan Law:

¬(p ∧ q) ≡ ¬p ∨ ¬q (1)
¬(p ∨ q) ≡ ¬p ∧ ¬q (2)

The following is the truth table proof for (1). The proof for (2) is similar.

p q p∧q ¬(p ∧ q) p q ¬p ∨ ¬q
T T T F T T F
T F F T T F T
F T F T F T T
F F F T F F T

24 / 37
Distributivity
Distributivity

p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r) (1)
p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r) (2)

The following is the truth table proof of (1). The proof of (2) is similar.
p q r q∧r p ∨ (q ∧ r) p∨q p∨r (p ∨ q) ∧ (p ∨ r)
T T T T T T T T
T T F F T T T T
T F T F T T T T
T F F F T T T T
F T T T T T T T
F T F F F T F F
F F T F F F T F
F F F F F F F F
25 / 37

Contrapositives

Contrapositives
The proposition ¬q → ¬p is called the Contrapositive of the proposition
p → q. They are logically equivalent.

p → q ≡ ¬q → ¬p

p q p→ q p q ¬q → ¬p
T T T T T T
T F F T F F
F T T F T T
F F T F F T

26 / 37
Logic Equivalences
Equivalence Name
p ∧ T ≡ p, p ∨ F ≡ p Identity laws
p ∨ T ≡ T, p ∧ F ≡ F Domination laws
p ∨ p ≡ p, p ∧ p ≡ p Idempotent laws
¬(¬p) ≡ p Double negation law
p∨q≡ q∨p
Commutative laws
p∧q≡ q∧p
(p ∨ q) ∨ r ≡ p ∨ (q ∨ r)
Associative laws
(p ∧ q) ∧ r ≡ p ∧ (q ∧ r)
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r)
Distributive laws
p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
¬(p ∨ q) ≡ ¬p ∧ ¬q
De Morgan’s laws
¬(p ∧ q) ≡ ¬p ∨ ¬q
p ∨ (p ∧ q) ≡ p
Absorption laws
p ∧ (p ∨ q) ≡ p
p ∨ ¬p ≡ T, p ∧ ¬p ≡ F Negation laws
27 / 37

Logic Equivalences

Logical Equivalences Involving Conditional Statements


p → q ≡ ¬p ∨ q
p → q ≡ ¬q → ¬p
p ∨ q ≡ ¬p → q
p ∧ q ≡ ¬(p → ¬q)
¬(p → q) ≡ p ∧ ¬q
(p → q) ∧ (p → r) ≡ p → (q ∧ r)
(p → r) ∧ (q → r) ≡ (p ∨ q) → r
(p → q) ∨ (p → r) ≡ p → (q ∨ r)
(p → r) ∨ (q → r) ≡ (p ∧ q) → r

Logical Equivalences Involving Biconditional Statements


p q ≡ (p → q) ∧ (q → p)
p q ≡ ¬p ¬q
p q ≡ (p ∧ q) ∨ (¬p ∧ ¬q)
¬(p q) ≡ p ¬q
28 / 37
Prove equivalence

By using these laws, we can prove two propositions are logical


equivalent.

Example 1: Prove ¬(p ∨ (¬p ∧ q)) ≡ ¬p ∧ ¬q.

¬(p ∨ (¬p ∧ q)) ≡ ¬p ∧ ¬(¬p ∧ q) DeMorgan


≡ ¬p ∧ (p ∨ ¬q) DeMorgan
≡ (¬p ∧ p) ∨ (¬p ∧ ¬q)Distributivity
≡ F∨(¬p ∧ ¬q) Because ¬p ∧ p ≡ F
≡ ¬p ∧ ¬q Because F ∨r ≡ r for any r

30 / 37

Prove equivalence

Example 2: Prove (p ∧ q) → (p ∨ q) ≡ T.

(p ∧ q) → (p ∨ q) ≡ ¬(p ∧ q) ∨ (p ∨ q) Substitution for →


≡ (¬p ∨ ¬q) ∨ (p ∨ q) DeMorgan
≡ (¬p ∨ p) ∨ (¬q ∨ q) Commutativity and Associativity
≡ T∨T Because ¬p ∨ p ≡ T
≡T

31 / 37
Prove equivalence

Example 3:
Prove (p → q) ∧ (p → r) ≡ p → (q ∧ r).

Note that, by “Substitution for →”, we have: RHS = ¬ p ∨ (q ∧ r).


So, we start from the LHS and try to get this proposition:

(p → q) ∧ (p → r) ≡ (¬ p ∨ q) ∧ (¬ p ∨ r) Substitution for → , twice


≡ ¬p ∨ (q ∧ r) Distribution law
≡ p → (q ∧ r) Substitution for →

32 / 37

More examples.

Prove that: [¬ p ∧ (p ∨ q)] → q is a tautology.

By using truth table.


By using logic equivalence laws.

Prove that: [(p → q) ∧ (q → r)] → [p → r] is a tautology.

By using truth table.


By using logic equivalence laws.
We will show these examples in class.

33 / 37
Solving logic puzzles by using propositional logic

Example:
There are two types of people on an island:
Knight: Always tell truth.
Knave: Always lie
A says: “B is a knight.”
B says: “Two of us are opposite types.”
Determine the types of A and B.

We can describe the puzzle by the following propositions:

p: A is a knight, tells truth.


¬ p: A is a knave, lies.
q: B is a knight, tells truth.
¬ q: B is a knave, lies.

34 / 37

Solution

Suppose p=T:
A tells truth: “B is a knight”. So B tells truth.
B said: “Two of us are opposite types.”. So A and B are different
types.
This is false, because both A and B are knights.
Suppose p=F:
A lies. So B is a knave. So B lies.
B said: “Two of us are opposite types.”. So A and B are the same
type.
This holds and we get conclusion: Both A and B are knaves.

35 / 37
More Examples:

Example
There are two rooms: A and B. Each room has a sign.
Sign at room A: “There is a lady in room A, and a tiger in room B.”
Sign at room B: “There is a lady in one room, and a tiger in
another room.”

Assume that:
Exactly one sign is true and another sign is false.
Exactly one thing (lady or tiger) in each room.
Determine which room contains what?
We will discuss solution in class.

36 / 37

More Examples:

Five friends (Abby, Heather, Kevin, Randy and Vijay) have access to
an on-line chat room. We know the following are true:
1 Either K or H or both are chatting.
2 Either R or V but not both are chatting.
3 If A is chatting, then R is chatting.
4 V is chatting if and only if K is chatting.
5 If H is chatting, then both A and K are chatting.
Determine who is chatting.

We will discuss solution in class.

37 / 37

You might also like