-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathVariables_de_una_formula.hs
28 lines (24 loc) · 1.1 KB
/
Variables_de_una_formula.hs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
-- Variables_de_una_formula.hs
-- El tipo de las fórmulas proposicionales: Variables de una fórmula
-- José A. Alonso Jiménez <https://jaalonso.github.io>
-- Sevilla, 30-noviembre-2022
-- ---------------------------------------------------------------------
-- ---------------------------------------------------------------------
-- Usando el tipo de las fórmulas proposicionales definido en el
-- [ejercicio anterior](https://bit.ly/3L3G2SX), definir la función
-- variables :: FProp -> [Char]
-- tal que (variables p) es la lista de las variables de la fórmula
-- p. Por ejemplo,
-- λ> variables (Impl (Var 'A') (Conj (Const False) (Neg (Var 'B'))))
-- "AB"
-- λ> variables (Impl (Var 'A') (Conj (Var 'A') (Neg (Var 'B'))))
-- "AAB"
-- ---------------------------------------------------------------------
module Variables_de_una_formula where
import Tipo_de_formulas (FProp(..))
variables :: FProp -> [Char]
variables (Const _) = []
variables (Var x) = [x]
variables (Neg p) = variables p
variables (Conj p q) = variables p ++ variables q
variables (Impl p q) = variables p ++ variables q