Document related concepts
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