Download Lógica y Lenguajes Formales

Document related concepts

Constante lógica wikipedia , lookup

Lógica de primer orden wikipedia , lookup

Transcript
Lógica y Lenguajes Formales
Preguntas 4
1. Usando las reglas de la deducción natural, en particular las reglas ∧-elimaination ,
∧-introduction y → eliminación e introduccion, prueba:
p → q | p ∧ r → q ∧ r
2. Usando las reglas de la deducción natural prueba que los siguientes argumentos
son validos:
(a) La caja no es roja pero es grande. Si la caja no es roja y la caja no es
grande, entonces es azul, es mia, esta en mi casa y me la ragalo un
amigo. Por lo tanto, la caja es mia.
(b) Si estoy enfermo, entonces no estoy en clase. Estoy en clase. Por lo tanto
no estoy enfermo.
(c) Si estoy en Barcelona entonces no estoy en Madrid. Por lo tanto si estoy
en Madrid entonces no estoy en Barcelona..
3. Traduce las siguientes frases a formulas de logica de predicados:
(a) “no todas las aves pueden volar”
(b) “todos los hombres son mortales. Socrates es un hombre. Por lo tanto
Socrates es mortal.”
(c) “existe un hermano de Ana que le gusta a Blanca”
PROLOG
1. Usa Prolog para determinar si el siguiente argumento es valido o no:
Si tengo coche y hace sol entonces voy al cine.
voy al cine o no voy a esquiar o no voy a jugar tenis o no voy al baile.
Si hace viento y hace frio entonces voy a esquiar.
Si hace sol entonces voy a jugar tenis.
Si tengo coche entonces voy al baile.
Si voy a esquiar entonces voy al baile.
Hace sol, frio y viento. No tengo coche.
Por lo tanto, voy al cine.
2. Define predicados no/1, y/2, o/2, impl/2 y equ/2 (para equivalencia lógica) que
respondan ‘si’ (tengan éxito) o respondan ‘no’(fallen) dependiendo del resultado
de su respectivas operationes; por ejemplo:
y(A,B) tiene exito si y solo si ambos A y B tienen exito.
Nota que A y B pueden ser otras formulas (no solamente las constantes
true y fail).
Una formula proposicional con dos variables puede ser escrita en notación prefija
como en el ejemplo siguiente: y(o(A,B),impl(A,B)).
3. Usando el predicado tabla/3 y tus predicados de #2, saca en pantalla la tabla de
verdad de algunas fórmulas proposicionales de dos variables. Por ejemplo:
?- table(A,B,and(A,or(A,B))).
true true true
true fail true
fail true fail
fail fail fail