Relaciones binarias
Una relación binaria R sobre un conjunto A se puede mediante un par (u,g) donde u es la lista de los elementos de tipo A (el universo de R) y g es la lista de pares de elementos de u (el grafo de R).
Definir el tipo de dato (Rel a), para representar las relaciones binarias sobre a, y la función
esRelacionBinaria :: Eq a => Rel a -> Bool
tal que esRelacionBinaria r
se verifica si r
es una relación binaria. Por ejemplo,
λ> esRelacionBinaria (R ([1, 3], [(3, 1), (3, 3)])) True λ> esRelacionBinaria (R ([1, 3], [(3, 1), (3, 2)])) False
Además, definir un generador de relaciones binarias y comprobar que las relaciones que genera son relaciones binarias.