Universo y grafo de una relación binaria
Usando el tipo de las relaciones binarias, definir las funciones
| 1 2 |    universo :: Eq a => Rel a -> [a]    grafo    :: Eq a => ([a],[(a,a)]) -> [(a,a)] | 
tales que
- universo res el universo de la relación- r. Por ejemplo,
| 1 2 3 |      λ> r = R ([1, 3],[(3, 1), (3, 3)])      λ> universo r      [1,3] | 
- grafo res el grafo de la relación r. Por ejemplo,
| 1 2 |      λ> grafo r      [(3,1),(3,3)] | 
Soluciones
A continuación se muestran las soluciones en Haskell y las soluciones en Python.
| 1 2 3 4 5 6 7 | import Relaciones_binarias universo :: Eq a => Rel a -> [a] universo (R (u,_)) = u grafo :: Eq a => Rel a -> [(a,a)] grafo (R (_,g)) = g | 
| 1 2 3 4 5 6 7 8 9 10 11 | from typing import TypeVar A = TypeVar('A') Rel = tuple[list[A], list[tuple[A, A]]] def universo(r: Rel[A]) -> list[A]:     return r[0] def grafo(r: Rel[A]) -> list[tuple[A, A]]:     return r[1] |