Transitive closure
|
In mathematics, the transitive closure of a binary relation R on a set X is the smallest transitive relation on X that contains R.
For any relation R the transitive closure of R always exists. To see this note that the intersection of any family of transitive relations is again transitive. Furthermore, there exists at least one transitive relation containing R, namely the trivial one: X × X. The transitive closure of R is then given by the intersection of all transitive relations containing R.
We can describe the transitive closure of R in more concrete terms as follows. Define a relation T on X by saying xTy iff there exists a finite sequence of elements (xi) such that x = x0 and
- x0Rx1, x1Rx2, …, xn−1Rxn, and xnRy
- Formal notation: <math>R^+ = \bigcup_{i\in\mathbb{N}} R^i<math>
- (for more info, see function composition)
It is easy to check that the relation T is transitive and contains R. Furthermore, any transitive relation containing R must also contain T, so T is the transitive closure of R.
Contents |
Demonstration that T is the smallest transitive relationship containing R
Let A be any set of elements.
Supposition: <math>\exists<math>GA transitive relationship <math>\left / \right .<math> RA<math>\subseteq<math>GA <math>\wedge<math> TA<math>\not\subseteq<math>GA. So, <math>\exists<math>(a,b)<math>\not\in<math>GA. So, that particular (a,b)<math>\not\in<math>RA.
Now, by definition of T, we know that <math>\exists<math>n<math>\in \mathbb{N} \left / \right .<math> (a,b)<math>\in<math>RnA. Then, <math>\forall<math>i<math>\in \mathbb{N}<math>, i<math><<math>n <math>\Rightarrow<math> ei<math>\in<math>A. So, there is a path from a to b like this: aRAe1RA...RAe(n-1)RAb.
But, by transitivity of GA on RA, <math>\forall<math>i<math>\in \mathbb{N}<math>, i<math><<math>n <math>\Rightarrow<math> (a,ei)<math>\in<math>GA, so (a,e(n-1))<math>\in<math>GA <math>\wedge<math> (e(n-1),b)<math>\in<math>GA, so by transitivity of GA, we get (a,b)<math>\in<math>GA. Absurd
Therefore, <math>\forall<math>(a,b)<math>\in<math>A<math>\times<math>A, (a,b)<math>\in<math>TA <math>\Rightarrow<math> (a,b)<math>\in<math>GA. This means that T<math>\subseteq<math>G, for any transitive G containing R. So, T is the smallest transitive relationship containing R.
Corollary
If R is transitive, then R = T.
Examples
- If X is the set of humans (alive or dead) and R is the relation 'parent of', then the transitive closure of R is the relation "x is an ancestor of y."
- If X is a set of airports and xRy means "there is a direct flight from airport x to airport y", then the transitive closure of R is the relation "it is possible to fly from x to y in one or more flights."
Uses
Note that the union of two transitive relations need not be transitive. In order to preserve transitivity one must take the transitive closure. This occurs, for example, when taking the union of two equivalence relations or two preorders. In order to obtain a new equivalence relation or preorder one must take the transitive closure (reflexivity and symmetry—in the case of equivalence relations—are automatic).
Relationship to complexity
In computational complexity theory, the complexity class NL corresponds precisely to the set of logical sentences expressible using first order logic together with transitive closure. This is because the transitive closure property has a close relationship with the NL-complete problem STCON for finding directed paths in a graph. Similarly, the class L is first order logic with the commutative, transitive closure. When transitive closure is added to second order logic instead, we obtain PSPACE.de:Transitive Hülle