Discrete Mathematics
MATH210
Course contents
Logic
Sets, Set Operations and Matrices
Number Theory and Cryptography
Relations
Graphs
Trees
Course contents
Logic
Sets, Set Operations and Matrices
Number Theory and Cryptography
Relations
Graphs
Trees
Logic foundations
• Mathematical Logic is a tool for working with compound
statements
• Logic is the study of correct reasoning
Use of logic
In mathematics:
to prove theorems
In computer science:
to prove that programs do what they are supposed to do
Propositional Logic
Propositional logic: It deals with propositions.
Predicate logic: It deals with predicates.
Definition of a proposition:
A proposition (usually denoted by p, q, r, …) is a declarative statement
that is either True (T) or False (F), but not both or somewhere “in
between!”.
Note: Commands and questions are not propositions.
Examples of Propositions
The following are all propositions:
“It is raining” (In a given situation)
“Amman is the capital of Jordan”
“1 + 2 = 3”
“2 + 2 = 3”
But, the following are NOT propositions:
“Who’s there?” (Question)
“La la la la la.” (Meaningless)
“Just do it!” (Command)
“1 + 2” (Expression with a non-true/false value)
“1 + 2 = x” (Expression with unknown value of x)
Operators / Connectives
An operator or connective combines one or more operand
expressions into a larger expression. (e.g., “+” in numeric
expression.)
Unary operators take one operand (e.g. −3);
Binary operators take two operands (e.g. 3 4).
Propositional or Boolean operators operate on propositions (or
their truth values) instead of on numbers.
Some Popular Boolean Operators
Operator Name Nickname Arity Symbol
Negation operator NOT Unary ¬
Conjunction operator AND Binary
Disjunction operator OR Binary
Exclusive-OR operator XOR Binary
Implication operator IMPLIES Binary
Biconditional operator IFF Binary ↔
The Negation Operator
Definition: Assuming p a proposition, then ¬p is the negation of p (Not p is
the invert case of p).
e.g. If p = “Lebanon is an independent country” then ¬p = “Lebanon is
not an independent country”
The truth table for NOT is?
p p
F T
T F
Operand (F) = T, Operand (T) = F
The Conjunction Operator
Definition: Let p and q be propositions, the proposition “p and q” denoted by (p q)
is called the conjunction of p and q.
e.g. If p = “I will have salad for lunch” and
q = “I will have steak for dinner”, then
p q = “I will have salad for lunch and
I will have steak for dinner”
The Disjunction Operator
Definition: Let p and q be propositions, the proposition “p OR q” denoted by (p q)
is called the disjunction of p and q.
e.g. p = “My car has a bad engine”
q = “My car has a bad carburetor”
p q = “Either my car has a bad engine or
my car has a bad carburetor”
Conjunction and disjunction Truth Table
Note that a conjunction p1 p2 … pn of n propositions will have 2n rows
in its truth table.
p q pq
F F F
F T F and(p,q) = r
T F F
T T T
Note that p q means that p is true, or q is true, or both are true!
p q p q
F F F
F T T or(p,q) = r
T F T
T T T
Compound Statements
Let p, q, r, s be simple statements
We can form other compound statements, such as
(p q) r
p (q r)
¬p ¬q
(p q) (¬r s)
and many others…
If yes let us try
an example
Example: Truth Table of (pq) r
p q r pq (p q) r
F F F F F
F F T F T
F T F T T
F T T T T
T F F T T
T F T T T
T T F T T
T T T T T
The Exclusive Or Operator
The binary exclusive-or operator “” (XOR) combines two propositions to form
their logical “exclusive or” (exjunction?).
e.g. p = “I will earn an A in this course”
q = “I will drop this course”
p q = “I will either earn an A in this course, or
I will drop it (but not both!)”
Exclusive-Or Truth Table
Note that p q means that p is true, or q is true, but not both!
p q pq
F F F
F T T xor(p,q) = r
T F T
T T F
This operation is called exclusive or, because it excludes the possibility that
both p and q are true.
Example about always true XORed statements :
“Pat is a man or Pat is a woman”
A Simple Exercise
Assume p = “It rained last night”, q = “The sprinklers came on last night” ,
r = “The grass was wet this morning”.
Translate each of the following into English:
¬p = It did not rain last night
r ¬p = The grass was wet this morning and it did not rain last night
¬rpq = Either the grass wasn’t wet this morning, or it rained last
night, or the sprinklers came on last night
Nested Propositional Expressions
Note that
(f g) s would mean something different from f g s
By convention, “¬” takes precedence over both “” and “”. (¬ ,
, , , )
¬s f means (¬s) f , not ¬ (s f )
The Implication Operator
The implication p q states that p implies q.
If p is true, then q is true; but if p is not true, then q could be either true or
false.
e.g. Let p = “You get 100% on the final”
q = “You will get an A”
p q = “If you get 100% on the final, then
you will get an A”
Implication Truth Table
p q is false only when p is true but q is not true. p q pq
p q does not say that p causes q! F F T
p q does not require that p or q are ever true! F T T
T F F
e.g. “(1 = 0) pigs can fly” is TRUE! T T T
Examples of Implications
“If this lecture ever ends, then the sun will rise tomorrow.” True or False?
“If Tuesday is a day of the week, then I am a penguin.” True or False?
“If 1 + 1 = 6, then Trump is now the president of USA.” True or False?
Equivalent symbols for implication
"P implies Q "
"If P, Q "
"If P, then Q "
"P only if Q "
"P is sufficient for Q "
"Q if P "
"Q is necessary for P "
"Q when P "
"Q whenever P "
"Q follows from P "
Logical Equivalence
¬ p q is logically equivalent to p q
p q ¬p q pq
F F T T
F T T T
T F F F
T T T T
We will see this later on
Converse, Inverse, Contrapositive
Some terminology, for an implication p q :
Its converse is: q p
Its inverse is: ¬p ¬q
Its contrapositive is: ¬ q ¬ p
Can you try the previous example on that ????
Example of Converse, Inverse,
Contrapositive
Write the converse, inverse and contrapositive of the statement “if 2 ≠ 0, then
John is a programmer”
Its converse is: “if John is a programmer, then 2 ≠ 0”
Its inverse is: “if 2 = 0, then John is not a
programmer”
Its contrapositive is: “if John is not a programmer,
then 2 = 0”
Note: The negation operation (¬) is different from the inverse operation.
Biconditional Truth Table
In English:
p q pq
“p if and only if q "
F F T
"If p, then q, and conversely"
F T F
“p is sufficient and necessary for q " T F F
Written p q T T T
Translation English Sentences into
Logical Expressions
If you are a computer science major or you are not a freshman,
then you can access the internet from campus :
is translated to:
(c f ) a
Logic and Bit Operations
Find the bitwise AND, bitwise OR, and bitwise XOR of the bit strings
0110110110 and 1100011101.
0110110110 Truth value Bit
1100011101 F 0
T 1
__________
Bitwise AND 0100010100
Bitwise OR 1110111111
Bitwise XOR 1010101011
Propositional Equivalence,
Tautologies and Contradictions
• A tautology is a compound proposition that is always true.
e.g. p p T
• A contradiction is a compound proposition that is always false.
e.g. p p F
• Other compound propositions are contingencies.
e.g. p q , p q
Tautology
Example: p p q
p q pq ppq
F F F T
F T T T
T F T T
T T T T
Equivalence Laws
Identity: pTp , pFp
Domination: pTT , pFF
Idempotent: ppp , ppp
Double negation: p p
Commutative: pqqp, pqqp
Associative: (p q) r p (q r)
(p q) r p (q r)
More Equivalence Laws
Distributive: p (q r) (p q) (p r)
p (q r) (p q) (p r)
De Morgan’s:
(p q) p q
(p q) p q
Absorption:
p (p q) p
p (p q) p
Trivial tautology/contradiction:
p p T , p p F
Implications / Biconditional Rules
p q ¬p q
¬ (p q) ¬ (¬p q) p ¬ q
p q ¬ q ¬ p (contrapositive)
p q (p q) (q p)
¬ (p q) p q
Proving Equivalence via Truth Tables
Example: Prove that p q and (p q) are logically
equivalent.
p q pq p q p q (p q)
F F F T T T F
F T T T F F T
T F T F T F T
T T T F F F T
Proving Equivalence using Logic Laws
Example 1. Show that (P (P Q)) and (P Q) are
logically equivalent.
(P (P Q)) De Morgan
P (P Q) De Morgan
P ((P) Q) Double negation
P (P Q ) Distributive
( P P) ( P Q) Negation
F ( P Q) Identity
( P Q)
Proving Equivalence using Logic Laws
Example 2: Show that ( (P Q) Q) is a contradiction.
( (P Q) Q) Equivalence
( ( P Q) Q) De Morgan
( (P Q) Q) Equivalence
( (P Q) Q) De Morgan
( P Q Q) Trivial Tautology
( P T) Domination
(T) Contradiction
F
Predicates and Quantifiers
Predicates: “x is greater than 3” has two parts
First part: x , is a variable.
Second part: “is greater than 3”, is a predicate.
“x is greater than 3” can be denoted by the
propositional function P(x).
P(x): x > 3, let x = 4, then P(4) is true,
let x = 1, then P(1) is false.
Example: If R(x, y, z) : x + y = z then
R(1, 2, 3), 1 + 2 = 3, is true.
Quantifiers
Quantification Universal Quantification “”
Existential Quantification “”
Universes of Discourse (U.D) or Domain (D):
Collection of all persons, ideas, symbols, …
For every and for some
Most statements in mathematics and computer
science use terms such as for every and for some.
For example:
For every triangle T, the sum of the angles of T is 180 degrees.
For every integer n, n is less than p, for some prime number p.
The Universal Quantifier
x P(x): “P(x) is true for all (every) values of x in the
universe of discourse”.
Example: What is the truth value of
x (x 2 ≥ x) .
- If UD is all real numbers, the truth value is false (take x =
0.5, this is called a counterexample).
- If UD is the set of integers, the truth value is true.
The Existential Quantifier
• x Q(x): There exists an element x in the universe of
discourse such that Q(x) is true.
Example 1: Let Q(x): x = x + 1, Domain is the set of all
real numbers:
- The truth value of x Q(x) is false (as the is no real x
such that x = x + 1).
Example 2: Let Q(x): x2 = x, Domain is the set of all real
numbers:
- The truth value of x Q(x) is true (take x = 1).
Important Note
Let P(x): x 2 ≥ x, Domain is the set {0.5, 1, 2, 3}.
• x P(x) P(0.5) P(1) P(2) P(3)
FTTT
F
• x P(x) P(0.5) P(1) P(2) P(3)
FTTT
T
Example
Suppose that the universe of discourse of P(x, y) is {1, 2, 3}.
Write out the following propositions using disjunctions and
conjunctions:
x P(x, 2):
P(1,2) P(2, 2) P(3, 2)
y P(3, y):
P(3,1) P(3,2) P(3,3)
Negations
x P(x) ≡ x P(x)
x Q(x) ≡ x Q(x)
Example: Let P(x) is the statement “x2 − 1 = 0”, where the
domain is the set of real numbers R.
- The truth value of x P(x) is False
- The truth value of x P(x) is True
- x P(x) ≡ x (x 2 − 1 ≠ 0) , which is True
- x P(x) ≡ x (x 2 − 1 ≠ 0) , which is False
Example
Suppose that P(x) is the statement “x + 3 = 4x” where the
domain is the set of integers. Determine the truth values of
x P(x). Justify your answer.
It is clear that P(1) is True, but P(x) is False for every x ≠ 1
(take x = 2 as a counterexample). Thus, the truth value of
x P(x) is False.
Translation using Predicates and
Quantifiers
“Every student in this class has studied math and C++
course”, Universes of Discourse is the student in this
class.
Translated to: x (M(x) CPP(x))
“For every person x, if x is a student in this class then x
has studied math and C++”, UD is all people.
Translated to: x (S(x) M(x) CPP(x))
Translation using Predicates and
Quantifiers
“Some student in this class has studied math and C++
course”, UD is the students in this class.
Translated to: x (M(x) CPP(x))
• But if the UD is all people.
Translated to: x (S(x) M(x) CPP(x))
Example
Let G(x), F(x), Z(x), and M(x) be the statements "x is a giraffe“, "x
is 15 feet or higher“, "x is in this zoo" and "x belongs to me"
respectively. Suppose that the universe of discourse is the set of
animals. Express each of the following quantifiers in English:
• x (Z(x) G(x))
All animals in this zoo are giraffes
• x (M(x) F(x))
I have no animals less than 15 feet high
• x (Z(x) M(x))
There are no animals in this zoo that belong to anyone but me
x ( G(x) F(x))
No animals, except giraffes, are 15 feet or higher
Summary
In order to prove the quantified statement x P(x) is true
It is not enough to show that P(x) is true for some x D
You must show that P(x) is true for every x D
You can show that x P(x) is false
In order to prove the universal quantified statement x P(x) is
false
It is enough to exhibit some x D for which P(x) is false
This x is called the counterexample to the statement x P(x) is
true
Summary
In order to prove the existential quantified statement x Q(x)
is true
It is enough to exhibit some x D for which Q(x) is true
In order to prove the existential quantified statement x Q(x)
is false
It is not enough to show that Q(x) is false for some x D
You must show that Q(x) is false for every x D