Interpretaciones de FNC (fórmulas en forma normal conjuntiva)
Nota: En este ejercicio usaremos las mismas notaciones que en los anteriores importando los módulos Evaluacion_de_FNC
y Atomos_de_FNC
.
Definir las siguientes funciones
interpretacionesClausula :: Clausula -> [Interpretacion] interpretaciones :: FNC -> [Interpretacion]
tales que
- (interpretacionesClausula c) es el conjunto de interpretaciones de la cláusula c. Por ejemplo,
interpretacionesClausula [1,2,-1] == [[],[1],[2],[1,2]] interpretacionesClausula [] == [[]]
- (interpretaciones f) es el conjunto de interpretaciones de la fórmula f. Por ejemplo,
interpretaciones [[1,-2],[-1,2]] == [[],[1],[2],[1,2]] interpretaciones [] == [[]]
Nota: Escribir la solución en el módulo Interpretaciones_de_FNC para poderlo usar en los siguientes ejercicios.
Soluciones
module Interpretaciones_de_FNC where import Evaluacion_de_FNC import Atomos_de_FNC import Data.List (subsequences) interpretacionesClausula :: Clausula -> [Interpretacion] interpretacionesClausula = subsequences . atomosClausula interpretaciones :: FNC -> [Interpretacion] interpretaciones = subsequences . atomosFNC