Clausura transitiva
Usando el tipo de las relaciones binarias, definir las funciones
clausuraTransitiva :: Eq a => Rel a -> Rel a
tal que clausuraTransitiva r
es la clausura transitiva de r
; es
decir, la menor relación transitiva que contiene a r. Por ejemplo,
λ> clausuraTransitiva (R ([1..6],[(1,2),(2,5),(5,6)])) R ([1,2,3,4,5,6],[(1,2),(2,5),(5,6),(1,5),(2,6),(1,6)])
Comprobar con QuickCheck que clausuraTransitiva es transitiva.