Closure of Relations

Last Updated : 3 Jun, 2026

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

reflexive_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}.

Comment