Closure of a relation means adding the minimum required ordered pairs to a relation so that it satisfies a desired property (reflexive, symmetric, or transitive) without removing any existing pairs. The original relation remains unchanged, and only the necessary pairs are added.
Types of Closure

1. Reflexive Closure
The reflexive closure of a relation R on a set A is the smallest relation R′ that contains R and is reflexive. This means that every element in A is related to itself.
Formula: R′ = R ∪ {(a,a) ∣ a ∈ A}
Example: Let A = {1,2} and R={(1,2)}. The reflexive closure of R is: R′ = {(1,2),(1,1),(2,2)}.
2. Symmetric Closure
The symmetric closure of a relation R on a set A is the smallest relation R′ that contains R and is symmetric. This means that if (a,b) ∈ R′, then (b,a) ∈ R′
Formula: R′ = R ∪ {(b,a) ∣ (a,b) ∈ R}
Example: Let A = {1,2} and R = {(1,2)}. The symmetric closure of R is: R′ = {(1,2),(2,1)}.
3. Transitive Closure
The transitive closure of a relation R on a set A is the smallest relation R′ that contains R and is transitive. If you can reach from a → b and b → c, then R′ must include a → c directly.
Note: If (a,b) ∈ R′ and (b,c) ∈ R′, then (a,c) ∈ R′.
Algorithm (Warshall's Algorithm)
Warshall’s Algorithm is used to find the transitive closure of a relation. It checks whether a path exists between two elements through intermediate elements and adds the necessary ordered pairs to make the relation transitive.
Steps of the Algorithm:
1. Represent the relation R as a 0/1 matrix M, where:
- M[i][j] = 1 if (i,j) ∈ R
- M[i][j] = 0 otherwise
2. Select each element k as an intermediate element one by one.
3. If M[i][k] = 1 and M[k][j] = 1, then set M[i][j] = 1.
4. Repeat this process for all elements in the set.
5. The final matrix represents the transitive closure R′.
Example: Let A = {1,2,3} and R = {(1,2),(2,3)}.
Since there is a path from 1 to 2 and from 2 to 3, an indirect relation from 1 to 3 exists. Therefore, add (1,3) to the relation.
Thus, the transitive closure is:
R′ = {(1,2),(2,3),(1,3)}.
Applications in Engineering
1. Database Theory: In database theory, the closure of relations is used in query optimization and integrity constraints.
Example: Ensuring that a database relation maintains transitive dependencies helps in normalizing the database and reducing redundancy.
2. Computer Networks: Closure of relations helps in network routing algorithms to ensure that connections are efficiently managed.
Example: Using the transitive closure to find the shortest path in a network by considering all possible routes.
3. Formal Verification: In formal methods, closure properties are used to verify the correctness of systems and protocols.
Example: Verifying that a system maintains certain properties under all possible transitions can be achieved by computing the transitive closure of the state transition relation.
4. Compiler Design: Closure properties are used in data flow analysis to optimize and validate code.
Example: Using the transitive closure in reaching definitions analysis to determine all definitions that can reach a particular point in the code.
5. Social Network Analysis: In social network analysis, closure properties help understand the reachability and influence within a network.
Example: Computing the transitive closure to find all indirect connections between individuals in a social network.
Sample Problems
Example 1: Find Reflexive Closure
Given: R = {(1,2), (2,3), (3,4)} on set A = {1, 2, 3, 4}
To find the reflexive closure, we need to add all pairs (a,a) that are missing from R for all a ∈ A.
Reflexive closure of R = R ∪ {(1,1), (2,2), (3,3), (4,4)}
= {(1,1), (1,2), (2,2), (2,3), (3,3), (3,4), (4,4)}
Example 2: Find Symmetric Closure
Given: R = {(1,2), (2,3), (1,3)} on set A = {1, 2, 3}
To find the symmetric closure, we need to add (b,a) for every (a,b) in R.
Symmetric closure of R = R ∪ {(2,1), (3,2), (3,1)}
= {(1,2), (2,1), (2,3), (3,2), (1,3), (3,1)}
Example 3: Find Transitive Closure
Given: R = {(1,2), (2,3), (3,4)} on set A = {1, 2, 3, 4}
To find the transitive closure, we need to add all pairs (a,c) where (a,b) and (b,c) are in R.
Step 1: R⁰ = R = {(1,2), (2,3), (3,4)}
Step 2: R¹ = R⁰ ∪ {(1,3)} (because (1,2) and (2,3) are in R⁰)
Step 3: R² = R¹ ∪ {(1,4), (2,4)} (because (1,3) and (3,4), and (2,3) and (3,4) are in R¹)
Step 4: R³ = R² (no new pairs added)
Therefore, the transitive closure of R is:
{(1,2), (2,3), (3,4), (1,3), (1,4), (2,4)}
Example 4: Find All Closures Combined
Given: R = {(1,2), (2,1)} on set A = {1, 2, 3}
Since 3 ∈ A but (3,3) ∉ R, it is added for reflexive closure.
R ∪ {(1,1), (2,2), (3,3)} = {(1,1), (1,2), (2,1), (2,2), (3,3)}
Symmetric Closure: R is already symmetric
Transitive Closure: R is already transitive
Reflexive, Symmetric, and Transitive Closure:
{(1,1), (1,2), (2,1), (2,2), (3,3)}
Practice Problems
Question 1: Find the reflexive closure of R = {(1,2), (2,3), (3,1)} on set A = {1,2,3}.
Question 2: Determine the symmetric closure of R = {(a,b), (b,c), (c,d)} on set A = {a,b,c,d}.
Question 3: Calculate the transitive closure of R = {(1,2), (2,3), (3,4)} on set A = {1,2,3,4}.
Question 4: Find the reflexive and symmetric closure of R = {(x,y), (y,z)} on set A = {x,y,z}.
Question 5: Determine the transitive closure of R = {(a,b), (b,c), (c,a), (a,d)} on set A = {a,b,c,d}.
Question 6: Calculate the reflexive, symmetric, and transitive closure of R = {(1,2), (2,3)} on set A = {1,2,3}.
Question 7: Find the symmetric closure of R = {(1,1), (1,2), (2,3), (3,1)} on set A = {1,2,3}.
Question 8: Determine the reflexive closure of R = {(a,b), (b,a), (b,c), (c,c)} on set A = {a,b,c}.
Question 9: Calculate the transitive closure of R = {(1,2), (2,1), (2,3), (3,4)} on set A = {1,2,3,4}.
Question 10: Find the reflexive and transitive closure of R = {(x,y), (y,z), (z,x)} on set A = {x,y,z}.