Diferencia entre revisiones de «AplicacionesLP»
De Lógica matemática y fundamentos (2012-13)
(Página creada con '<source lang = "haskell"> -- AplicacionesLP.hs -- Aplicaciones de la Lógica proposicional. -- --------------------------------------------------------------------- -- --------...') |
|||
Línea 26: | Línea 26: | ||
-- -a, -b y -c representan que A, B y C son mentirosos | -- -a, -b y -c representan que A, B y C son mentirosos | ||
-- --------------------------------------------------------------------- | -- --------------------------------------------------------------------- | ||
+ | a = Atom "a" | ||
+ | b = Atom "b" | ||
+ | c = Atom "c" | ||
+ | |||
+ | solucion1 = modelosFormula ((a<-->((b/\c)<-->c))/\(b<-->((a/\b)-->(b/\c/\(no a))))/\(c<-->((no b)<-->(a\/b)))) | ||
+ | *Main> solucion1 | ||
+ | [] | ||
+ | |||
+ | -- Todos mienten. | ||
-- --------------------------------------------------------------------- | -- --------------------------------------------------------------------- | ||
-- Ejercicio 2: Decidir si es posible colorear los vértices de un | -- Ejercicio 2: Decidir si es posible colorear los vértices de un |
Revisión del 13:11 22 may 2013
-- AplicacionesLP.hs
-- Aplicaciones de la Lógica proposicional.
-- ---------------------------------------------------------------------
-- ---------------------------------------------------------------------
-- Librerías auxiliares --
-- ---------------------------------------------------------------------
import SintaxisSemantica
-- import TablerosSemanticos
-- import ResolucionProposicional
-- ---------------------------------------------------------------------
-- Ejercicio 1: En una isla hay dos tribus, la de los veraces (que
-- siempre dicen la verdad) y la de los mentirosos (que siempre
-- mienten). Un viajero se encuentra con tres isleños A, B y C y cada
-- uno le dice una frase A dice “B y C son veraces syss C es veraz” B
-- dice “Si A y B son veraces, entonces B y C son veraces y A es
-- mentiroso” C dice “B es mentiroso syss A o B es veraz”
--
-- Determinar a qué tribu pertenecen A, B y C.
-- Simbolización:
-- a, b y c representan que A, B y C son veraces
-- -a, -b y -c representan que A, B y C son mentirosos
-- ---------------------------------------------------------------------
a = Atom "a"
b = Atom "b"
c = Atom "c"
solucion1 = modelosFormula ((a<-->((b/\c)<-->c))/\(b<-->((a/\b)-->(b/\c/\(no a))))/\(c<-->((no b)<-->(a\/b))))
*Main> solucion1
[]
-- Todos mienten.
-- ---------------------------------------------------------------------
-- Ejercicio 2: Decidir si es posible colorear los vértices de un
-- pentágono de rojo o azul de forma que los vértices adyacentes
-- tengan colores distintos.
-- Simbolización:
-- 1, 2, 3, 4, 5 representan los vértices consecutivos del pentágono
-- ri (1 ≤ i ≤ 5) representa que el vértice i es rojo
-- ai (1 ≤ i ≤ 5) representa que el vértice i es azul
-- ---------------------------------------------------------------------
-- ---------------------------------------------------------------------
-- Ejercicio 3: Cuatro palomas comparten tres huecos. Decidir si es
-- posible que no haya dos palomas en el mismo hueco.
-- Simbolización:
-- pihj (i ∈ {1, 2, 3, 4} y j ∈ {1, 2, 3}) representa
-- que la paloma i está en el hueco j.
-- ---------------------------------------------------------------------
-- ---------------------------------------------------------------------
-- Ejercicio 4: Un rectángulo se divide en seis rectángulos menores como
-- se indica en la figura.
-- ------------------
-- | | B |
-- | A |----------
-- | | | |
-- |------| D | |
-- | C | | E |
-- |------|---| |
-- | F | |
-- ------------------
-- Demostrar que si cada una de los rectángulos menores tiene un lado
-- cuya medida es un número entero, entonces la medida de alguno de los
-- lados del rectángulo mayor es un número entero.
-- Simbolización:
-- base: la base del rectángulo mayor es un número entero
-- altura: la altura del rectángulo mayor es un número entero
-- base_x: la base del rectángulo X es un número entero
-- altura_x: la altura del rectángulo X es un número entero
-- ---------------------------------------------------------------------
-- ---------------------------------------------------------------------
-- Ejercicio 5: Calcular las formas de colocar 4 reinas en un tablero
-- de 4x4 de forma que no haya más de una reina en cada fila,
-- columna o diagonal.
-- Simbolización:
-- cij (1 ≤ i, j ≤ 4) indica que hay una reina en la fila i columna j.
-- ---------------------------------------------------------------------
-- ---------------------------------------------------------------------
-- Ejercicio 6: Probar el caso más simple del teorema de Ramsey: entre
-- seis personas siempre hay (al menos) tres tales que cada una conoce
-- a las otras dos o cada una no conoce a ninguna de las otras dos.
-- Simbolización:
-- 1,2,3,4,5,6 representan a las personas
-- pij (1 ≤ i < j ≤ 6) indica que las personas i y j se conocen.
-- ---------------------------------------------------------------------