El tipo de las fórmulas proposicionales - Reconocedor de tautologías
Una fórmula es una tautología si es verdadera en todas sus interpretaciones. Por ejemplo,
-
(A ∧ B) → A
es una tautología -
A → (A ∧ B)
no es una tautología
Usando el tipo de las fórmulas proposicionales definido en el ejercicio anterior, definir la función
esTautologia :: FProp -> Bool
tal que esTautologia p
se verifica si la fórmula p
es una tautología. Por ejemplo,
λ> esTautologia (Impl (Conj (Var 'A') (Var 'B')) (Var 'A')) True λ> esTautologia (Impl (Var 'A') (Conj (Var 'A') (Var 'B'))) False