Discrete Mathematics Syllabus 2023
Discrete Mathematics Syllabus 2023
Course Outcomes:
PCCCS401.1: Ability to apply mathematical logic to solve Problems.
PCCCS401.2: Able to use fundamental mathematical concepts such as
sets relations, functions, congruence etc to solve problems in
cryptography.
PCCCS401.3: Able to formulate problems and solve recurrence
relations.
PCCCS401.4: Able to model and solve real world problems using graphs
and trees.
CO-PO mapping:
CO. NO. PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
PCCCS401. 1 2 3 3 3 1 1 - 2 2 3 2 -
PCCCS401. 2 2 2 3 3 2 1 2 1 2 - 1 3
PCCCS401. 3 2 2 3 3 3 1 1 1 2 2 1 3
PCCCS401. 4 1 3 3 3 3 1 3 - 2 1 2 1
1 International 10
Sets, Operations and Laws of
Academia: (1) Implement Euclidean
Relation Sets, Cartesian Products, ([Link] algorithm using C/
and Binary Relation, Partial du/courses/18- Python;
Function Ordering Relation, 310-principles- (2) Implement RSA
of-discrete- algorithm using C/
, Equivalence Relation, applied- Python;
Principle Image of a Set, Sum and mathematics-fall- (3) Implement Fermat’s
s of Product of Functions, 2013/pages/sylla little theorem /
mathema Bijective functions, Inverse bus/) Primality checking
using C / Python.
tical and Composite Function, AICTE-prescribed (4) Check if any two
inductio Size of a Set, The Well- syllabus: given number is co-
n and Ordering Principle, The ([Link] prime using Python /
cryptogr Division algorithm, Prime [Link]/sites/defa C.
aphy Numbers, The Greatest ult/files/Model_Cu
Common Divisor, Euclidean rriculum/AICTE%
20-
Algorithm, The
%20UG%20CSE.p
Fundamental Theorem of df)
Arithmetic. Coprimality (or
Euler’s totient function), Industry
Chinese Remainder Mapping:
[Link]
Theorem. [Link]/ ,
MATLAB
3 International 8
Algebrai Algebraic Structures with Standards: (1) Conversion of First
([Link] Order Logic statements
c one Binary Operation, du/courses/18- to Conjunctive Normal
Structur Semi Groups, Monoids, 310-principles- Form using Python/
es and Groups, Permutation of-discrete- SAGEMATH;
Morphis Groups, Normal applied- (2) Conversion of First
mathematics-fall- Order Logic statements
m: Subgroups, Ring, Field, 2013/pages/sylla to Disjunctive Normal
Vector spaces, Inner- bus/) Form using Python/
product spaces SAGEMATH;
AICTE prescribed
syllabus:
([Link]
[Link]/sites/defa
ult/files/Model_Cu
rriculum/AICTE%
20-
%20UG%20CSE.p
df)
Industry Mapping:
[Link]
[Link]/ ,
MATLAB
4 6 (1) Implementation
Graphs Graphs and their International of maximum
and properties, Degree, Standards : flow problem
([Link] using Python;
Trees Connectivity, Path, Cycle, du/courses/18- (2) Checking a graph
Sub Graph, Isomorphism, 310-principles-of- is Hamiltonian
Eulerian and Hamiltonian discrete-applied- using Python /
mathematics-fall- SAGEMATH.
Walks, Graph Coloring, 2013/pages/syllab
Planar Graphs, Matching, us/)
Trees
AICTE prescribed
syllabus:
([Link]
[Link]/sites/defa
ult/files/Model_Cu
rriculum/AICTE%
20-
%20UG%20CSE.p
df)
Industry Mapping:
[Link]
[Link]/, MATLAB
Textbooks: (1) Discrete Mathematics and Application by Kenneth Rosen, 8th Edition.
*Submitted by Dr. Prithwineel Paul, Dr. Bivas Bhaumick Dept. of CSE, IEM, Kolkata, Salt Lake Campus
STUDY MATERIAL
Course objective:
(1) To introduce the concepts of sets, relations, and functions. To perform
the operations associated with sets, functions, and relations.
(2) To introduce the concepts of mathematical logicTo introduce generating
functions and recurrence relations.
(3) To introduce the concepts of groups, fields etc and their real-life
applications in cryptography;
(4) To use Graph Theory for solving problems and solving network flow
problems
MODULE 1
A set is an unordered collection of objects, called elements or members of the set. A set
is said to contain its elements. We write a ∈ A to denote that a is an element of the set A.
The notation a ∈ A denotes that a is not an element of the set A.
Two sets are equal if and only if they have the same elements. Therefore, if A and B are
sets, then A and B are equal if and only if ∀ x(x ∈ A ↔ x ∈ B). We write A = B if A and B are
equal sets.
The set A is a subset of B if and only if every element of A is also an element of B. We use
the notation A ⊆ B to indicate that A is a subset of the set B.
Let A and B be sets. The union of the sets A and B, denoted by A ∪ B, is the set that
contains those elements that are either in A or in B, or in both.
Let A and B be sets. The intersection of the sets A and B, denoted by A ∩ B, is the set
containing those elements in both A and B.
Two sets are called disjoint if their intersection is the empty set.
Let A and B be sets. The difference of A and B, denoted by A − B, is the set containing
those elements that are in A but not in B. The difference of A and B is also called the
complement of B with respect to A.
Let U be the universal set. The complement of the set A, denoted by 𝐴̄, is the complement
of A with respect to U. Therefore, the complement of the set A is U − A.
Showing Two Sets are Equal To show that two sets A and B are equal, show that A ⊆ B
and B ⊆ A.
A ∩ U = A ;A ∪∅ = A Identity laws
A ∪ U = U Domination laws A ∩∅ =∅
A ∪ A = A Idempotent laws A ∩ A = A
(𝐴̄) = A
A ∪ B = B ∪ A Commutative laws A ∩ B = B ∩ A
A ∪ (B ∪ C) = (A ∪ B) ∪ C Associative laws A ∩ (B ∩ C) = (A ∩ B) ∩ C
A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) Distributive laws A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)
𝐴 ∩̄ 𝐵 = A ∪ B De Morgan’s laws A ∪ B = A ∩ B
A ∪ (A ∩ B) = A Absorption laws A ∩ (A ∪ B) = A
A ∪ A = U Complement laws A ∩ A = ∅
Let S be a set. If there are exactly n distinct elements in S where n is a nonnegative integer,
we say that S is a finite set and that n is the cardinality of S. The cardinality of S is denoted
by |S|.
Given a set S, the power set of S is the set of all subsets of the set S. The power set of S
is denoted by P(S).
Let A and B be sets. The Cartesian product of A and B, denoted by A × B, is the set of all
ordered pairs (a, b), where a ∈ A and b ∈ B. Hence, A × B = {(a, b) | a ∈ A ∧ b ∈ B}.
The Cartesian product of the sets A1, A2,...,An, denoted by A1 × A2 ×···× An, is the set of
ordered n-tuples (a1, a2,...,an), where ai belongs to Ai for i = 1, 2,...,n. In other words, A1 ×
A2 ×···× An = {(a1, a2,...,an) | ai ∈ Ai for i = 1, 2,...,n}.
In other words, a binary relation from A to B is a set R of ordered pairs where the first
element of each ordered pair comes from A and the second element comes from B. We
use the notation aRb to denote that (a, b) ∈ R and a R b to denote that (a, b) /∈ R. Moreover,
when (a, b) belongs to R, a is said to be related to b by R.
A relation R on a set A is called transitive if whenever (a, b) ∈ R and (b, c) ∈ R, then (a, c)
∈ R, for all a, b, c ∈ A.
Let f be a function from A to B and let S be a subset of A. The image of S under the function
f is the subset of B that consists of the images of the elements of S. We denote the image
of S by f (S), so f (S) = {t | ∃ s ∈ S (t = f (s))}. We also use the shorthand {f (s) | s ∈ S} to
denote this set.
A function f from A to B is called onto, or a surjection, if and only if for every element b ∈
B there is an element a ∈ A with f (a) = b. A function f is called surjective if it is onto.
Let f be a one-to-one correspondence from the set A to the set B. The inverse function of
f is the function that assigns to an element b belonging to B the unique element a in A such
that f (a) = b. The inverse function of f is denoted by f −1. Hence, f −1(b) = a when f (a) = b.
Let g be a function from the set A to the set B and let f be a function from the set B to the
set C. The composition of the functions f and g, denoted for all a ∈ A by f ◦ g, is defined by
(f ◦ g)(a) = f (g(a)).
Let a and b be integers, not both zero. The largest integer d such that d | a and d | b is
called the greatest common divisor of a and b. The greatest common divisor of a and b is
denoted by gcd(a, b).
The integers a and b are relatively prime if their greatest common divisor is 1.
The least common multiple of the positive integers a and b is the smallest positive integer
that is divisible by both a and b. The least common multiple of a and b is denoted by lcm(a,
b).
If a and b are positive integers, then there exist integers s and t such that gcd(a, b) = sa +
tb.
THE CHINESE REMAINDER THEOREM Let m1, m2,...,mn be pairwise relatively prime
positive integers greater than one and a1, a2,...,an arbitrary integers. Then the system
x ≡ a1 (mod m_1),
x ≡ a2 (mod m_2),
···
x ≡ an (mod m_n)
has a unique solution modulo m = m_1m_2 ··· m_n. (That is, there is a solution x with 0 ≤
x.
FERMAT’S LITTLE THEOREM If p is prime and a is an integer not divisible by p, then 𝑎𝑝−1 ≡
1 (mod p). Furthermore, for every integer a we have 𝑎𝑝 ≡ a (mod p).
All classical ciphers, including shift ciphers and affine ciphers, are examples of private
key cryptosystems. In a private key cryptosystem, once you know an encryption key, you
can quickly find the decryption key. So, knowing how to encrypt messages using a
particular key allows you to decrypt messages that were encrypted using this key.
To avoid the need for keys to be shared by every pair of parties that wish to communicate
securely, in the 1970s cryptologists introduced the concept of public key cryptosystems.
When such cryptosystems are used, knowing how to send an encrypted message does
not help decrypt messages. In such a system, everyone can have a publicly known
encryption key. Only the decryption keys are kept secret, and only the intended recipient
of a message can decrypt it, because, as far as it is currently known, knowledge of the
encryption key does not let someone recover the plaintext message without an
extraordinary amount of work (such as billions of years of computer time).
The RSA Cryptosystem: In 1976, three researchers at the Massachusetts Institute of
Technology—Ronald Rivest, Adi Shamir, and Leonard Adelman—introduced to the world
a public key cryptosystem, known as the RSA system, from the initials of its inventors. As
often happens with cryptographic discoveries, the RSA system had been discovered
several years earlier in secret government research in the United Kingdom. Clifford Cocks,
working in secrecy at the United Kingdom’s Government Communications Headquarters
(GCHQ), had discovered this cryptosystem in 1973. However, his invention was unknown
to the outside world until the late 1990s, when he was allowed to share classified GCHQ
documents from the early 1970s. (An excellent account of this earlier discovery, as well as
the work of Rivest, Shamir, and Adleman, can be found in [Si99].)
In the RSA cryptosystem, each individual has an encryption key (n, e) where n = pq, the
modulus is the product of two large primes p and q, say with 200 digits each, and an
exponent e that is relatively prime to (p − 1)(q − 1). To produce a usable key, two large
primes must be found. This can be done quickly on a computer using probabilistic
primality tests, referred to earlier in this section. However, the product of these primes n =
pq, with approximately 400 digits, cannot, as far as is currently known, be factored in a
reasonable length of time. As we will see, this is an important reason why decryption
cannot, as far as is currently known, be done quickly without a separate decryption key.
RSA Encryption: To encrypt messages using a particular key (n, e), we first translate a
plaintext message M into sequences of integers. To do this, we first translate each plaintext
letter into a two-digit number, using the same translation we employed for shift ciphers,
with one key difference. That is, we include an initial zero for the letters A through J, so
that A is translated into 00, B into 01, ... , and J into 09. Then, we concatenate these two-
digit numbers into strings of digits. Next, we divide this string into equally sized blocks of
2N digits, where 2N is the largest even number such that the number 2525 ... 25 with 2N
digits does not exceed n. (When necessary, we pad the plaintext message with dummy Xs
to make the last block the same size as all other blocks.)
After these steps, we have translated the plaintext message M into a sequence of integers
m1, m2,...,mk for some integer k. Encryption proceeds by transforming each block mi to a
ciphertext block ci. This is done using the function 𝐶 = 𝑀𝑒 𝑚𝑜𝑑 𝑛. (To perform the
encryption, we use an algorithm for fast modular exponentiation, such as Algorithm 5 in
Section 4.2.) We leave the encrypted message as blocks of numbers and send these to the
intended recipient. Because the RSA cryptosystem encrypts blocks of characters into
blocks of characters, it is a block cipher.
RSA Decryption: The plaintext message can be quickly recovered from a ciphertext
message when the decryption key d, an inverse of e modulo (p − 1)(q − 1), is known. [Such
an inverse exists because gcd(e, (p − 1)(q − 1)) = 1.] To see this, note that if de ≡ 1 (mod (p
− 1)(q − 1)), there is an integer k such that de = 1 + k(p − 1)(q − 1). It follows that 𝐶 𝑑 ≡
(𝑀𝑒 )𝑑 = 𝑀𝑑𝑒 = 𝑀1+𝑘(𝑝−1)(𝑞−1) (𝑚𝑜𝑑 𝑛).
By Fermat’s little theorem [assuming that gcd(M, p) = gcd(M, q) = 1, it follows that 𝑀𝑝−1 ≡
1 (𝑚𝑜𝑑 𝑝)and 𝑀𝑞−1 ≡ 1 (𝑚𝑜𝑑 𝑞). Consequently, 𝐶 𝑑 ≡ 𝑀(𝑀𝑝−1) 𝑘(𝑞−1) ≡ 𝑀 · 1 = 𝑀 (𝑚𝑜𝑑 𝑝)
and 𝐶 𝑑 ≡ 𝑀(𝑀𝑞−1) 𝑘(𝑝−1) ≡ 𝑀 · 1 = 𝑀 (𝑚𝑜𝑑 𝑞). Because gcd(p, q) = 1, it follows by the
Chinese remainder theorem that 𝐶 𝑑 ≡ 𝑀 (𝑚𝑜𝑑 𝑝𝑞).
Let p and q be propositions. The conditional statement p → q is the proposition “if p, then
q.” The conditional statement p → q is false when p is true and q is false, and true
otherwise. In the conditional statement p → q, p is called the hypothesis (or antecedent or
premise) and q is called the conclusion (or consequence).
A compound proposition that is always true, no matter what the truth values of the
propositional variables that occur in it, is called a tautology. A compound proposition that
is always false is called a contradiction. A compound proposition that is neither a tautology
nor a contradiction is called a contingency.
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
A statement of the form P (x1, x2,...,xn) is the value of the propositional function P at the
n-tuple (x1, x2,...,xn), and P is also called an n-place predicate or a n-ary predicate.
The universal quantification of P (x) is the statement “P (x) for all values of x in the domain.”
The notation ∀ xP (x) denotes the universal quantification of P (x). Here ∀ is called the
universal quantifier. We read ∀ xP (x) as “for all xP (x)” or “for every xP (x).” An element
for which P (x) is false is called a counterexample of ∀ xP (x).
The existential quantification of P (x) is the proposition “There exists an element x in the
domain such that P (x).” We use the notation ∃ xP (x) for the existential quantification of P
(x). Here ∃ is called the existential quantifier.
Rules of inference:
(p ∧ (p → q)) → q
(¬q ∧ (p → q)) → ¬p
((p → q) ∧ (q → r)) → (p → r)
((p ∨ q) ∧ ¬p) → q
p → (p ∨ q)
(p ∧ q) → p
((p) ∧ (q)) → (p ∧ q)
((p ∨ q) ∧ (¬p ∨ r)) → (q ∨ r)
(The Pigeonhole Principle.) If n or more pigeons are distributed among k > 0 pigeonholes,
then at least one pigeonhole contains at least ⌈𝑛/𝑘⌉ pigeons.
Semigroups:
(a∗ b)∗ c=a∗ (b∗ c)for all a,b,c∈ S(a∗ b)∗ c=a∗ (b∗ c)for all a,b,c∈ S
Monoids:
1. Associativity: (a∗ b)∗ c=a∗ (b∗ c)(a∗ b)∗ c=a∗ (b∗ c) for all a,b,c∈ Ma,b,c∈ M.
2. Identity Element: There exists an element e in M such that a∗ e=e∗ a=aa∗ e=e∗ a=a for all
a∈ Ma∈ M.
In summary, while both semigroups and monoids involve sets and binary operations, monoids
include the additional concept of an identity element.
Groups:
In the realm of abstract algebra, a group is a fundamental mathematical structure that captures the
concept of symmetry and transformations. Formally, a group (G, ∗ ) consists of a set G and a binary
operation ∗ satisfying the following properties:
Permutation Groups:
Permutation groups are a specific type of group that focuses on the study of rearrangements or
permutations of a set. Formally, a permutation group on a set XX is a group consisting of all
possible bijective mappings (permutations) from XX to itself, where the group operation is function
composition.
1. Definition: Let XX be a set, and let S(X)S(X) denote the set of all bijections (permutations)
from XX to itself. A permutation group on XX is a subgroup of S(X)S(X) under function
composition.
2. Group Structure: The elements of a permutation group are the various ways the elements
of XX can be rearranged. The group operation is the composition of permutations, reflecting
how one permutation followed by another results in a new permutation.
3. Example: Consider the set X={1,2,3}X={1,2,3}. The permutation group on XX, denoted as
S3S3, includes all possible ways to permute the elements of XX. For instance, one
permutation in S3S3 could be (1 2 3), representing the cyclic permutation that sends 1 to 2,
2 to 3, and 3 to 1.
Normal Subgroups:
In group theory, normal subgroups are a specific type of subgroup that plays a significant role in
understanding the structure and properties of groups. A subgroup NN of a group GG is considered
normal if, for every element gg in GG, the conjugate gNg−1 is still within the subgroup NN.
A directed graph (or digraph) (V , E) consists of a nonempty set of vertices V and a set of
directed edges (or arcs) E. Each directed edge is associated with an ordered pair of
vertices. The directed edge associated with the ordered pair (u, v) is said to start at u and
end at v.
Two vertices u and v in an undirected graph G are called adjacent (or neighbors) in G if u
and v are endpoints of an edge e of G. Such an edge e is called incident with the vertices
u and v and e is said to connect u and v.
The set of all neighbors of a vertex v of G = (V , E), denoted by N (v), is called the
neighborhood of v. If A is a subset of V , we denote by N (A) the set of all vertices in G that
are adjacent to at least one vertex in A.
The degree of a vertex in an undirected graph is the number of edges incident with it,
except that a loop at a vertex contributes twice to the degree of that vertex. The degree of
the vertex v is denoted by deg(v).
When (u, v) is an edge of the graph G with directed edges, u is said to be adjacent to v and
v is said to be adjacent from u. The vertex u is called the initial vertex of (u, v), and v is
called the terminal or end vertex of (u, v). The initial vertex and terminal vertex of a loop
are the same.
In a graph with directed edges the in-degree of a vertex v, denoted by deg−(v), is the
number of edges with v as their terminal vertex. The out-degree of v, denoted by deg+(v),
is the number of edges with v as their initial vertex. (Note that a loop at a vertex contributes
1 to both the in-degree and the out-degree of this vertex.)
Let G = (V , E) be a graph with directed edges. Then 𝛴𝑣∈𝑉 deg−(v) = 𝛴𝑣∈𝑉 deg+(v) = |E|.
A simple graph G is called bipartite if its vertex set V can be partitioned into two disjoint
sets V1 and V2 such that every edge in the graph connects a vertex in V1 and a vertex in
V2 (so that no edge in G connects either two vertices in V1 or two vertices in V2). When
this condition holds, we call the pair (V1, V2) a bipartition of the vertex set V of G.
Complete Bipartite Graphs A complete bipartite graph Km,n is a graph that has its vertex
set partitioned into two subsets of m and n vertices, respectively with an edge between
two vertices if and only if one vertex is in the first subset and the other vertex is in the
second subset.
HALL’S MARRIAGE THEOREM The bipartite graph G = (V , E) with bipartition (V1, V2) has
a complete matching from V1 to V2 if and only if |N (A)|≥|A| for all subsets A of V1.
Let G = (V , E) be a simple graph. The subgraph induced by a subset W of the vertex set V
is the graph (W, F ), where the edge set F contains an edge in E if and only if both endpoints
of this edge are in W.
The union of two simple graphs G1 = (V1, E1) and G2 = (V2, E2) is the simple graph with
vertex set V1 ∪ V2 and edge set E1 ∪ E2. The union of G1 and G2 is denoted by G1 ∪ G2.
The simple graphs G1 = (V1, E1) and G2 = (V2, E2) are isomorphic if there exists a oneto-
one and onto function f from V1 to V2 with the property that a and b are adjacent in G1 if
and only if f (a) and f (b) are adjacent in G2, for all a and b in V1. Such a function f is called
an isomorphism. ∗ Two simple graphs that are not isomorphic are called nonisomorphic.
An undirected graph is called connected if there is a path between every pair of distinct
vertices of the graph. An undirected graph that is not connected is called disconnected.
We say that we disconnect a graph when we remove vertices or edges, or both, to produce
a disconnected subgraph.
There is a simple path between every pair of distinct vertices of a connected undirected
graph.
A directed graph is weakly connected if there is a path between every two vertices in the
underlying undirected graph.
Let G be a graph with adjacency matrix A with respect to the ordering v1, v2,..., vn of the
vertices of the graph (with directed or undirected edges, with multiple edges and loops
allowed). The number of different paths of length r from vi to vj , where r is a positive
integer, equals the (i, j )th entry of Ar.
An Euler circuit in a graph G is a simple circuit containing every edge of G. An Euler path
in G is a simple path containing every edge of G.
A connected multigraph with at least two vertices has an Euler circuit if and only if each of
its vertices has even degree.
A connected multigraph has an Euler path but not an Euler circuit if and only if it has
exactly two vertices of odd degree.
A simple path in a graph G that passes through every vertex exactly once is called a
Hamilton path, and a simple circuit in a graph G that passes through every vertex exactly
once is called a Hamilton circuit. That is, the simple path x0, x1,...,xn−1, xn in the graph G
= (V , E) is a Hamilton path if V = {x0, x1,...,xn−1, xn} and xi = xj for 0 ≤ i 0) is a Hamilton
circuit if x0, x1,...,xn−1, xn is a Hamilton path.
Dijkstra’s algorithm finds the length of a shortest path between two vertices in a connected
simple undirected weighted graph.
A graph is called planar if it can be drawn in the plane without any edges crossing (where
a crossing of edges is the intersection of the lines or arcs representing them at a point
other than their common endpoint). Such a drawing is called a planar representation of the
graph.
EULER’S FORMULA Let G be a connected planar simple graph with e edges and v vertices.
Let r be the number of regions in a planar representation of G. Then r = e − v + 2.
If G is a connected planar simple graph with e edges and v vertices, where v ≥ 3, then e ≤
3v − 6.
If G is a connected planar simple graph, then G has a vertex of degree not exceeding five.
If G is a connected planar simple graph, then G has a vertex of degree not exceeding five.
A coloring of a simple graph is the assignment of a color to each vertex of the graph so
that no two adjacent vertices are assigned the same color.
The chromatic number of a graph is the least number of colors needed for a coloring of
this graph. The chromatic number of a graph G is denoted by χ (G). (Here χ is the Greek
letter chi.)
THE FOUR COLOR THEOREM The chromatic number of a planar graph is no greater than
four.
An undirected graph is a tree if and only if there is a unique simple path between any two
of its vertices.
An undirected graph is a tree if and only if there is a unique simple path between any two
of its vertices.
A rooted tree is called an m-ary tree if every internal vertex has no more than m children.
The tree is called a full m-ary tree if every internal vertex has exactly m children. An m-ary
tree with m = 2 is called a binary tree.
A minimum spanning tree in a connected weighted graph is a spanning tree that has the
smallest possible sum of weights of its edges.