Lógica Matemática para Informáticos Ejercicios resueltos Teresa Hortalá González / Narciso Martí Oliet / Miguel Palomino Tarjuelo Mario Rodríguez Artalejo / Rafael del Vado Vírseda
Lógica Matemática para Informáticos Ejercicios resueltos
Lógica Matemática para Informáticos Ejercicios resueltos Teresa Hortalá González Narciso Martí Oliet Miguel Palomino Tarjuelo Mario Rodríguez Artalejo Rafael del Vado Vírseda Departamento de Sistemas Informáticos y Computación Universidad Complutense de Madrid
Prentice Hall
L GICA GICA MATE MATEM M TICA TICA PARA PARA INFO INFORM RM TICO TICOS S
Hortalá, T; Martí, N; Palomino, M; Rodríguez, M; Del Vado, R. PEARSON EDUCACIÓN, S. A. 2008 ISBN: 978-84-8322-454-0 978-84-8322-454-0 Materia: Informática, 004 Formato: 195x250 mm
Páginas: 400
Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra sólo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. La infracción de los derechos mencionados puede ser constitutiva de delito contra la propiedad intelectual (arts. 270 y sgts. Código penal). Diríjase a CEDRO (Centro Español de Derechos Reprográficos: www.cedro.org www.cedro.org), ), si necesita fotocopiar o escanear algún fragmento de esta obra.
DERECHOS RESERVADOS 2008, PEARSON EDUCACIÓN S.A. Ribera del Loira, 28 28042 Madrid (España) !
ISBN: 978-84-8322-454-0 978-84-8322-454-0 Deposito Legal:
Equipo editorial: Editor: Miguel Martín-Romo Técnico editorial: Marta Caicoya Equipo de producción: Director: José A. Clares Técnico: Irene Iriarte Diseño de cubierta: Equipo de diseño de Pearson Educación S.A. Impreso por: IMPRESO EN ESPAÑA - PRINTED IN SPAIN Este libro ha sido impreso con papel y tintas ecológicos
Nota sobre enlaces a páginas web ajenas: Este libro puede incluir enlaces a sitios web gestionados por terceros y ajenos a PEARSON EDUCACIÓN S.A. que se incluyen sólo con finalidad informativa. PEARSON EDUCACIÓN S.A. no asume ningún tipo de responsabilidad por los daños y perjuicios derivados del uso de los datos personales que pueda hacer un tercero encargado del mantenimiento de las páginas web ajenas a PEARSON EDUCACIÓN S. A y del funcionamiento, accesibilidad o mantenimiento de los sitios web no gestionados por PEARSON EDUCACIÓN S.A. Las referencias se proporcionan en el estado en que se encuentran en el momento de publicación sin garantías, expresas o implícitas, sobre la información que se proporcione en ellas.
A todos aquellos a los que nadie les dedica nunca un libro.
Al principio, acudía a mis clases universitarias asidua y fielmente; sin embargo, la filosofía de ninguna manera me iluminaba. En la lógica, me parecía sorprendente que aquellas operaciones de la mente que yo había manejado con la mayor comodidad desde mi juventud tuviesen que ser desmembradas, aisladas y al mismo tiempo destruidas, con el fin de comprender su recto uso. De las cosas, del mundo, de Dios, creía yo saber más o menos lo mismo que el propio profesor, y en más de un lugar me parecía que el asunto no encajaba para nada. Johann Wolfgang Goethe Memorias de mi vida. Poesía y verdad.
ÍNDICE GENERAL
PRÓLOGO
IX
PARTE I LÓGICA PROPOSICIONAL CAPÍTULO 1. SINTAXIS Y SEMÁNTICA 1.1. Sintaxis de la lógica proposicional . 1.2. Semántica de la lógica proposicional 1.3. Preguntas de test resueltas . . . . . . 1.4. Ejercicios resueltos . . . . . . . . .
. . . .
1
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
CAPÍTULO 2. FORMALIZACIÓN. TÉCNICAS DE RAZONAMIENTO 2.1. Tautologías, contradicciones y contingencias . . . . . . . . . . . . . 2.2. Consecuencia lógica . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Formalización de enunciados en lógica proposicional . . . . . . . . 2.4. Formalización y validez de razonamientos . . . . . . . . . . . . . . 2.5. Preguntas de test resueltas . . . . . . . . . . . . . . . . . . . . . . . 2.6. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . CAPÍTULO 3. EQUIVALENCIA LÓGICA. LEYES BOOLEANAS 3.1. Equivalencia lógica y leyes booleanas . . . . . . . . . . . . . . 3.2. Conjuntos completos de conectivas . . . . . . . . . . . . . . . 3.3. Cálculo de formas normales . . . . . . . . . . . . . . . . . . . 3.4. Preguntas de test resueltas . . . . . . . . . . . . . . . . . . . . 3.5. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . CAPÍTULO 4. CÁLCULO LÓGICO CON TABLEAUX 4.1. Análisis semántico de fórmulas . . . . . . . . . . 4.2. Reglas de construcción de tableaux. Heurísticas . 4.3. Propiedades fundamentales de los tableaux . . . . 4.4. Preguntas de test resueltas . . . . . . . . . . . . . 4.5. Ejercicios resueltos . . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . .
3 3 5 6 13
. . . . . .
39 39 39 40 41 42 50
. . . . .
83 83 84 85 85 89
. . . . .
109 109 110 111 111 114
PARTE II LÓGICA DE PRIMER ORDEN
143
CAPÍTULO 5. SINTAXIS Y SEMÁNTICA 5.1. Insuficiencia de la lógica proposicional 5.2. Sintaxis de la lógica de primer orden . 5.3. Semántica de la lógica de primer orden 5.4. Sustituciones . . . . . . . . . . . . . .
145 145 145 148 150
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
VIII
Índice general
5.5. Preguntas de test resueltas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 5.6. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
CAPÍTULO 6. FORMALIZACIÓN. TÉCNICAS DE RAZONAMIENTO 6.1. Consecuencia lógica en lógica de primer orden . . . . . . . . . . . . 6.2. Formalización de razonamientos en lógica de primer orden . . . . . 6.3. Preguntas de test resueltas . . . . . . . . . . . . . . . . . . . . . . . 6.4. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
207 207 207 211 215
CAPÍTULO 7. EQUIVALENCIA LÓGICA. LEYES DE LOS CUANTIFICADORES 7.1. Equivalencia lógica y leyes de cuantificadores . . . . . . . . . . . . . . . . . . 7.2. Formas normales en lógica de primer orden . . . . . . . . . . . . . . . . . . . . 7.3. Preguntas de test resueltas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
251 251 252 253 262
CAPÍTULO 8. CÁLCULO LÓGICO CON TABLEAUX 8.1. Análisis semántico de fórmulas . . . . . . . . . . 8.2. Reglas de construcción de tableaux. Heurísticas . 8.3. Propiedades fundamentales de los tableaux . . . . 8.4. Preguntas de test resueltas . . . . . . . . . . . . . 8.5. Ejercicios resueltos . . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
293 293 294 295 295 298
. . . . .
339 339 340 340 341 345
. . . . .
371 371 371 374 379 381
. . . . .
. . . . .
CAPÍTULO 9. CÁLCULO LÓGICO CON RESOLUCIÓN 9.1. El método de resolución proposicional . . . . . . . . 9.2. Unificación . . . . . . . . . . . . . . . . . . . . . . . 9.3. El método de resolución de primer orden . . . . . . . 9.4. Preguntas de test resueltas . . . . . . . . . . . . . . . 9.5. Ejercicios resueltos . . . . . . . . . . . . . . . . . . CAPÍTULO 10. EJERCICIOS PROPUESTOS 10.1. Ahora te toca a ti . . . . . . . . . . . . . . 10.2. Preguntas de test de lógica proposicional . 10.3. Ejercicios de lógica proposicional . . . . . 10.4. Preguntas de test de lógica de primer orden 10.5. Ejercicios de lógica de primer orden . . . BIBLIOGRAFÍA
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . .
. . . . . . . . . . . . . . .
. . . .
. . . . . . . . . . . . . . .
. . . .
. . . . . . . . . . . . . . .
. . . .
. . . . . . . . . . . . . . .
. . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
389
PRÓLOGO
El objetivo de este libro es dar apoyo a la docencia de elementos básicos de la lógica matemática que normalmente se incluyen en los planes de estudio típicos de titulaciones en informática. Se pretende introducir al uso de la lógica proposicional y de la lógica de primer orden como instrumentos adecuados para la formalización de razonamientos y la modelización de situaciones que los estudiantes encontrarán en otras asignaturas de su curriculum, tales como la especificación y verificación de sistemas informáticos, la representación del conocimiento o la programación declarativa. Fundamentalmente,el libro está orientado al temario de lógica tradicionalmente impartido a los alumnos de primer curso de la Facultad de Informática de la Universidad Complutense de Madrid (UCM). Su redacción se ha basado en la experiencia docente de los autores como profesores de la UCM; en el material didáctico generado a lo largo de un buen número de cursos académicos para la docencia de cursos de lógica dirigidos a alumnos de las tres titulaciones de la Facultad de Informática de dicha Universidad, incluyendo ejercicios propuestos en exámenes y hojas de problemas; y en el trabajo realizado en un proyecto de innovación pedagógica financiado por la Complutense, en el que participaron algunos de los autores durante el curso académico 2005-2006. El texto de lógica de Alfredo Deaño citado en la bibliografía merece una mención muy especial en este lugar, pues se trata de una obra instructiva y de amena lectura que ha servido de inspiración para la formulación de ejemplos y ejercicios didácticos, desde los inicios de la enseñanza de la lógica en titulaciones de informática de la UCM. El libro incluye una colección de más de trescientas preguntas de test y ejercicios resueltos detalladamente, más una serie adicional de más de cien enunciados de preguntas de test y ejercicios sin resolver, que se presentan en el décimo y último capítulo. La colección de preguntas de test y ejercicios resueltos se compone de nueve capítulos estructurados en dos partes, que se dedican a la lógica proposicional y a la lógica de primer orden, respectivamente. Los cuatro capítulos de la primera parte guardan un paralelismo con los cuatro primeros capítulos de la segunda parte, desarrollando sucesivamente los siguientes aspectos de la lógica: sintaxis y semántica, formalización y técnicas de razonamiento, leyes de equivalencia lógica y cálculo lógico con tableaux. El noveno capítulo presenta el método de resolución como procedimiento de cálculo lógico alternativo a los tableaux. Una característica común a estos dos métodos es que se prestan al desarrollo de herramientas de deducción automática. No obstante, en este libro no se ha pretendido dar énfasis al tema de la deducción automática y se ha optado por dar un mayor protagonismo a los tableaux. El motivo es que los tableaux no solamente sirven para justificar la validez de razonamientos correctos, sino que también permiten la construcción de modelos que sirven de contraejemplo para razonamientos incorrectos. Dados los objetivos didácticos del libro y el perfil de los estudiantes a los que va dirigido, sus contenidos se han limitado a temas elementales, excluyendo aspectos tales como: métodos de cálculo lógico diferentes de los tableaux y la resolución, temas especializados de lógica de primer orden, alternativas a la lógica de primer orden (e.g., lógicas constructivas o de orden superior); y lógicas especializadas (e.g. lógicas modales o temporales). Estos aspectos más avanzados de la lógica también tienen interés para la informática y se tratan en algunos de los textos incluidos en la bibliografía comentada que aparece al final del libro. Tanto los enunciados como las soluciones de los ejercicios se han seleccionado y elaborado con un criterio didáctico. Por un lado, se ha buscado variedad en los tipos de ejercicios, incluyendo tanto aquellos que requieren la aplicación más o menos mecánica de métodos conocidos,como aquellos otros que exigen un mayor esfuerzo de razonamiento. No se ha evitado un cierto grado de repetición de ejercicios del mismo tipo, entendiendoque ello puede contribuir tanto a la práctica de los alumnos como al uso selectivo del material por parte de los profesores que utilicen el libro como texto. En lo referente a las soluciones,
X Prólogo
no se ha pretendido en absoluto que sean las más breves o ingeniosas posibles, sino que se ha aspirado más bien a la claridad, de manera que el texto pueda ser útil para el trabajo personal de alumnos de primer curso con una formación matemática previa más o menos limitada. Tampoco se ha pretendido uniformizar el estilo de las soluciones, sino que por el contrario se ha procurado ilustrar el uso de diferentes enfoques (algunos más informales que otros) para resolver ejercicios de un mismo tipo. En cualquier caso, no se ha renunciado a incluir ejercicios de un cierto interés y dificultad, aunque sí se ha hecho un esfuerzo por presentar todas las soluciones de manera comprensible. La bibliografía en el campo de la lógica incluye bastantes textos de calidad publicados en inglés y otras lenguas de uso internacional; sin embargo, los textos publicados en castellano y adecuados para estudiantes del primer ciclo de carreras técnicas ya no son tan abundantes y no se encuentran colecciones recomendables de ejercicios resueltos. Por ello, los autores de este nuevo libro confían en que pueda cumplir un papel positivo para la formación matemática de estudiantes de informática y otras carreras técnicas afines. Finalmente, los autores quieren agradecer a Alberto Verdejo el desarrollo de los ficheros de LATEX que han dado formato al documento, así como su valiosa ayuda en el mantenimiento del repositorio utilizado para la elaboración del libro, en la corrección de pruebas y en la resolución de dudas T EXnicas. Los autores, en Madrid, julio 2008.
Parte I LÓGICA PROPOSICIONAL
CAPÍTULO
A A, σ
SINTAXIS Y SEMÁNTICA
| ϕ
1
1.1. SINT SINTAXIS AXIS DE LA LÓGI LÓGICA CA PROPOSI PROPOSICIONAL CIONAL La sintaxis de la lógica proposicional se especifica mediante un vocabulario de símbolos primitivos y un conjunto de reglas de formación que describimos a continuación. Símbolos primitivos: (a) Una signatura o conjunto de símbolos de proposición . A los símbolos de proposición los denotaremos con las letras minúsculas p, q , r , s, . . . (a veces con subíndices). (b) Los símbolos lógicos siguientes: • las constantes ⊥ (falsedad) y ⊤ (certeza), • la conectiva unaria ¬ (negación), • las conectivas binarias ∧ (conjunción), ∨ (disyunción), → (condicional o implicación) y ↔ (bicondicional o biimplicación). (c) Los símbolos auxiliares, paréntesis abierto ‘(’ y cerrado ‘)’. Con todos los símbolos anteriores construimos el alfabeto de símbolos primitivos definido como A = ∪ {⊥, {⊥, ⊤, ¬, ∧, ∨, →, ↔ } ∪ {(, {(, )}.
Por convenio, representaremos por cualquiera de las conectivas binarias ∧, ∨, →, ↔. Reglas de formación: De todas aquellas cadenas de símbolos que podemos crear utilizando el alfabeto A llamamos fórmulas fórmulas de la lógica proposicional proposicional a aquellas que se pueden construir aplicando una cantidad finita de veces las siguientes reglas de formación: (fórmulas atómicas) ( At ) ⊤, ⊥ y p , para p ∈ , son fórmulas Si ϕ es una fórmula, entonces ¬ϕ es una fórmula (negaciones) (¬) Si ϕ 1 y ϕ 2 son fórmulas, entonces (ϕ1 ∧ ϕ2 ) es una una fórm fórmul ulaa (conjunciones) (∧) Si ϕ 1 y ϕ 2 son fórmulas, entonces (ϕ1 ∨ ϕ2 ) es una una fórm fórmul ulaa (disyunciones) (∨) una fórmul fórmulaa (condicionales) (→) Si ϕ 1 y ϕ 2 son fórmulas, entonces (ϕ1 → ϕ 2 ) es una fórmula la (bicondicionales) (↔) Si ϕ 1 y ϕ 2 son fórmulas, entonces (ϕ1 ↔ ϕ 2 ) es una fórmu El lenguaje de la lógica proposicional con signatura , denotado L , es el conjunto de todas las fórmulas fórmulas proposicional proposicionales es con signatura signatura . Usaremos las letras griegas ϕ , ψ , χ , . . . (a veces con subíndices) para representar tales fórmulas. En las fórmulas condicionales ϕ1 → ϕ2 , a la fórmula ϕ1 la llamaremos antecedente y a ϕ 2 consecuente.
4 Lógica Matemática para Informáticos Principio de inducción estructural para fórmulas proposicionales Sea P una propiedad que tenga sentido para palabras u ∈ A∗ . Podemos Podemos concluir que toda fórmula siempre que demostremos: ϕ ∈ L tiene la propiedad P siempre Caso base: ( At ) Toda fórmula atómica tiene la propiedad P . Pasos inductivos: (¬) Si ϕ tiene la propiedad P (hipótesis de inducción), entonces la fórmula ¬ϕ también tiene la propiedad P . () Si ϕ1 y ϕ2 tienen la propiedad P (hipótesis de inducción ), entonces la fórmula (ϕ1 ϕ2 ) también tiene la propiedad P . Principio de unicidad de estructura para fórmulas proposicionales Toda fórmula f órmula ϕ ∈ L cae dentro de uno y solo uno de los casos siguientes: ( At ) ϕ es atómica. (¬) ϕ = ¬ϕ1 para cierta fórmula ϕ1 que está unívocamente determinada. () ϕ = (ϕ1 ϕ2 ) para
cierta conectiva binaria y ciertas fórmulas conectiva como las fórmulas unívocamente determinadas.
ϕ1
y
ϕ2 ,
y estando tanto la
Como consecuencia del principio de unicidad estructural, a cada fórmula ϕ ∈ L se le puede asociar un árbol unívocamente determinado por ϕ que representa la estructura de la construcción de ϕ y que denominaremos árbol estructural de ϕ .
Principio de recursión estructural para fórmulas proposicionales Para definir una función f : L → A cuyo dominio sea el conjunto de las fórmulas proposicionales y cuyo rango sea un conjunto cualquiera A , es válido emplear el siguiente esquema recursivo: Caso base: ( At ) Para ϕ atómica f (ϕ) se define explícitamente: valorr expl explíc ícit itoo . . . f (ϕ) = . . . valo Casos recursivos: (¬) f (¬ϕ) se define recurriendo a f (ϕ) : valor depend dependien iendo do de f (ϕ) . . . f (¬ϕ) = . . . valor () f ((ϕ1 ϕ2 )) se define recurriendo a f (ϕ1 ) y f (ϕ2 ): valor depend dependien iendo do de , f (ϕ1 ), f (ϕ2 ) . . . )) = . . . valor f ((ϕ1 ϕ2 )) = Escritura abreviada de fórmulas proposicionales Una fórmula está correctamente escrita en forma abreviada si cumple los siguientes convenios: Omite los paréntesis exteriores. Las conectivas tienen el orden de precedencia o prioridad siguiente: ejemplo, ¬ p ∧ q ↔ r es es la forma abreviada de ((¬ (( ¬ p ∧ q ) ↔ r ).
¬ > ∧ > ∨ > → > ↔. Por
Las conectivas ∧, ∨ y → asocian por la derecha. Por ejemplo, ¬ p ∧ q ∧ r es es la forma abreviada de es la forma abreviada de (¬ (¬ p ∧ (q ∧ r )) y ¬ p → q → ¬r es ( ¬ p → ( q → ¬r )). Dadas dos fórmulas ϕ y ψ decimos que ψ es una subfórmula de ϕ si una parte de ϕ formada por símbolos consecutivos es idéntica a ψ . En este caso, un subárbol del árbol estructural de ϕ será el árbol estructural de ψ .
Sintaxis y semántica 5
1.2. SEMÁNT SEMÁNTICA ICA DE LA LA LÓGICA LÓGICA PRO PROPOSI POSICIONAL CIONAL La tarea de la semántica consiste en asignar significado a las construcciones sintácticas. Por lo tanto, dada una fórmula proposicional cualquiera hemos de ser capaces de asignarle un valor veritativo cierto, que denotaremos como 1, o falso, que denotaremos como 0. En todo lo que sigue vamos a suponer que tenemos una signatura fijada .
Interpretación de una fórmula Antes de interpretar una fórmula hemos de fijar tres conceptos: (a) Valores veritativos: 0 para falso y 1 para cierto. (b) Valoración de la signatura : Una aplicación v : → {0, 1}, que a cada símbolo de le hace corresponder un valor veritativo. Si tiene n símbolos primitivos, primitivos, entonces hay 2n valoracion valoraciones es posibles posibles para , que es exactamente el número de maneras distintas de asignar a los n elementos de los valores veritativos 1 o 0. (c) Interpretaciones de las conectivas, también llamadas tablas veritativas de las conectivas: Tabla veritativa de la conectiva unaria ¬. Es la aplicación v ¬ : { 0, 1} → {0, 1} definida como sigue: v¬ ( x )
x
0 1 1 0 Tablas veritativas de las conectivas binarias . Son las aplicaciones v : { 0, 1} × {0, 1} → {0, 1} dadas por la siguiente tabla: x
y
v∧ ( x , y )
v∨ ( x , y )
v→ ( x , y )
v↔ ( x , y )
0 0 1 1
0 1 0 1
0 0 0 1
0 1 1 1
1 1 0 1
1 0 0 1
Dadas una fórmula ϕ ∈ L y una valoración v de la signatura , el valor veritativo de la fórmula [[ ]] v : L → {0, 1} se calcula ϕ en v se representa mediante la notación [[ ϕ ]]v. Además, la aplicación [[ recursivamente como sigue:
Casos base: (⊤) [[⊤]]v = 1, (⊥) [[⊥]]v = 0, () [[ p ]]v = v ( p ), para todo p ∈ . Casos recursivos: (¬) [[¬ϕ ]]v = v ¬ ([[ϕ ]]v ). () [[(ϕ1 ϕ2 )]]v = v ([[ϕ1 ]]v , [[ϕ2 ]]v ). Satisfactibilidad de una fórmula proposicional Es claro que [[ ϕ ]]v solo depende del valor de v( p), para aquellos símbolos de proposición p que aparecen en ϕ . Por ello, para investigar todos los valores veritativos que puede tomar ϕ en las diferentes valoraciones posibles, basta con construir una tabla en la que aparezcan todas las posibles maneras de asignar valores veritativos a los símbolos de proposición que aparecen en ϕ . A esta tabla se la denomina tabla veritativa de ϕ . = 1 decimos que v satisface a ϕ o que v es modelo de ϕ y escribimos v | | ϕ . (ϕ) para representar el conjunto de todas las valoraciones que son modelo de ϕ . Mod (ϕ)
Si [[ϕ ]]v
Escribimos
6 Lógica Matemática para Informáticos Si [[ϕ ]]v = 0 decimos que v no satisface a ϕ o que v no es modelo de ϕ y escribimos v | | ϕ. ϕ es satisfactible si se puede encontrar alguna valoración v que satisfaga a ϕ . ϕ es insatisfactible si no se puede encontrar ninguna valoración v que satisfaga a ϕ .
Satisfactibilidad de un conjunto de fórmulas proposicionales Si ⊆ ⊆ L es un conjunto de fórmulas y v : → {0, 1} una valoración, entonces decimos que: | , si v | | ϕ para cada ϕ ∈ . v satisface a o que v es modelo de , y escribimos v | | , si v | | ϕ para alguna fórmula v no satisface a o que v no es modelo de , y escribimos v | ϕ ∈ . es satisfactible si se puede encontrar alguna valoración v que satisfaga . Obsérvese que, cuando es el conjunto vacío de fórmulas, v | | ∅ para cualquier valoración v pues no se puede encontrar una fórmula ϕ ∈ ∅ que sea falsa en v . Luego ∅ es satisfactible. es insatisfactible si no se puede encontrar ninguna valoración v que satisfaga .
1.3. PREGU PREGUNT NTAS AS DE TEST RESUEL RESUELT TAS 1.1.
La cadena de símbolos (( p ∨ q ) → ( → (¬ ¬q → p )) formada usando = { p , q } (a) es una una fórmula proposicional proposicional (b) no no es una una fórmula fórmula proposicional proposicional (c) no se puede puede saber
Solución: Para Para que esta esta cadena cadenade de símbol símbolos os sea una fórmula fórmulaprop proposic osiciona ionall tenemo tenemoss que demostr demostrar ar que es posibl posiblee descomponerla mediante la aplicación reiterada de las reglas de formación de fórmulas proposicionales: [se descompone aplicando la regla (→ (→)] [se descompone aplicando la regla (∨ (∨)] [es fórmula atómica] [es fórmula atómica] [se descompone aplicando la regla (→ (→)] [se descompone aplicando la regla (¬ ( ¬)] [es fórmula atómica] [es fórmula atómica]
(( p ∨ q ) → (¬ ( ¬q → p )) ( p ∨ q )
p q (¬q → p ) ¬q
q p
Esta descomposición se puede representar como el siguiente árbol estructural: → →
∨
p
q
¬
p
q
Como hemos obtenido una descomposición correcta con su árbol estructural asociado, la respuesta correcta es la (a). La respuesta (b), por lo tanto, es falsa y la (c) es una respuesta incorrecta, ya que dada cualquier cadena de símbolos siempre es posible comprobar si es o no una fórmula proposicional, aplicando el mismo método m étodo que acabamos de ver.
Sintaxis y semántica 7
1.2.
La cadena de símbolos ( p ∨ q ) → ((¬ (( ¬q → p ) formada usando = { p , q } (a) es una una fórmula proposicional proposicional (b) no no es una una fórmula fórmula proposicional proposicional (c) no se puede puede saber
Solución: Para Para ver si esta esta cadena cadenade de símbol símbolos os es una fórmula fórmulaprop proposi osicio cional nal,, intent intentamo amoss descom descompon ponerl erlaa median mediante te la aplicación reiterada de las reglas de formación de fórmulas proposicionales: ( p ∨ q ) → ((¬ (( ¬q → p ) (( p ∨ q ) → ((¬ (( ¬q → p )) ( p ∨ q )
p q ((¬ ((¬q → p ) (¬q
[se añaden los paréntesis exteriores omitidos] [se descompone aplicando la regla (→ ( →)] [se descompone aplicando la regla (∨ ( ∨)] [es fórmula atómica] [es fórmula atómica] [se descompone aplicando la regla (→ ( →)] [no se forma aplicando (¬ (¬) pues aparece un ‘(’ extraño]
Como no hemos obtenido una descomposición adecuada, la respuesta correcta es la (b). La respuesta (a), por lo tanto, es falsa y la respuesta (c) es incorrecta, pues siempre se puede comprobar si cualquier cadena de símbolos es o no una fórmula proposicional con el mismo método que hemos usado en esta solución.
1.3.
La cadena de símbolos ( p → ( q → ¬r )) formada usando = { p, q , r } (a) es una fórmula proposicional proposicional (b) no se puede saber (c) no es una fórmula proposicional proposicional
Solución: Para Para que esta esta cadena cadenade de símbol símbolos os sea una fórmula fórmulaprop proposic osiciona ionall tenemo tenemoss que demostr demostrar ar que es posibl posiblee descomponerla mediante la aplicación reiterada de las reglas de formación de fórmulas proposicionales: [se descompone aplicando la regla (→ ( →)] [es fórmula atómica] [se descompone aplicando la regla (→ ( →)] [es fórmula atómica] [se descompone aplicando la regla (¬ ( ¬)] [es fórmula atómica]
( p → ( q → ¬r ))
p (q → ¬r )
q ¬r
r
Esta descomposición se puede representar como el siguiente árbol estructural: →
p
→
q
¬
r
8 Lógica Matemática para Informáticos Como hemos obtenido una descomposición correcta con su asociado árbol estructural, la respuesta correcta es la (a). La respuesta (c), por lo tanto, es falsa y la respuesta (b) es incorrecta porque, como estamos viendo, siempre es posible comprobar si una cadena cualquiera de símbolos es o no una fórmula proposicional intentando construir su árbol estructural.
1.4.
La cadena de símbolos ((( p ↔ ¬q ) ∧ p) ∧ ¬q ) formada con = { p, q } (a) no es una fórmula proposicional proposicional (b) no se puede saber (c) es una fórmula proposicional proposicional
Solución: Para ver si esta cadena de símbolos es una fórmula proposicional tenemos que demostrar que es posible posibledes descom compon poner er la cadena cadena median mediante te la aplica aplicació ciónn reiter reiterada ada de las reglas reglas de formaci formación ón de las fórmula fórmulass proposicionales: [se descompone aplicando la regla (∧ ( ∧)] [se descompone aplicando la regla (∧ ( ∧)] [se descompone aplicando la regla (↔ ( ↔)] [es fórmula atómica] [se descompone aplicando la regla (¬ (¬)] [es fórmula atómica] [es fórmula atómica] [se descompone aplicando la regla (¬ (¬)] [es fórmula atómica]
((( p ↔ ¬q ) ∧ p ) ∧ ¬q ) (( p ↔ ¬q ) ∧ p ) ( p ↔ ¬q )
p ¬q
q p ¬q
q
Esta descomposición se puede representar como el siguiente árbol estructural: ∧ ∧
p
↔
p
¬
q
¬
q
Como Como hemos hemos obt obteni enido do una descom descompos posici ición ón correc correcta ta con su asocia asociado do árbol árbol estruc estructura tural, l, la respues respuesta ta correcta es la (c). La respuesta (a) es, en consecuencia, falsa y la (b) es una respuesta incorrecta, ya que este mismo método permite comprobar si cualquier cadena de símbolos es o no una fórmula proposicional.
1.5.
Sabiendo Sabien do que [[( p → q ) → p]]v = 0, ¿qué se puede asegurar acerca de v( p)? (a) v( p) debe valer 1 (b) v ( p) debe valer 0 (c) v ( p) puede valer 0 o 1
Solución: Según la tabla veritativa correspondiente a → , si [[( p → q ) → p]]v = 0, entonces necesariamente (véase la tercera fila de la tabla) se tiene que verificar que [[[[ p → q ]]v = 1 y v ( p) = 0.
Sintaxis y semántica 9
Ya sabemos que v( p) = 0, pero pero hemos hemos de comprob comprobar ar que este este valor valor es compat compatibl iblee con [[ p → q ]]v = 1 y, en efecto, de nuevo n uevo la tabla veritativa correspondiente a → nos indica, en sus dos primeras filas, que si v( p ) = 0 entonces da lo mismo el valor de v (q ), pues la implicación siempre es cierta. Luego la respuesta correcta es la (b) y, por lo tanto, ni (a) ni (c) son respuestas correctas.
1.6.
Sabiendo Sabien do que [[¬( p → q )]]v = 1, se puede asegurar: (a) v( p) = 0 (b) v ( p) = 1 y v (q ) = 0
(c) v (q ) = 1
Solución: Usando la tabla veritativa de v¬ para [[¬( p → q )]]v = 1 obtenemos que [[ p → q ]]v = 0, por lo tanto, usando la tercera fila de la tabla veritativa v → , obtenemos que necesariamente v ( p) = 1 y v (q ) = 0, puesto que en ninguna otra fila se obtiene para la implicación el valor 0. Luego la respuesta correcta es la (b). No es posible obtener una valoración diferente de la descrita que verifique [[[[ ¬( p → q )]]v = 1, por lo que las respuestas (a) y (c) no son correctas.
1.7.
Sabiendo Sabien do que [[q → ¬ p]]v = 0, se puede asegurar: (a) v( p) = 1 y v(q ) = 0 (b) v ( p) = 1 y v (q ) = 1
(c) v ( p) = 0
Solución: Usando la tercera fila de la tabla veritativa de v → para [[q → ¬ p]]v = 0 obtenemos que v (q ) = 1 y [[¬ p]]v = 0; entonces, usando la tabla veritativa v¬ obtenemos que v( p) = 1. Luego la respuesta correcta es la (b). No es posible obtener una valoración diferente de la descrita que verifique [[ q tanto, las respuestas (a) y (c) no son correctas.
1.8.
Sabiendo Sabien do que [[( p ∧ q ) → (¬ ( ¬ p ∨ ¬q )]]v = 0, (a) debe ser v ( p) = 1 (b) debe ser v ( p) = 0
→ ¬ p ]]v = 0; por lo
(c) puede ser v ( p) = 1 o v ( p) = 0
Solución: Según la tabla veritativa correspondiente a →, si [[( p ∧ q ) → (¬ ( ¬ p ∨ ¬q )]]v = 0, entonces necesariamente (véase la tercera fila de la tabla) se tiene que verificar que [[ [[ p ∧ q ]]v = 1 y [[ ¬ p ∨ ¬q ]]v = 0. Según la tabla veritativa correspondiente a ∧, si [[ p ∧ q ]]v = 1, entonces necesariamente (véase la cuarta fila de la tabla) tabla) se tiene que verificar verificar que v( p) = v (q ) = 1 y hemos de comprobar que estos valores valores v son compatibles con [[ ¬ p ∨ ¬q ]] = 0. En efecto efecto,, la tabla tabla verita veritati tiva va corres correspond pondien iente te a ∨ nos ind indica ica,, en su primer primeraa fila, fila, que si [[[[¬ p ∨¬ q ]]v = 0 entonces [[¬ p]]v = [[ [[¬q ]]v = 0, que que es lo mismo mismo que afirmar afirmar que v( p ) = v (q ) = 1, pues la tabla veritativa de la negación así lo indica. Por lo tanto, (a) es la respuesta correcta. Como la fórmula ( p ∧ q ) → (¬ p ∨ ¬q ) se descompone solamente siguiendo los pasos que hemos descrito antes, es imposible que las respuestas (b) y (c) sean correctas.
10 Lógica Matemática para Informáticos 1.9.
Sabiendo Sabien do que [[¬ p → ( q (a) v( p) = 1
→ p )]]v = 0, se puede asegurar:
(b) v ( p) = 0 y v (q ) = 1
(c) v (q ) = 0
Solución: Según la tabla veritativa v → , si [[¬ p → (q → p)]]v = 0, entonces necesariamente se tiene que verificar verificar que [[¬ p]]v = 1 y [[[[q → p]]v = 0. Como [[¬ p]]v = v ¬ ([[ p]]v) = v ¬ (v( p)) = 1, la tabla veritativa valoración para p es compatible con v¬ de la negación implica que v ( p ) = 0 y hemos de ver que esta valoración [[q → p]]v = 0. Si observamos la fila tercera de la tabla veritativa v →, solo para v (q ) = 1 y v ( p) = 0 obtenemos obtene mos [[q → p]]v = 1. Luego la única respuesta correcta es la (b). Como la fórmula fórmula ¬ p → ( q → p) solo solo se puede descom descompone ponerr siguie siguiendo ndo los pasos que hemos hemos descri descrito to antes, es imposible que (a) y (c) sean respuestas correctas.
1.10.
Dadas la fórmula proposicional proposicional ϕ = ( p → q ) → ((q ∨ ¬r ) → ¬ p) y una valoración v tal que v( p ) = v (q ) = 0, para que [[ ϕ ]]v valga 1, ¿cuánto debe valer v (r )? (a) No depende de v (r ) (b) v (r ) = 1 (c) v (r ) = 0
Solución: Usando la primera primera fila de la la tabla veritativ veritativaa v→ para v( p) = v (q ) = 0 obt obtene enemos mos que [[ p → q ]]v = 1 . Luego para que [[[[ϕ ]]v = 1 necesitamos (fila cuarta de la tabla veritativa v→ ) que [[(q ∨ ¬r ) → ¬ p]]v = 1. Veamos que esto es así. Como v ( p) = 0, se tiene que [[ ¬ p]]v = 1. Usando la segunda y cuarta filas de la tabla veritativa v → , que son las filas correspondientes al segundo argumento de la implicación con valor 1, obtenemos que [[ (q ∨ ¬r ) → ¬ p]]v = 1 independientemente de lo que valga [[ q ∨ ¬r ]]v . En los razonamientos anteriores no hemos necesitado hacer ninguna suposición acerca del valor de v(r ). Por consiguiente, la respuesta correcta es la (a). Las otras dos respuestas son incompatibles con (a) y, por lo tanto, incorrectas. También podíamos haber resuelto este problema construyendo la tabla veritativa de la fórmula ϕ para dandoo a r sus sus dos posibles valores veritativos veritativos y estudiando la tabla veritativa veritativa resultante: v( p ) = v (q ) = 0, dand p
q
r
¬ p
¬r
p → q
q ∨ ¬r
(q ∨ ¬r ) → ¬ p
ϕ
0 0
0 0
0 1
1 1
1 0
1 1
1 0
1 1
1 1
Está claro que para los dos posibles valores veritativos de v (r ) el resultado para ϕ es siempre 1. Por consiguiente, la respuesta correcta es la (a).
1.11.
Dadas la fórmula fórmula proposicional proposicional ϕ = ( p → q ) ∧ (( ( (¬ p → r ) → q ) y una valoración v tal que v v( p ) = v (q ) = 0, para que [[ ϕ ]] = 1, ¿cuánto debe valer v (r )? (a) No depende de v (r ) (b) v (r ) = 1 (c) v (r ) = 0
Solución: Usando la cuarta fila de la tabla veritativa de v ∧ , para que [[ ϕ ]]v valga 1 es necesario que [[ p y [[[[(¬ p → r ) → q ]]v valgan también 1. La primera valoración se verifica pues [[ p → q ]]v = v → (v( p), v(q )) = v → (0, 0) = 1.
→ q ]]v
12 Lógica Matemática para Informáticos Solución: Usando v ( p) = v (q ) = 0 evaluamos la fórmula para poder estudiar en qué condiciones [[ ϕ ]]v = 1: [[¬( p → r ) → ( q ∨ r )]]v = v → ([[¬( p → r )]]v , [[q ∨ r ]]v) = v → (v¬ ([[ p → r ]]v ), v∨ (v(q ), v(r ))) = v → (v¬ (v→ (v( p ), v(r ))), v∨(0, v(r ))) = v → (v¬ (v→ (0, v(r ))), v∨(0, v(r ))) = v → (v¬ (1), v∨ (0, v(r ))) = v → (0, v∨ (0, v(r ))) = 1 . En esta evaluación hemos utilizado el hecho de que cuando el primer argumento de una implicación es falso, entonces siempre es cierta la implicación, es decir, de una falsedad se pueden deducir tanto cosas ciertas como cosas falsas. Como la fórmula es cierta con independencia de la valoración de r , la respuesta correcta es la (a). Las otras dos respuestas son incompatibles con (a) y, por lo tanto, incorrectas. También podíamos haber resuelto este problema construyendo la tabla veritativa de la fórmula ϕ para v( p ) = v (q ) = 0, dando a r sus dos posibles valores veritativos y estudiando la tabla veritativa resultante: p
q
r
p → r
¬( p → r )
q ∨ r
ϕ
0 0
0 0
0 1
1 1
0 0
0 1
1 1
En la última columna de esta tabla se comprueba que [[ ϕ ]]v valoración de r .
1.14.
Dadas la fórmula proposicional ϕ = ( p → r ) → ( q [[ϕ ]]v = 1, ¿cuánto debe valer v(r )? (a) v(r ) = 0 (b) v (r ) = 1
= 1
siempre, con independencia de la
→ r ) y la valoración v( p ) = v (q ) = 0, para que
(c) No depende de v (r )
Solución: Usando v ( p) = v (q ) = 0 evaluamos la fórmula para poder estudiar en qué condiciones [[ ϕ ]]v = 1: [[( p → r ) → ( q
→ r )]]v = v → ([[ p → r ]]v , [[q → r ]]v ) = v → (v→ (v( p ), v(r )), v→ (v(q ), v(r ))) = v → (v→ (0, v(r )), v→ (0, v(r )))) = v → (1, 1) = 1 .
En esta evaluación hemos utilizado el hecho de que cuando el primer argumento de una implicación es falso, entonces siempre es cierta la implicación, es decir, de una falsedad se puede deducir cualquier cosa. Como la fórmula es cierta con independencia de la valoración de r , la respuesta correcta es la (c). No es posible obtener una valoración diferente de la descrita que verifique [[ ϕ ]]v = 1, por lo que las respuestas (a) y (b) son incorrectas. También podíamos haber resuelto este problema construyendo la tabla veritativa de la fórmula ϕ para v( p ) = v (q ) = 0, dando a r sus dos posibles valores veritativos y estudiando la tabla veritativa resultante:
Sintaxis y semántica 13 p
q
r
p → r
q → r
ϕ
0 0
0 0
0 1
1 1
1 1
1 1
Está claro que [[ ϕ ]]v = 1 siempre, con independencia de la valoración de r .
1.15.
Dadas la fórmula proposicional ϕ = (q → r ) [[ϕ ]]v? (a) Depende de v (r ) (b) [[ϕ ]]v = 1
→ ¬(q ∨ r ) y
la valoración v (q )
= 0,
¿cuánto vale
(c) [[ϕ ]]v = 0
Solución: Usando v (q ) = 0 evaluamos la fórmula: [[(q
→ r ) → ¬(q ∨ r )]]v = v → ([[q → r ]]v , [[¬(q ∨ r )]]v ) = v → (v→ (v(q ), v(r )), v¬ ([[q ∨ r ]]v )) = v → (v→ (0, v(r )), v¬ (v∨ (v(q ), v(r )))) = v → (1, v¬ (v∨ (0, v(r )))) = v → (1, v¬ (v(r ))) = v ¬ (v(r )).
En esta evaluación hemos utilizado el hecho de que, por una parte, cuando el primer argumento de una disyunción es falso, entonces el valor de la disyunción coincide con el valor del segundo argumento (véanse las dos primeras filas de v ∨ ) y, por otra parte, cuando el primer argumento de una implicación es cierto, entonces el valor de la implicación coincide con el valor del segundo argumento (véanse las filas tercera y cuarta de v → ). Como el resultado v ¬(v(r )) depende de v (r ) la respuesta correcta es la (a). Las otras dos respuestas son incompatibles con (a) y, por lo tanto, incorrectas. También podíamos haber resuelto este problema construyendo la tabla veritativa de la fórmula ϕ para v(q ) = 0, dando a r sus dos posibles valores veritativos y estudiando la tabla veritativa resultante: q
r
q →r
q ∨ r
¬(q ∨ r )
ϕ
0 0
0 1
1 1
0 1
1 0
1 0
Como los dos valores en la última columna de esta tabla son diferentes, se tiene que el valor veritativo [[ϕ ]]v de ϕ depende de v (r ).
1.4. EJERCICIOS RESUELTOS 1.16.
Considera las siguientes fórmulas: (a) ¬ p ∨ q ∧ ¬r (b) ¬q ∧ p → r (c) ¬ p ∨ q ∧ ¬r → ¬q ∧ p → r (d) ¬ p ∨ q ∧ ¬r → ¬q ∧ p → r ↔ ¬s Para cada fórmula, escríbela en forma no abreviada, indicando cómo construirla mediante las reglas de formación, y dibuja su árbol estructural.
14 Lógica Matemática para Informáticos Solución:
La siguiente tabla proporciona para cada una de las fórmulas dadas su versión no abreviada.
(a) (b) (c) (d)
Fórmula abreviada
Fórmula no abreviada
¬ p ∨ q ∧ ¬r ¬q ∧ p → r ¬ p ∨ q ∧ ¬r → ¬q ∧ p → r ¬ p ∨ q ∧ ¬r → ¬q ∧ p → r ↔ ¬s
(¬ p ∨ (q ∧ ¬r )) ((¬q ∧ p ) → r ) ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s )
En las dos primeras fórmulas hemos tenido en cuenta la prioridad máxima de la negación y además la prioridad mayor de la conjunción con respecto tanto a la disyunción como al condicional. Una vez tenemos las fórmulas no abreviadas, podemos descomponerlas fácilmente mediante la aplicación reiterada de las reglas de formación de fórmulas proposicionales. Para la fórmula del apartado (a), tenemos la siguiente descomposición:
(¬ p ∨ (q ∧ ¬r )) ¬ p
p (q ∧ ¬r )
q ¬r
r
[se descompone aplicando la regla (∨)] [se descompone aplicando la regla (¬)] [es fórmula atómica] [se descompone aplicando la regla (∧)] [es fórmula atómica] [se descompone aplicando la regla (¬)] [es fórmula atómica]
La descomposición de la fórmula del apartado (b) es la siguiente:
((¬q ∧ p ) → r ) (¬q ∧ p ) ¬q
q p r
[se descompone aplicando la regla (→)] [se descompone aplicando la regla (∧)] [se descompone aplicando la regla (¬)] [es fórmula atómica] [es fórmula atómica] [es fórmula atómica]
Sintaxis y semántica 15
Estas dos descomposiciones dan lugar a los dos árboles estructurales mostrados a continuación: →
∨ ∧
¬
p
r
∧
q
¬
¬
r
q
p
Con ayuda de las fórmulas obtenidas en los apartados (a) y (b) hemos construido la fórmula en el apartado (c), teniendo en cuenta que ambas subfórmulas estaban conectadas por una conectiva condicional de prioridad menor que las otras conectivas que aparecen en la fórmula y que el condicional es asociativo por la derecha. La descomposición de la versión no abreviada es la siguiente: [se descompone aplicando la regla (→)] [se descompone como en (a)] [se descompone como en (b)]
((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) (¬ p ∨ (q ∧ ¬r )) ((¬q ∧ p ) → r )
Para obtener el árbol estructural correspondiente, basta “juntar” apropiadamente los dos árboles anteriores.
→ →
∨ ∧
¬
p
q
r
∧ ¬
¬
r
q
p
Por último, la fórmula en el apartado (d) usa la fórmula del apartado (c), teniendo en cuenta que la prioridad del bicondicional es mínima. La descomposición de la versión no abreviada es la siguiente: (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ) ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ¬s
s
[se descompone aplicando la regla (↔)] [se descompone como en (c)] [se descompone aplicando la regla (¬)] [es fórmula atómica]
El árbol estructural correspondiente se obtiene extendiendo el anterior para tener en cuenta los nuevos símbolos a partir del bicondicional.
16 Lógica Matemática para Informáticos ↔ →
¬ →
∨ ∧
¬
p
1.17.
q
r
∧ ¬
¬
r
q
s
p
Escribe una definición recursiva de la aplicación sub que hace corresponder a cada fórmula proposicional ϕ ∈ L el conjunto finito sub(ϕ) formado por todas las subfórmulas de ϕ .
Solución: Utilizando el principio de recursión estructural para fórmulas proposicionales definimos la aplicación sub : L → P fin ( L ), donde P fin ( L ) denota el conjunto formado por todos los subconjuntos finitos de fórmulas en L , de la siguiente manera:
Caso base: ( At )sub Para ϕ atómica, sub(ϕ) = {ϕ}.
Casos recursivos: (¬)sub sub(¬ϕ) = {¬ϕ} ∪ sub(ϕ) . ()sub sub((ϕ1 ϕ2 )) = {(ϕ1 ϕ2 )} ∪ sub(ϕ1 ) ∪ sub(ϕ2 ).
1.18.
Calcula el conjunto de todas las subfórmulas de las siguientes fórmulas: (a) (¬ p ∨ (q ∧ ¬r )) (b) ((¬q ∧ p ) → r ) (c) ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) (d) (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ) (e) ¬¬(( p → q ) → ( q → ¬r ))
Solución: Para calcular el conjunto de todas las subfórmulas de cada fórmulaaplicamos paso a paso la definición recursiva hecha en el ejercicio 1.17 hasta obtener todas las subfórmulas proposicionales y escribimos el conjunto solución eliminando las posibles repeticiones de dichas subfórmulas.
Sintaxis y semántica 17
(a) Cálculo de todas las subfórmulas de (¬ p ∨ (q ∧ ¬r )): sub((¬ p ∨ (q ∧ ¬r ))) = {(¬ p ∨ (q ∧ ¬r ))} ∪ sub(¬ p ) ∪ sub(q ∧ ¬r ) = {(¬ p ∨ (q ∧ ¬r ))} ∪ { ¬ p } ∪ sub( p ) ∪ {(q ∧ ¬r )} ∪ sub(q ) ∪ sub(¬r ) = {(¬ p ∨ (q ∧ ¬r ))} ∪ { ¬ p } ∪ { p } ∪ {(q ∧ ¬r )} ∪ {q } ∪ { ¬r } ∪ sub(r ) = {(¬ p ∨ (q ∧ ¬r ))} ∪ { ¬ p } ∪ { p } ∪ {(q ∧ ¬r )} ∪ {q } ∪ { ¬r } ∪ {r } = {(¬ p ∨ (q ∧ ¬r )), ¬ p , p , (q ∧ ¬r ), q , ¬r , r }.
(b) Cálculo de todas las subfórmulas de ((¬q ∧ p) → r ): sub(((¬q ∧ p ) → r )) = {((¬q ∧ p ) → r )} ∪ sub((¬q ∧ p )) ∪ sub(r ) = {((¬q ∧ p ) → r )} ∪ {(¬q ∧ p )} ∪ sub(¬q ) ∪ sub( p ) ∪ {r } = {((¬q ∧ p ) → r )} ∪ {(¬q ∧ p )} ∪ { ¬q } ∪ sub(q ) ∪ { p } ∪ {r } = {((¬q ∧ p ) → r )} ∪ {(¬q ∧ p )} ∪ { ¬q } ∪ {q } ∪ { p } ∪ {r } = {((¬q ∧ p ) → r ), (¬q ∧ p ), ¬q , q , p , r }.
(c) Usando los conjuntos de subfórmulas obtenidos en los apartados anteriores calculamos el conjunto de las subfórmulas de ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )): sub(((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))) = {((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))} ∪ sub((¬ p ∨ (q ∧ ¬r ))) ∪ sub(((¬q ∧ p ) → r )) = {((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))} ∪ {(¬ p ∨ (q ∧ ¬r )), ¬ p , p , (q ∧ ¬r ), q , ¬r , r } ∪ {((¬q ∧ p ) → r ), (¬q ∧ p ), ¬q , q , p , r } = {((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )),(¬ p ∨ (q ∧ ¬r )), ((¬q ∧ p ) → r ), (q ∧ ¬r ), (¬q ∧ p ), ¬ p , ¬r , ¬q , q , p , r }.
(d) Usando el conjunto de subfórmulas obtenido en el apartado anterior calculamos el conjunto de las subfórmulas de (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p) → r )) ↔ ¬s ): sub((((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s )) = {(((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s )} ∪ sub(((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))) ∪ sub(¬s ) = {(((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s )} ∪ {((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )),(¬ p ∨ (q ∧ ¬r )), ((¬q ∧ p ) → r ), (q ∧ ¬r ), (¬q ∧ p ), ¬ p , ¬r , ¬q , q , p , r } ∪ { ¬s } ∪ sub(s ) = {(((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ),((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )), (¬ p ∨ (q ∧ ¬r )), ((¬q ∧ p ) → r ), (q ∧ ¬r ), (¬q ∧ p ), ¬ p , ¬r , ¬q , q , p , r , ¬s } ∪ {s } = {(((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ),((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )), (¬ p ∨ (q ∧ ¬r )), ((¬q ∧ p ) → r ), (q ∧ ¬r ), (¬q ∧ p ), ¬ p , ¬r , ¬q , ¬s , q , p , r , s }.
18 Lógica Matemática para Informáticos (e) Cálculo de todas las subfórmulas de ¬¬(( p → q ) → ( q
→ ¬r )):
sub(¬¬(( p → q ) → ( q → ¬r ))) = {¬¬(( p → q ) → ( q → ¬r ))} ∪ sub(¬(( p → q ) → ( q → ¬r ))) = = {¬¬(( p → q ) → ( q → ¬r ))} ∪ { ¬(( p → q ) → ( q → ¬r ))} ∪ sub((( p → q ) → ( q → ¬r ))) = {¬¬(( p → q ) → ( q → ¬r ))} ∪ { ¬(( p → q ) → ( q → ¬r ))} ∪ {(( p → q ) → ( q → ¬r ))} ∪ sub(( p → q )) ∪ sub((q → ¬r )) = {¬¬(( p → q ) → ( q → ¬r ))} ∪ { ¬(( p → q ) → ( q → ¬r ))} ∪ {(( p → q ) → ( q → ¬r ))} ∪ {( p → q )} ∪ sub( p ) ∪ sub(q ) ∪ {(q → ¬r )} ∪ sub(q ) ∪ sub(¬r ) = {¬¬(( p → q ) → ( q → ¬r ))} ∪ { ¬(( p → q ) → ( q → ¬r ))} ∪ {(( p → q ) → ( q → ¬r ))} ∪ {( p → q )} ∪ { p } ∪ {q } ∪ {(q → ¬r )} ∪ {q } ∪ { ¬r } ∪ sub(r ) = = {¬¬(( p → q ) → ( q → ¬r ))} ∪ { ¬(( p → q ) → ( q → ¬r ))} ∪ {(( p → q ) → ( q → ¬r ))} ∪ {( p → q )} ∪ { p } ∪ {q } ∪ {(q → ¬r )} ∪ {q } ∪ { ¬r } ∪ {r } = {¬¬(( p → q ) → ( q → ¬r )), ¬(( p → q ) → ( q → ¬r )),(( p → q ) → ( q → ¬r )), ( p → q ), (q → ¬r ), ¬r , p , q , r }.
1.19.
El vocabulario de una fórmula proposicional ϕ ∈ L se define como el conjunto finito formado por todos los símbolos de proposición p ∈ que aparecen en ϕ . Escribe una definición recursiva de la aplicación voc que hace corresponder a cada fórmula ϕ su vocabulario voc(ϕ) .
Solución: Utilizando el principio de recursión estructural para fórmulas proposicionales definimos la aplicación : L → P fin() , donde P fin() denota el conjunto formado por todos los subconjuntos finitos de símbolos de proposición en , de la siguiente manera: voc
Casos base: (⊤)voc voc(⊤) = ∅. (⊥)voc voc(⊥) = ∅. () voc Para todo p ∈ , voc( p ) = { p }.
Casos recursivos: (¬)voc voc(¬ϕ) = voc (ϕ) . ()voc voc((ϕ1 ϕ2 )) = voc (ϕ1 ) ∪ voc(ϕ2 ).
1.20.
Usando la definición del ejercicio 1.19, calcula el vocabulario de las siguientes fórmulas: (a) (¬ p ∨ (q ∧ ¬r )) (b) ((¬q ∧ p ) → r ) (c) ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) (d) (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ) (e) ¬¬(( p → q ) → ( q → ¬r ))
Solución: Para calcular el vocabulario de cada fórmula aplicamos paso a paso la definición recursiva hecha en el ejercicio 1.19 hasta llegar a los símbolos proposicionales y escribimos el conjunto solución eliminando las posibles repeticiones de dichos símbolos.
Sintaxis y semántica 19
(a) Cálculo del vocabulario de (¬ p ∨ (q ∧ ¬r )): voc((¬ p ∨ (q ∧ ¬r ))) = voc (¬ p ) ∪ voc((q ∧ ¬r )) = voc ( p ) ∪ voc(q ) ∪ voc(¬r ) = { p } ∪ {q } ∪ voc(r ) = { p } ∪ {q } ∪ {r } = { p , q , r }.
(b) Cálculo del vocabulario de ((¬q ∧ p ) → r ): voc(((¬q ∧ p ) → r )) = voc((¬q ∧ p )) ∪ voc(r ) = voc(¬q ) ∪ voc( p ) ∪ {r } = voc(q ) ∪ { p } ∪ {r } = {q } ∪ { p } ∪ {r } = {q , p , r }.
(c) Usando los vocabularios que hemos obtenido en los dos apartados anteriores calculamos el vocabulario de la fórmula ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p) → r )): voc(((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))) = voc (((¬ p ∨ (q ∧ ¬r ))) ∪ voc(((¬q ∧ p ) → r ))) = { p , q , r } ∪ {q , p , r } = { p , q , r }.
(d) Usando el vocabulario que hemos obtenido en el apartado anterior calculamos el vocabulario de la fórmula (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ): voc((((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s )) = voc ((((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))) ∪ voc(¬s ) = { p , q , r } ∪ voc(s ) = { p , q , r } ∪ {s } = { p , q , r , s }.
(e) Cálculo del vocabulario de ¬¬(( p → q ) → ( q
→ ¬r )):
voc(¬¬(( p → q ) → ( q → ¬r ))) = voc (¬(( p → q ) → ( q → ¬r ))) = voc ((( p → q ) → ( q → ¬r ))) = voc (( p → q )) ∪ voc((q → ¬r )) = voc ( p ) ∪ voc(q ) ∪ voc(q ) ∪ voc(¬r ) = { p } ∪ {q } ∪ {q } ∪ voc(r ) = { p } ∪ {q } ∪ {r } = { p , q , r }.
1.21.
Dada una fórmula proposicional ϕ ∈ L , sea bn (ϕ) el número de apariciones de conectivas binarias en ϕ y sea at (ϕ) el número de apariciones de ⊥, ⊤ y de símbolos de proposición p ∈ en ϕ . Define recursivamente las funciones bn y at , y demuestra por inducción sobre la estructura de ϕ que at (ϕ) = bn (ϕ) + 1 se cumple para toda fórmula ϕ ∈ L .
20 Lógica Matemática para Informáticos Solución: Utilizando el principio de recursión estructural para fórmulas proposicionales definimos la función at entre L y N de la siguiente manera:
Caso base: ( At )at Para ϕ atómica, at (ϕ) = 1.
Casos recursivos: (¬)at at (¬ϕ) = at (ϕ) . ()at at ((ϕ1 ϕ2 )) = at (ϕ1 ) + at (ϕ2 ).
De forma completamente análoga se define la función bn entre L y N.
Caso base: ( At )bn Para ϕ atómica, bn (ϕ) = 0.
Casos recursivos: (¬)bn bn(¬ϕ) = bn (ϕ) . ()bn bn((ϕ1 ϕ2 )) = bn (ϕ1 ) + bn(ϕ2 ) + 1.
Ahora demostramos por inducción estructural sobre
ϕ
que at (ϕ)
= bn(ϕ) + 1,
para toda fórmula
ϕ ∈ L .
Caso base: ( At ) Para toda fórmula atómica ϕ se verifica que at (ϕ) = 1 = 0 + 1 = bn (ϕ) + 1.
Pasos inductivos: (¬) ϕ = ¬ϕ1 y suponemos como hipótesis de inducción que at (ϕ1 ) = bn (ϕ1 ) + 1; entonces,
at (¬ϕ1 ) = at (ϕ1 ) = bn (ϕ1 ) + 1 = bn (¬ϕ1 ) + 1.
[por definición de (¬)at ] [por hipótesis de inducción] [por definición de (¬)bn ]
() ϕ = (ϕ1 ϕ2 ) y suponemos como hipótesis de inducción que at (ϕ1 ) = bn(ϕ1 ) + 1 at (ϕ2 ) = bn (ϕ2 ) + 1; entonces,
at ((ϕ1 ϕ2 )) = at (ϕ1 ) + at (ϕ2 ) = bn (ϕ1 ) + 1 + bn(ϕ2 ) + 1 = bn ((ϕ1 ϕ2 )) + 1.
1.22.
y que
[por definición de ()at ] [por hipótesis de inducción] [por definición de ( )bn]
Usando la definición del ejercicio 1.21, calcula el valor de la función at para las siguientes fórmulas: (a) (¬ p ∨ (q ∧ ¬r )) (b) ((¬q ∧ p ) → r ) (c) ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) (d) (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ) (e) ¬¬(( p → q ) → ( q → ¬r ))
Sintaxis y semántica 21
Solución: Para calcular el valor de la función at de cada fórmula aplicamos paso a paso la definición recursiva hecha en el ejercicio 1.21 hasta llegar al valor de at para los símbolos proposicionales. (a) Cálculo del valor de la función at para la fórmula (¬ p ∨ (q ∧ ¬r )): at ((¬ p ∨ (q ∧ ¬r ))) = at (¬ p ) + at ((q ∧ ¬r )) = at ( p ) + at (q ) + at (¬r ) = 1 + 1 + at (r ) = 2 + 1 = 3 .
(b) Cálculo del valor de la función at para la fórmula ((¬q ∧ p) → r ): at (((¬q ∧ p ) → r )) = at ((¬q ∧ p )) + at (r ) = at (¬q ) + at ( p ) + 1 = at (q ) + 1 + 1 = 1 + 2 = 3.
(c) Usando los valores de at que hemos obtenido en los dos apartados anteriores calculamos el valor de at para la fórmula ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )): at (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))) = at ((¬ p ∨ (q ∧ ¬r ))) + at (((¬q ∧ p ) → r )) = 3 + 3 = 6 .
(d) Usando el valor de at que hemos obtenido en el apartado anterior podemos calcular el valor de at para la fórmula (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ): at ((((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s )) = at (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))) + at (¬s ) = 6 + at (s ) = 6 + 1 = 7 .
(e) Cálculo de at para la fórmula ¬¬(( p → q ) → ( q
→ ¬r )):
at (¬¬(( p → q ) → ( q → ¬r ))) = at (¬(( p → q ) → ( q → ¬r ))) = at ((( p → q ) → ( q → ¬r ))) = at (( p → q )) + at ((q → ¬r )) = at ( p ) + at (q ) + at (q ) + at (¬r ) = 1 + 1 + 1 + at (r ) = 3 + 1 = 4 .
22 Lógica Matemática para Informáticos 1.23.
Usando la definición del ejercicio 1.21, calcula el valor de la función bn para las siguientes fórmulas: (a) (¬ p ∨ (q ∧ ¬r )) (b) ((¬q ∧ p ) → r ) (c) ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) (d) (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ) (e) ¬¬(( p → q ) → ( q → ¬r ))
Solución: Para calcular el valor de la función bn de cada fórmula aplicamos paso a paso la definición recursiva hecha en el ejercicio 1.21 hasta llegar al valor de bn para los símbolos proposicionales. (a) Cálculo del valor de la función bn para la fórmula (¬ p ∨ (q ∧ ¬r )): bn((¬ p ∨ (q ∧ ¬r ))) = bn (¬ p ) + bn((q ∧ ¬r )) + 1 = bn ( p ) + bn(q ) + bn(¬r ) + 1 + 1 = 0 + 0 + bn(r ) + 2 = 0 + 2 = 2 .
(b) Cálculo del valor de la función bn para la fórmula ((¬q ∧ p) → r ): bn(((¬q ∧ p ) → r )) = bn ((¬q ∧ p )) + bn(r ) + 1 = bn (¬q ) + bn( p ) + 1 + bn(r ) + 1 = bn (q ) + 0 + 0 + 2 = 0 + 2 = 2 .
(c) Usando los valores de bn obtenidos en los dos apartados anteriores calculamos el valor de bn para la fórmula ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p) → r )): bn(((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))) = bn ((¬ p ∨ (q ∧ ¬r ))) + bn(((¬q ∧ p ) → r )) + 1 = 2 + 2 + 1 = 5.
(d) Usando el valor de bn obtenido en el apartado anterior podemos calcular el valor de bn para la fórmula (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ): bn((((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s )) = bn (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))) + bn(¬s ) + 1 = 5 + bn(s ) + 1 = 5 + 0 + 1 = 6 .
Sintaxis y semántica 23
(e) Cálculo del valor de la función bn para la fórmula ¬¬(( p → q ) → ( q
→ ¬r )):
bn(¬¬(( p → q ) → ( q → ¬r ))) = bn (¬(( p → q ) → ( q → ¬r ))) = bn ((( p → q ) → ( q → ¬r ))) = bn (( p → q )) + bn((q → ¬r )) + 1 = bn ( p ) + bn(q ) + 1 + bn(q ) + bn(¬r ) + 1 + 1 = 0 + 0 + 1 + 0 + bn(r ) + 2 = 0 + 3 = 3 .
Como se puede comprobar los valores de las funciones at (ejercicio 1.22) y bn obtenidos para las fórmulas estudiadas verifican la igualdad at (ϕ) = bn (ϕ) + 1, ya demostrada en el ejercicio 1.21.
1.24.
Dada una fórmula proposicional ϕ ∈ L , sea pf (ϕ) la profundidad de una fórmula, es decir, la longitud de la rama más larga del árbol estructural de ϕ , y sea cn (ϕ) el número de apariciones de conectivas unarias y binarias en ϕ (es decir, sin contar las constantes ⊥ y ⊤). Define recursivamente las funciones pf y cn, y demuestra por inducción sobre la estructura de ϕ que pf (ϕ) ≤ cn(ϕ) se cumple para cualquier fórmula ϕ ∈ L .
Solución: Utilizando el principio de recursión estructural para fórmulas proposicionales definimos la función pf entre L y N de la siguiente manera:
Caso base: ( At ) pf Para ϕ atómica, pf (ϕ) = 0. Casos recursivos: (¬) pf pf (¬ϕ) = pf (ϕ) + 1. () pf pf ((ϕ1 ϕ2 )) = máx{ pf (ϕ1 ), pf (ϕ2 )} + 1. De forma completamente análoga se define la función cn entre L y N.
Caso base: ( At )cn Para ϕ atómica, cn(ϕ) = 0. Casos recursivos: (¬)cn cn(¬ϕ) = cn (ϕ) + 1. ()cn cn((ϕ1 ϕ2 )) = cn (ϕ1 ) + cn(ϕ2 ) + 1.
A continuación demostramos por inducción estructural sobre ϕ que pf (ϕ) ≤ cn (ϕ) , para toda fórmula proposicional ϕ ∈ L .
Caso base: ( At ) Para toda fórmula atómica ϕ se verifica que pf (ϕ) = 0 ≤ 0 = cn (ϕ) . Pasos inductivos: (¬) ϕ = ¬ϕ1 y suponemos como hipótesis de inducción que pf (ϕ1 ) ≤ cn (ϕ1 ); entonces, pf (¬ϕ1 ) = pf (ϕ1 ) + 1 ≤ cn (ϕ1 ) + 1 = cn (¬ϕ1 ).
[por definición de (¬) pf ] [por hipótesis de inducción] [por definición de (¬)cn]
24 Lógica Matemática para Informáticos () ϕ = (ϕ 1 ϕ2 ) y suponemos como hipótesis de inducción que pf (ϕ1 ) ≤ cn (ϕ1 ) y también que pf (ϕ2 ) ≤ cn (ϕ2 ); entonces,
pf ((ϕ1 ϕ2 )) = máx{ pf (ϕ1 ), pf (ϕ2 )} + 1 ≤ 1 + pf (ϕ1 ) + pf (ϕ2 ) ≤ 1 + cn(ϕ1 ) + cn(ϕ2 ) = cn ((ϕ1 ϕ2 )).
1.25.
[por definición de () pf ] [por definición de máximo] [por hipótesis de inducción] [por definición de ()cn]
Usando la definición del ejercicio 1.24, calcula el valor de la función pf para las siguientes fórmulas: (a) (¬ p ∨ (q ∧ ¬r )) (b) ((¬q ∧ p ) → r ) (c) ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) (d) (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ) (e) ¬¬(( p → q ) → ( q → ¬r ))
Solución: Para calcular el valor de la función pf de cada fórmula aplicamos paso a paso la definición recursiva hecha en el ejercicio 1.24 hasta llegar al valor de pf para los símbolos proposicionales. (a) Cálculo del valor de la función pf para la fórmula (¬ p ∨ (q ∧ ¬r )): pf ((¬ p ∨ (q ∧ ¬r ))) = máx{ pf (¬ p ), pf ((q ∧ ¬r ))} + 1 = máx{ pf ( p ) + 1, máx{ pf (q ), pf (¬r )} + 1} + 1 = máx{0 + 1, máx{0, pf (r ) + 1} + 1} + 1 = máx{1, máx{0, 0 + 1} + 1} + 1 = máx{1, máx{0, 1} + 1} + 1 = máx{1, 1 + 1} + 1 = 2 + 1 = 3.
(b) Cálculo del valor de la función pf para la fórmula ((¬q ∧ p) → r ): pf (((¬q ∧ p ) → r )) = máx{ pf ((¬q ∧ p )), pf (r )} + 1 = máx{máx{ pf (¬q ), pf ( p )} + 1, pf (r )} + 1 = máx{máx{ pf (q ) + 1, pf ( p )} + 1, pf (r )} + 1 = máx{máx{0 + 1, 0} + 1, 0} + 1 = máx{máx{1, 0} + 1, 0} + 1 = máx{1 + 1, 0} + 1 = 2 + 1 = 3 .
(c) Usando los valores de pf obtenidos en los dos apartados anteriores calculamos el valor de la función
Sintaxis y semántica 25 pf para la fórmula ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )): pf (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))) = máx{ pf ((¬ p ∨ (q ∧ ¬r ))), pf (((¬q ∧ p ) → r ))} + 1 = máx{3, 3} + 1 = 4 .
(d) Usando el valor de pf obtenido en el apartado anterior podemos calcular el valor de la función pf para la fórmula (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ): pf ((((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s )) = máx{ pf (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))), pf (¬s )} + 1 = máx{4, pf (s ) + 1} + 1 = máx{4, 0 + 1} + 1 = 5 .
(e) Cálculo del valor de la función pf para la fórmula ¬¬(( p → q ) → ( q
→ ¬r )):
pf (¬¬(( p → q ) → ( q → ¬r ))) = pf (¬(( p → q ) → ( q → ¬r ))) + 1 = pf ((( p → q ) → ( q → ¬r ))) + 1 + 1 = máx{ pf (( p → q )), pf ((q → ¬r ))} + 1 + 2 = máx{máx{ pf ( p ), pf (q )} + 1, máx{ pf (q ), pf (¬r )} + 1} + 3 = máx{máx{0, 0} + 1, máx{0, pf (r ) + 1} + 1} + 3 = máx{0 + 1, máx{0, 0 + 1} + 1} + 3 = máx{1, 1 + 1} + 3 = 2 + 3 = 5 .
1.26.
Usando la definición del ejercicio 1.24, calcula el valor de la función cn para las siguientes fórmulas: (a) (¬ p ∨ (q ∧ ¬r )) (b) ((¬q ∧ p ) → r ) (c) ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) (d) (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ) (e) ¬¬(( p → q ) → ( q → ¬r ))
Solución: Para calcular el valor de la función cn de cada fórmula aplicamos paso a paso la definición recursiva hecha en el ejercicio 1.24 hasta llegar al valor de cn para los símbolos proposicionales. (a) Cálculo del valor de la función cn para la fórmula (¬ p ∨ (q ∧ ¬r )): cn((¬ p ∨ (q ∧ ¬r ))) = cn (¬ p ) + cn((q ∧ ¬r )) + 1 = cn ( p ) + 1 + cn(q ) + cn(¬r ) + 1 + 1 = 0 + 1 + 0 + cn(r ) + 1 + 2 = 0 + 4 = 4 .
26 Lógica Matemática para Informáticos (b) Cálculo del valor de la función cn para la fórmula ((¬q ∧ p) → r ): cn(((¬q ∧ p ) → r )) = cn ((¬q ∧ p )) + cn(r ) + 1 = cn (¬q ) + cn( p ) + 1 + cn(r ) + 1 = cn (q ) + 1 + 0 + 0 + 2 = 0 + 3 = 3 .
(c) Usando los valores de cn obtenidos en los dos apartados anteriores podemos calcular el valor de la función cn para la fórmula ((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p) → r )): cn(((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))) = cn ((¬ p ∨ (q ∧ ¬r ))) + cn(((¬q ∧ p ) → r )) + 1 = 4 + 3 + 1 = 8 .
(d) Usando el valor de cn obtenido en el apartado anterior podemos calcular el valor de la función cn para la fórmula (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s ): cn((((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r )) ↔ ¬s )) = cn (((¬ p ∨ (q ∧ ¬r )) → ((¬q ∧ p ) → r ))) + cn(¬s ) + 1 = 8 + cn(s ) + 1 = 8 + 0 + 1 = 9 .
(e) Cálculo del valor de la función cn para la fórmula ¬¬(( p → q ) → ( q
→ ¬r )):
cn(¬¬(( p → q ) → ( q → ¬r ))) = cn (¬(( p → q ) → ( q → ¬r ))) + 1 = cn ((( p → q ) → ( q → ¬r ))) + 1 + 1 = cn (( p → q )) + cn((q → ¬r )) + 1 + 2 = cn ( p ) + cn(q ) + 1 + cn(q ) + cn(¬r ) + 1 + 3 = 0 + 0 + 1 + 0 + cn(r ) + 1 + 4 = 0 + 6 = 6 .
Como se puede comprobar los valores de las funciones pf (ejercicio 1.25) y cn obtenidos para las fórmulas estudiadas verifican la igualdad pf (ϕ) ≤ cn (ϕ) , ya demostrada en el ejercicio 1.24.
1.27.
Un prefijo propio de una fórmula proposicional ϕ es cualquier cadena de símbolos no vacía u tal que ϕ se pueda expresar como la concatenación de u con otra cadena de símbolos no vacía v; es decir, ϕ = u v con u , v = ε . Escribe todos los prefijos propios de la fórmula ¬¬(( p → q ) → ( q → ¬r )).
Solución: Todas las descomposiciones de la fórmula ¬¬(( p → q ) → (q cadenas no vacías de símbolos u y v aparecen en la siguiente tabla:
→ ¬r )) como concatenación de dos
Sintaxis y semántica 27
Prefijo propio u ¬ ¬¬ ¬¬( ¬¬(( ¬¬(( p ¬¬(( p → ¬¬(( p → q ¬¬(( p → q ) ¬¬(( p → q ) → ¬¬(( p → q ) → ( ¬¬(( p → q ) → ( q ¬¬(( p → q ) → ( q ¬¬(( p → q ) → ( q ¬¬(( p → q ) → ( q ¬¬(( p → q ) → ( q
1.28.
Resto de la fórmula v ¬(( p → q ) → ( q (( p → q ) → ( q ( p → q ) → ( q p → q ) → ( q → q ) → ( q q ) → ( q ) → ( q → ( q (q q → →¬ → ¬r → ¬r )
→ → → → → → → → → → →
¬r )) ¬r )) ¬r )) ¬r )) ¬r )) ¬r )) ¬r )) ¬r )) ¬r )) ¬r )) ¬r )) ¬r )) r )) )) )
Demuestra sucesivamente: (a) Ninguna fórmula proposicional ϕ está formada exclusivamente por signos de negación. (b) Cualquier fórmula proposicional contiene el mismo número de apariciones del símbolo ‘(’ que del símbolo ‘)’. (c) Si u es un prefijo propio (véase el ejercicio 1.27) de una fórmula proposicional ϕ , entonces o bien u es una cadena de signos de negación, o bien u contiene más veces el símbolo ‘(’ que el símbolo ‘)’. (d) Un prefijo propio de una fórmula proposicional nunca es a su vez una fórmula proposicional.
Solución: En este ejercicio demostraremos los tres primeros apartados utilizando inducción sobre la estructura de ϕ y deduciremos de ellos el último apartado. (a) Para demostrar que ninguna fórmula proposicional ϕ está formada exclusivamente por signos de negación, utilizamos inducción sobre la estructura de ϕ . Caso base: ( At ) Trivial, porque una fórmula atómica ϕ (que es igual a ⊥, ⊤ o p ∈ ) no está formada exclusivamente por signos de negación. Pasos inductivos: (¬) ϕ = ¬ϕ1 y como hipótesis de inducción suponemos que ϕ 1 no está formada exclusivamente por signos de negación; entonces ϕ tampoco puede estar formada exclusivamente por signos de negación. () ϕ = (ϕ1 ϕ2 ) y como hipótesis de inducción suponemos que ϕ 1 y ϕ 2 no están formadas exclusivamente por signos de negación. Sin necesidad de utilizar la hipótesis de inducción en este caso, vemos que ϕ no está formada exclusivamente por signos de negación. (b) Para demostrar que cualquier fórmula proposicional contiene el mismo número de veces el símbolo ‘(’ que el símbolo ‘)’, utilizamos inducción sobre la estructura de ϕ . Caso base: ( At ) Trivial, puesto que una fórmula atómica ϕ (que es igual a ⊥, ⊤ o p ∈ ) no tiene ni el símbolo ‘(’ ni el símbolo ‘)’.
28 Lógica Matemática para Informáticos Pasos inductivos: (¬) ϕ = ¬ϕ1 y como hipótesis de inducción suponemos que ϕ 1 contiene el mismo número de veces el símbolo ‘(’ que el símbolo ‘)’; entonces ϕ también contiene el mismo número de veces el símbolo ‘(’ que el símbolo ‘)’. () ϕ = (ϕ 1 ϕ2 ) y como hipótesis de inducción suponemos que ϕ 1 y ϕ 2 contienen cada una el mismo número de veces el símbolo ‘(’ que el símbolo ‘)’; entonces ϕ también contiene el mismo número de veces el símbolo ‘(’ que el símbolo ‘)’. (c) Para demostrar que si u es un prefijo propio de una fórmula proposicional ϕ , entonces o bien u es una cadena de signos de negación, o bien u contiene más veces el símbolo ‘(’ que el símbolo ‘)’ utilizamos inducción sobre la estructura de ϕ . Caso base: ( At ) Trivial, porque una fórmula atómica ϕ consta de un único símbolo y, por lo tanto, no tiene prefijos propios. Pasos inductivos: (¬) Si u es prefijo propio de ¬ϕ hay dos casos: ◦ u = ¬ implica que u es una cadena de signos de negación. ◦ u = ¬v con v prefijo propio de ϕ implica por hipótesis de inducción: ⋄ o bien v es una cadena de signos de negación, lo cual a su vez implica que u es también una cadena de signos de negación; ⋄ o bien v contiene más veces el símbolo ‘(’ que el símbolo ‘)’, lo cual a su vez implica que también u contiene más veces el símbolo ‘(’ que el símbolo ‘)’. () La fórmula ϕ es de la forma (ϕ 1 ϕ2 ) y suponemos como hipótesis de inducción que la propiedad en cuestión se cumple para los prefjos propios de ϕ1 y los de ϕ2 . Si u es prefijo propio de (ϕ1 ϕ2), hay 6 casos distintos, en ninguno de los cuales se tiene que u sea una cadena de signos de negación. ◦ u = ( . En este caso es obvio que u contiene más veces el símbolo ‘(’ que el símbolo ‘)’. ◦ u = (v siendo v prefijo propio de ϕ1 . Por la hipótesis de inducción para ϕ1 , tenemos que o bien v es una cadena de signos de negación, o bien v contiene más veces el símbolo ‘(’ que el símbolo ‘)’. En cualquiera de las posibilidades se concluye que u contiene más veces el símbolo ‘(’ que el símbolo ‘)’. ◦ u = (ϕ 1 . Por el apartado anterior, ϕ 1 contiene el mismo número de veces el símbolo ‘(’ que el símbolo ‘)’. De aquí, u contiene una vez más el símbolo ‘(’ que el símbolo ‘)’. ◦ u = (ϕ 1 . Igual que el caso anterior. ◦ u = (ϕ1 v siendo v prefijo propio de ϕ2 . Por el apartado anterior, ϕ1 contiene el mismo número de veces el símbolo ‘(’ que el símbolo ‘)’. Además, por la hipótesis de inducción para ϕ 2 , tenemos que o bien v es una cadena de signos de negación, o bien v contiene más veces el símbolo ‘(’ que el símbolo ‘)’. En cualquiera de las posibilidades se concluye que u contiene más veces el símbolo ‘(’ que el símbolo ‘)’. ◦ u = (ϕ1 ϕ2 . Por el apartado anterior, ϕ 1 y ϕ2 contienen el mismo número de veces el símbolo ‘(’ que el símbolo ‘)’. De aquí, u contiene una vez más el símbolo ‘(’ que el símbolo ‘)’. (d) Para demostrar este apartado usamos los tres anteriores. Por (c) sabemos que si u es un prefijo propio de una fórmula proposicional ϕ , entonces o bien u es una cadena de signos de negación, o bien u contiene más veces el símbolo ‘(’ que el símbolo ‘)’. Si u es una cadena de signos de negación, entonces por (a) no puede ser una fórmula proposicional. Si u contiene más veces el símbolo ‘(’ que el símbolo ‘)’, entonces como (b) nos asegura que toda fórmula proposicional contiene el mismo número de veces el símbolo ‘(’ y el símbolo ‘)’ u tampoco puede ser una fórmula proposicional.
Sintaxis y semántica 29
Por lo tanto, un prefijo propio de una fórmula proposicional nunca es a su vez una fórmula proposicional.
1.29.
Apoyándote en el último apartado del ejercicio 1.28, demuestra que el principio de unicidad de estructura para fórmulas proposicionales es válido.
Solución: Está claro que toda fórmula ϕ es atómica (caso ( At )), o bien de la forma ¬ϕ1 (caso (¬)), o bien de la forma (ϕ1 ϕ2 ) (caso ()). Veamos que estos tres casos se excluyen entre sí y que además ϕ1 y ϕ2 están unívocamente determinadas. ( At )
Claramente, este caso excluye a los otros dos. Además, no se puede tener una identidad de la f orma p = ⊥ o p = ⊤, con p ∈ , ni tampoco ⊥ = ⊤ (o cambiando el orden en las tres posibilidades). Si p = q con p, q ∈ , entonces p y q han de ser símbolos de proposición idénticos.
(¬)
Claramente, este caso excluye a los otros dos. Además, si ϕ = ¬ϕ1 , la subfórmula ϕ1 está unívocamente determinada pues, si tuviéramos dos descomposiciones diferentes de la forma ¬ϕ1 = ¬ϕ1′ , esto implicaría que ϕ1 = ϕ1′ ya que lo único que hemos quitado en ambos casos es la conectiva unaria de negación ¬. Claramente, este caso excluye a los otros dos. Además, si ϕ = (ϕ 1 ϕ2 ), entonces , ϕ1 y ϕ2 están unívocamente determinadas. En efecto, si tuviéramos dos descomposiciones diferentes de la forma (ϕ1 ϕ2 ) = (ϕ1′ △ ϕ 2′ ), esto implicaría que ϕ 1 ϕ2 ) = ϕ1′ △ ϕ2′ ), lo cual a su vez nos permitiría afirmar que o bien ϕ1 es prefijo de ϕ1′ o viceversa. Usando el último apartado del ejercicio 1.28, podemos asegurar que ϕ1 = ϕ 1′ y, por lo tanto, también que ϕ2) = △ ϕ 2′ ), de ahí que obtengamos que = △ y que ϕ 2 = ϕ 2′ .
()
En resumen, la estructura sintáctica de toda fórmula proposicional está unívocamente determinada.
1.30.
Construye dos fórmulas proposicionales ϕ y ψ y dos cadenas de símbolos u y v, de tal modo que (ϕ ∨ ψ) y ( u ∨ v) sean idénticas como cadenas de símbolos, y sin embargo se tenga ϕ = u y ψ = v . ¿Puede ocurrir esto en el caso de que u y v sean fórmulas proposicionales? Razona tu respuesta.
Solución: Tomando u , v como fórmulas lo que se pide en este problema no es posible, debido al principio de unicidad de la estructura de las fórmulas proposicionales que ha sido demostrado en el ejercicio 1.29. Permitiendo que u , v no sean fórmulas, podemos considerar, por ejemplo, la fórmula ( p ∨ (q ∨ r )). Entonces podemos descomponer esta fórmula de dos maneras distintas, por una parte las dos subfórmulas ϕ = p y ψ = ( q ∨ r ) y por otra las cadenas de símbolos u = p ∨ (q y v = r ).
1.31.
De las cadenas de símbolos que siguen determinar cuáles son fórmulas proposicionales de L y cuáles no lo son. Razona la respuesta, suponiendo p , q , r ∈ . (a) (¬ p ∧ (q ∨ r )) (b) (( p ∨ q ) ∧ ((¬r ) (c) (( p ∨ q )∧)(¬r ) (d) ( p → ∧ q )
30 Lógica Matemática para Informáticos Solución: (a)
(¬ p ∧ (q ∨ r )) ∈ L porque puede construirse con las reglas de formación de fórmulas:
[se descompone aplicando la regla (∧)] [se descompone aplicando la regla (¬)] [es fórmula atómica] [se descompone aplicando la regla (∨)] [es fórmula atómica] [es fórmula atómica]
(¬ p ∧ (q ∨ r )) ¬ p
p (q ∨ r )
q r
Esta descomposición se puede representar como el siguiente árbol estructural: ∧ ∨
¬
p
(b)
q
r
(( p ∨ q )∧((¬r ) ∈ / L porque no cumple la propiedad (b) del ejercicio 1.28 que afirma que cualquier
fórmula proposicional contiene el mismo número de apariciones del símbolo ‘(’ que del símbolo ‘)’. Si intentamos descomponer la cadena de símbolos con las reglas de formación de fórmulas, nos encontramos con la siguiente situación: (( p ∨ q ) ∧ ((¬r ) ( p ∨ q )
p q ((¬r
[se descompone aplicando la regla (∧)] [se descompone aplicando la regla (∨)] [es fórmula atómica] [es fórmula atómica] [no se forma aplicando (¬) pues aparecen dos ‘(’ extraños]
Por supuesto, en la última línea del intento de descomposición anterior tampoco se puede aplicar ninguna de las otras reglas de formación. (c) (( p ∨ q )∧)(¬r ) ∈/ L . En este caso no podemos razonar como en el apartado (b), pues el número de apariciones de los símbolos ‘(’ y ‘)’ es el mismo. Por lo tanto, hemos de ver dónde nos fallan las reglas de formación de fórmulas, intentando realizar una descomposición detallada de la cadena de símbolos como la siguiente: (( p ∨ q )∧)(¬r ) ( p ∨ q )
p q )(¬r
[se descompone aplicando la regla (∧)] [se descompone aplicando la regla (∨)] [es fórmula atómica] [es fórmula atómica] [no se forma aplicando (¬) debido a ‘)’ y ‘(’ extraños]
De nuevo, en la última línea del intento de descomposición anterior tampoco se puede aplicar ninguna de las otras reglas de formación. (d) ( p → ∧ q ) ∈/ L porque no es posible descomponer esta cadena de símbolos aplicando las reglas de formación de fórmulas. La descomposición se puede intentar de dos maneras, pero ambas fracasan: Si aplicamos descomposición con la regla de → , ( p → ∧ q ) = (α → β) , siendo α = p y β = ∧ q . La cadena β no es una fórmula. Si aplicamos descomposición con la regla de ∧ , ( p → ∧ q ) = (α ∧ β) , siendo α = p → y β = q . Ahora la cadena α no es una fórmula.
Sintaxis y semántica 31
1.32.
En la valoración v para = { p, q , r } tal que v( p) = 1, v(q ) = 0 y v(r ) = 1, calcula el valor veritativo de las fórmulas siguientes: (a) p ∨ ¬ p (b) p ∧ ¬ p (c) p ↔ ¬¬ p (d) ( p → q ) → ( p ∨ q ) (e) p → ( q ↔ r ) (f) ( p ∨ q ) ∧ r → ( q ↔ p)
Solución: Todos estos problemas se pueden resolver de dos maneras distintas. En el primer método, aplicamos la definición recursiva de [[ ϕ ]]v, sabiendo que v ( p) = 1, v (q ) = 0 y v(r ) = 1. (a) Para la fórmula p ∨ ¬ p obtenemos: [[ p ∨ ¬ p]]v = v ∨ ([[ p]]v, [[¬ p]]v ) = v ∨ (v( p ), v¬ (v( p ))) = v ∨ (1, v¬ (1)) = v ∨ (1, 0) = 1 .
(b) Para la fórmula p ∧ ¬ p obtenemos: [[ p ∧ ¬ p]]v = v ∧ ([[ p]]v, [[¬ p]]v ) = v ∧ (v( p ), v¬ (v( p ))) = v ∧ (1, v¬ (1)) = v ∧ (1, 0) = 0 .
(c) Para la fórmula p ↔
¬¬ p obtenemos:
[[ p ↔
¬¬ p ]]v = v ↔ ([[ p ]]v , [[¬¬ p ]]v ) = v ↔ (v( p ), v¬ ([[¬ p ]]v )) = v ↔ (1, v¬ (v¬ (v( p )))) = v ↔ (1, v¬ (v¬ (1))) = v ↔ (1, v¬ (0)) = v ↔ (1, 1) = 1 .
(d) Para la fórmula ( p → q ) → ( p ∨ q ) obtenemos: [[( p → q ) → ( p ∨ q )]]v = v → ([[( p → q )]]v, [[( p ∨ q )]]v) = v → (v→ ([[ p ]]v, [[q ]]v ), v∨ ([[ p ]]v, [[q ]]v )) = v → (v→ (v( p ), v(q )), v∨(v( p ), v(q ))) = v → (v→ (1, 0), v∨ (1, 0)) = v → (0, 1) = 1 .
32 Lógica Matemática para Informáticos (e) Para la fórmula p → ( q
↔ r ) obtenemos:
[[ p → ( q
↔ r )]]v = v → ([[ p ]]v , [[q ↔ r ]]v ) = v → (v( p ), v↔ ([[q ]]v, [[r ]]v )) = v → (1, v↔ (v(q ), v(r ))) = v → (1, v↔ (0, 1)) = v → (1, 0) = 0 .
(f) Para la fórmula ( p ∨ q ) ∧ r → ( q
↔ p ) obtenemos:
↔ p )]]v = v → ([[( p ∨ q ) ∧ r ]]v , [[q ↔ p ]]v )
[[( p ∨ q ) ∧ r → ( q
= v → (v∧ [[( p ∨ q )]]v , [[r ]]v ), v↔ ([[q ]]v , [[ p ]]v )) = v → (v∧ (v∨ ([[ p ]]v, [[q ]]v ), [[r ]]v ), v↔ (v(q ), v( p )))) = v → (v∧ (v∨ (v( p ), v(q )), v(r )), v↔ (0, 1)) = v → (v∧ (v∨ (1, 0), 1), 0) = v → (v∧ (1, 1), 0) = v → (1, 0) = 0 .
En el segundo método usamos una tabla para calcular el valor veritativo de cada fórmula para la valoración v( p) = 1, v (q ) = 0 y v (r ) = 1. Calculamos el valor veritativo de las fórmulas p ∨ ¬ p, p ∧ ¬ p y p ↔ ¬¬ p, en las que solo aparece el símbolo de proposición p. p
¬ p
¬¬ p
p ∨ ¬ p
p ∧ ¬ p
p ↔ ¬¬ p
1
0
1
1
0
1
Calculamos el valor veritativo de las fórmulas ( p → q ) → ( p ∨ q ) y p → ( q p
q
r
p → q
p∨q
( p → q ) → ( p ∨ q )
q ↔r
p → ( q ↔ r )
1
0
1
0
1
1
0
0
Calculamos el valor veritativo de la fórmula ( p ∨ q ) ∧ r → ( q
1.33.
↔ r ):
↔ p ):
p
q
r
p∨q
( p ∨ q ) ∧ r
q↔ p
( p ∨ q ) ∧ r → ( q ↔ p )
1
0
1
1
1
0
0
Estudia mediante una tabla veritativa si los conjuntos de fórmulas indicados a continuación son satisfactibles o insatisfactibles. (a) { p → q , ¬q } (b) { p → q , ¬q ∨ r , p ∧ ¬r } (c) { p ∨ q → r , ¬((¬ p ∧ ¬q ) ∨ r )}
Solución: Para que un conjunto de fórmulas sea satisfactible hemos de encontrar una valoración que haga que todas las fórmulas del conjunto tengan valor veritativo 1. (a) Para el conjunto { p → q ,
¬q } construimos la tabla veritativa de todas sus fórmulas:
36 Lógica Matemática para Informáticos 1.35.
Se dice que dos valoraciones v1 y v 2 coinciden sobre una fórmula ϕ ∈ L si y solo si v 1 ( p) = v 2 ( p) para cualquier p ∈ voc (ϕ) (véase el ejercicio 1.19 para la definición del vocabulario de una fórmula). Demuestra por inducción sobre la estructura de ϕ que si v 1 y v 2 coinciden sobre ϕ , entonces [[ ϕ ]]v1 = [[ϕ ]]v2 . Este resultado se conoce como lema de coincidencia .
Solución: Como se pide en el enunciado, realizamos la demostración del lema de coincidencia por inducción sobre la estructura de ϕ .
Casos base: (⊥) [[⊥]]v1 = 0 = [[⊥]]v2 . (⊤) [[⊤]]v1 = 1 = [[⊤]]v2 . () [[ p ]]v1 = v1 ( p ) = v2 ( p ) = [[ p ]]v2 , porque suponemos que las valoraciones v 1 y v 2 coinciden sobre los símbolos de proposición de la fórmula en cuestión. Pasos inductivos: (¬) ϕ = ¬ϕ1 y suponemos como hipótesis de inducción que [[ ϕ1 ]]v1 = [[ϕ1 ]]v2 ; entonces, [[¬ϕ ]]v1
= v ¬ ([[ϕ ]]v1 ) = v ¬ ([[ϕ ]]v2 ) = [[¬ϕ ]]v2 .
() ϕ = (ϕ 1 ϕ2 ) y suponemos como hipótesis [[ϕ2]]v1 = [[ϕ2 ]]v2 ; entonces,
[[(ϕ1 ϕ2 )]]v1
1.36.
de inducción que [[ ϕ1 ]]v1
= [[ϕ1 ]]v2
y también que
= v ([[ϕ1 ]]v1 , [[ϕ2 ]]v1 ) = v ([[ϕ1 ]]v2 , [[ϕ2 ]]v2 ) = [[(ϕ1 ϕ2 )]]v2 .
Dadas las fórmulas proposicionales ϕ1 , . . . , ϕ n−1 , ϕn ∈ L y una valoración v, demuestra por inducción sobre n ≥ 2 que (a) v | ϕ 1 ∧ . . . ∧ ϕn−1 ∧ ϕn ⇐⇒ v | ϕ i para todo i ∈ {1, . . . , n − 1, n }. (b) v | ϕ 1 ∨ . . . ∨ ϕn−1 ∨ ϕn ⇐⇒ v | ϕ i para algún i ∈ {1, . . . , n − 1, n }.
Solución: (a) Recordemos en primer lugar que por convenio la conectiva binaria ∧ de conjunción asocia a la derecha. Esto quiere decir que la fórmula abreviada ϕ1 ∧ . . . ∧ ϕn−1 ∧ ϕn corresponde a la fórmula no abreviada (ϕ 1 ∧ ( . . . ∧ (ϕn−1 ∧ ϕn ) . . . ), en la que las fórmulas se “emparejan” empezando por la derecha. Demostramos la propiedad por inducción sobre n . Caso base: Si n = 2, por la tabla veritativa v∧ de la conjunción, tenemos que v | (ϕ 1 ∧ ϕ2 ) ⇐⇒ ⇐⇒ ⇐⇒ ⇐⇒
1 = [[(ϕ1 ∧ ϕ2 )]]v = v ∧ ([[ϕ1 ]]v, [[ϕ2 ]]v ) [[ϕ1]]v = 1 y [[ ϕ2]]v = 1 v | ϕ 1 y v | ϕ 2 v | ϕ i para todo i ∈ {1, 2}.
Paso inductivo: Suponemos que la propiedad es cierta cuando tenemos k fórmulas y consideramos k + 1 fórmulas ϕ 1 , . . . , ϕk +1 . Entonces, como hemos visto en el caso base para dos fórmulas, se cumple que v | (ϕ 1 ∧ (ϕ2 ∧ . . . ∧ ϕk +1 )) si y solo si v | ϕ 1 y v | ϕ 2 ∧ . . . ∧ ϕk +1 . Por la hipótesis de inducción, ya que en ϕ 2 ∧ . . . ∧ ϕk +1 tenemos k fórmulas, la segunda parte es equivalente a v | ϕi para todo i ∈ {2, . . . , k + 1}. Teniendo en cuenta la primera parte de nuevo, tenemos que v | ϕ 1 ∧ ϕ2 ∧ . . . ∧ ϕk +1 si y solo si v | ϕ i para todo i ∈ {1, . . . , k + 1}, como se quería demostrar.
Sintaxis y semántica 37
(b) Igual que la conectiva de conjunción, la conectiva binaria ∨ de disyunción también asocia a la derecha, por lo que la fórmula abreviada ϕ1 ∨ . . . ∨ ϕn−1 ∨ ϕn corresponde a la fórmula no abreviada (ϕ1 ∨ ( . . . ∨ (ϕn−1 ∨ ϕn ) . . . ), en la que las fórmulas se “emparejan” empezando por la derecha. Demostramos la propiedad por inducción sobre n . Caso base: Si n = 2, por la tabla veritativa v∨ de la disyunción, tenemos que v | (ϕ 1 ∨ ϕ2 ) ⇐⇒ ⇐⇒ ⇐⇒ ⇐⇒
1 = [[(ϕ1 ∨ ϕ2 )]]v = v ∨ ([[ϕ1 ]]v, [[ϕ2 ]]v ) [[ϕ1]]v = 1 o [[ ϕ2]]v = 1 v | ϕ 1 o v | ϕ 2 v | ϕ i para algún i ∈ {1, 2}.
Paso inductivo: Suponemos que la propiedad es cierta cuando tenemos k fórmulas y consideramos k + 1 fórmulas ϕ 1 , . . . , ϕk +1 . Entonces, como hemos visto en el caso base para dos fórmulas, se cumple que v | (ϕ 1 ∨ (ϕ2 ∨ . . . ∨ ϕk +1 )) si y solo si v | ϕ 1 o v | ϕ 2 ∨ . . . ∨ ϕk +1 . Por la hipótesis de inducción, ya que en ϕ 2 ∨ . . . ∨ ϕk +1 tenemos k fórmulas, la segunda parte es equivalente a v | ϕ i para algún i ∈ {2, . . . , k + 1}. Teniendo en cuenta la primera parte de nuevo, tenemos que v | ϕ 1 ∨ ϕ2 ∨ . . . ∨ ϕk +1 si y solo si v | ϕ i para algún i ∈ {1, . . . , k + 1}, como se quería demostrar. Teniendo en cuenta los resultados demostrados en este ejercicio, podemos construir tablas veritativas para fórmulas que tenganla conjunción o la disyunción de varias fórmulas de forma más directa, sin necesidad de considerar columnas para subfórmulas formadas por conjunciones o disyunciones de algunas de las fórmulas involucradas. Por ejemplo, el valor veritativo de p ∧ (q → r ) ∧ ¬s se obtiene directamente a partir de los valores veritativos de p, q → r y ¬s , sin necesidad de pasar por el valor veritativo de (q → r ) ∧ ¬s .
A, σ
| ϕ
CAPÍTULO
FORMALIZACIÓN. TÉCNICAS DE RAZONAMIENTO
2
2.1. TAUTOLOGÍAS, CONTRADICCIONES Y CONTINGENCIAS Clasificamos a continuación las fórmulas proposicionales teniendo en cuenta las valoraciones que las satisfacen. Una fórmula ϕ es una tautología si v | ϕ para toda valoración v. Una fórmula ϕ es una contradicción si v | ϕ para toda valoración v. Una fórmula ϕ es una contingencia si existen dos valoraciones distintas v1 y v 2 tales que v1 ϕ. v2 |
| ϕ y
Un método efectivo para saber si una fórmula dada ϕ ∈ L es una tautología, una contradicción o una contingencia es construir la tabla veritativa de ϕ . Si una fórmula es una tautología, cualquier caso particular suyo, obtenido a base de reemplazar las apariciones de símbolos de proposición por fórmulas, es también una tautología. Por ejemplo, como p ∧ q → p es una tautología, también lo es ϕ ∧ ψ → ϕ para fórmulas cualesquiera ϕ, ψ ∈ L . Una fórmula proposicional ϕ es una contradicción si y solo si ¬ϕ es una tautología, y viceversa. De esta forma, cualquier caso particular de una contradicción también es una contradicción. Para un conjunto finito de fórmulas = {ϕ1 , . . . , ϕn }, tenemos que es insatisfactible si y solo si la fórmula ϕ1 ∧ . . . ∧ ϕn es una contradicción.
2.2. CONSECUENCIA LÓGICA Dados ⊆ L (conjunto de premisas) y ψ ∈ L (conclusión), decimos que ψ es consecuencia lógica de y lo escribimos como | ψ cuando, para toda valoración v, si v | entonces v | ψ , es decir, todas las valoraciones que hacen ciertas las premisas también hacen cierta la conclusión. Notemos que se usa el mismo símbolo ‘ |’ para representar por un lado la relación de consecuencia lógica que acabamos de definir y por otro lado la relación de satisfacción entre una valoración y una fórmula o un conjunto de fórmulas definida en la sección 1.2. No deben confundirse ambos usos, distinguiendo ambos según se tenga a la izquierda del símbolo ‘ |’ o bien fórmulas o bien una valoración. Cuando es un conjunto finito de fórmulas {ϕ1 , . . . , ϕn }, omitimos las llaves de la notación de conjuntos, escribiendo ϕ1 , . . . , ϕn | ψ en lugar de {ϕ1, . . . , ϕn } | ψ . Asimismo, cuando es el conjunto vacío de fórmulas, abreviamos ∅ | ψ como | ψ . Como cualquier valoración satisface el
40 Lógica Matemática para Informáticos conjunto vacío de fórmulas, tenemos en esta situación que ψ es satisfecha por todas las valoraciones, es decir, | ψ si y solo si ψ es una tautología. Si es insatisfactible, no se puede encontrar ninguna valoración v que satisfaga , y entonces se tiene | ψ para cualquier fórmula ψ . Intuitivamente, a partir de premisas contradictorias se puede deducir cualquier conclusión. Aparte de aplicar directamente la definición comprobando la satisfacción de valoraciones mediante tablas veritativas, los siguientes resultados proporcionan otros métodos para comprobar que una fórmula es consecuencia lógica de otras.
Teorema de deducción Sean ⊆ L y ψ , ϕ , ϕ1 , . . . , ϕn
∈ L . Entonces,
| ϕ → ψ ⇐⇒ ∪ {ϕ} | ψ . | ϕ 1 ∧ . . . ∧ ϕn → ψ ⇐⇒ ∪ {ϕ1 , . . . , ϕn } | ψ . ϕ1 , . . . , ϕn | ψ ⇐⇒ | ϕ 1 ∧ . . . ∧ ϕn → ψ ⇐⇒ ϕ1 ∧ . . . ∧ ϕn → ψ es una tautología.
El último punto vuelve a relacionar entre sí los conceptos de consecuencia lógica y tautología.
Reducción al absurdo Sean ⊆ L y ψ, ϕ1 , . . . , ϕn
∈ L . Entonces,
| ψ ⇐⇒ ∪ {¬ψ} es insatisfactible.
En particular, para un conjunto finito de fórmulas =
{ϕ1 , . . . , ϕn } tenemos
ϕ1 , . . . , ϕn | ψ ⇐⇒ {ϕ1 , . . . , ϕ n , ¬ψ} es insatisfactible ⇐⇒ ϕ1 ∧ . . . ∧ ϕn ∧ ¬ψ es una contradicción.
En el caso de que esto no se verifique, existirá alguna valoración v tal que v | ϕ 1 ∧ . . . ∧ ϕn ∧ ¬ψ . Una valoración así se llama valoración contraejemplo, y prueba que ψ no es consecuencia lógica de {ϕ1 , . . . , ϕn }.
2.3. FORMALIZACIÓN DE ENUNCIADOS EN LÓGICA PROPOSICIONAL El lenguaje formal de la lógica proposicional resulta de un análisis muy simple del lenguaje natural, basado dicho análisis en la distinción entre dos clases de enunciados:
Enunciados atómicos, que no se pueden descomponer en otros más simples. Los formalizaremos con las letras p, q , r , etc., que son los símbolos proposicionales de . Enunciados compuestos, que se construyen combinando otros enunciados más simples. Los formalizaremos usando las conectivas unarias y binarias previamente descritas. ¬ La negación de un enunciado es siempre un enunciado. En castellano se expresa con la partícula no. ∧ La conjunción de dos enunciados es siempre un enunciado. En castellano se expresa con las partículas y, pero, aunque, etc. Obsérveseque la formalización pierde connotaciones que algunas de estas partículas pueden tener en el lenguaje natural como, por ejemplo, la idea de contraposición. ∨ La disyunción de dos enunciados es siempre un enunciado. En castellano se expresa con la partícula o, pero notemos que el significado de la disyunción es inclusivo, de forma que ambos enunciados pueden ser ciertos; si este caso se quiere evitar, hay que hacerlo explícitamente.
Formalización. Técnicas de razonamiento 41 → La implicación de dos enunciados es siempre un enunciado. En castellano ϕ 1 → ϕ2 se puede expresar de las siguientes maneras: si ϕ 1 entonces ϕ 2 ; ϕ 2 si ϕ1 ; ϕ 2 siempre que ϕ 1 ; ϕ 1 solo si ϕ 2 . ↔
La biimplicación entre dos enunciados es siempre un enunciado. En castellano se expresa con la partícula si y solo si .
Por lo tanto, dado un enunciado en castellano, la tarea de formalización consiste en intentar descomponer el texto utizando las partículas que describen a las conectivas y el proceso solo termina cuando obtenemos los enunciados atómicos contenidos en el enunciado.
2.4. FORMALIZACIÓN Y VALIDEZ DE RAZONAMIENTOS Una argumentación o razonamiento en lenguaje natural consiste en varios enunciados (que se llaman las premisas) a partir de los cuales se pretende llegar a otro enunciado (llamado la conclusión). Un razonamientoes válido cuando, siempre que sean ciertas las premisas, también es cierta la conclusión. En otras palabras, no se puede concebir ninguna situación en la que las premisas sean ciertas y la conclusión sea falsa simultáneamente. Si cada enunciado en una argumentación se formaliza como una fórmula en lógica proposicional, tal como se ha indicado en el apartado anterior, obtenemos un conjunto de fórmulas = {ϕ1 , . . . , ϕn } correspondientes a las premisas del razonamiento y una fórmula ψ correspondiente a la conclusión. Entonces, ver si la argumentación es válida equivale a ver si siempre que sean ciertas las fórmulas en también lo es ψ , es decir, a comprobar que ψ es consecuencia lógica de . De esta forma, el concepto de argumentación válida en lenguaje natural queda reflejado en el concepto matemático de consecuencia lógica. Para ilustrar estas ideas, así como la notación empleada para representar argumentaciones, consideremos el siguiente razonamiento que bien podría aparecer en alguna novela rusa del siglo XIX:
∴
Si Dios no existe y todo está permitido, entonces vamos inexorablemente hacia el caos. Dios no existe. No vamos hacia el caos. No todo está permitido.
Utilizando el método de descomposición de los enunciados propuesto en el apartado anterior, vemos que conviene utilizar los símbolos de proposición p para representar el enunciado “Dios existe”, q para representar el enunciado “Todo está permitido”, r para
representar el enunciado “Vamos hacia el caos”.
Entonces llegamos a la siguiente formalización de la argumentación:
∴
(¬ p ∧ q ) → r ¬ p ¬r ¬q
En resumen, la argumentación es válida si y solo si (¬ p ∧ q ) → r , ¬ p, ¬r | ¬q . Para comprobar esto podemos usar varios métodos a nuestra disposición: la propia definición de consecuencia lógica, tablas veritativas, reducción al absurdo son algunas técnicas que ya hemos comentado; en los siguientes capítulos veremos otras técnicas. En este ejemplo concreto, se puede demostrar usando cualquiera de esos métodos que en efecto el razonamiento es válido.
42 Lógica Matemática para Informáticos Notemos que la validez de la argumentación no obliga a afirmar la conclusión (ni tampoco las premisas). Se trata de una forma de razonar hipotética o condicional. La validez lógica de una argumentación solo nos obliga a aceptar como verdadera su conclusión si aceptamos como verdaderas todas sus premisas. De forma equivalente, la validez de la argumentación obliga a quienquiera que niegue la conclusión a negar alguna de las premisas.
2.5. PREGUNTAS DE TEST RESUELTAS 2.1.
La fórmula proposicional ϕ (a) tautología
= p → ¬ p es una:
(b) contradicción
(c) contingencia
Solución: Un método efectivo para decidir la respuesta correcta es la construcción de la tabla veritativa de ϕ . p
¬ p
p → ¬ p
0 1
1 0
1 0
Como para una de las dos valoraciones posibles del único símbolo de proposición, p, que aparece en ϕ el valor veritativo obtenido para ϕ es 0 y para la otra valoración posible, la sombreada en la tabla anterior, por el contrario el valor veritativo obtenido para ϕ es 1, concluimos que ϕ es una contingencia, siendo (c) la respuesta correcta. Como las tres respuestas son mutuamente excluyentes entre sí, ni (a) ni (b) pueden ser correctas.
2.2.
La fórmula proposicional ϕ (a) tautología
= p ∧ ¬ p es una:
(b) contradicción
(c) contingencia
Solución: Un método efectivo para decidir la respuesta correcta es la construcción de la tabla veritativa de ϕ . p
¬ p
p ∧ ¬ p
0 1
1 0
0 0
Como las dos valoraciones posibles del único símbolo de proposición, p, que aparece en ϕ , dan el valor veritativo 0 para ϕ , concluimos que ϕ es una contradicción y (b) es la respuesta correcta. Como las tres respuestas son mutuamente excluyentes entre sí, ni (a) ni (c) pueden ser correctas.
2.3.
La fórmula proposicional ϕ (a) tautología
= p ∨ ¬ p es una:
(b) contradicción
(c) contingencia
Formalización. Técnicas de razonamiento 43
Solución: Un método efectivo para decidir la respuesta correcta es la construcción de la tabla veritativa de ϕ . p
¬ p
p ∨ ¬ p
0 1
1 0
1 1
Puesto que para las dos valoraciones posibles del único símbolo de proposición, p, que aparece en ϕ , el valor veritativo obtenido para ϕ es 1, concluimos que ϕ es una tautología y (a) es la respuesta correcta. Como las tres respuestas son mutuamente excluyentes entre sí, ni (b) ni (c) pueden ser correctas.
2.4.
La fórmula proposicional ϕ (a) tautología
= p ↔ ¬ p es una:
(b) contradicción
(c) contingencia
Solución: Un método efectivo para decidir la respuesta correcta es la construcción de la tabla veritativa de ϕ . p
¬ p
p ↔ ¬ p
0 1
1 0
0 0
Como para las dos valoraciones posibles del único símbolo de proposición, p, que aparece en ϕ , el valor veritativo obtenido para ϕ es 0, concluimos que ϕ es una contradicción y (b) es la respuesta correcta. Como las tres respuestas son mutuamente excluyentes entre sí, ni (a) ni (c) pueden ser correctas.
2.5.
La fórmula proposicional ϕ (a) contradicción
= p → ( q → p ) es una:
(b) tautología
(c) contingencia
Solución: Un método efectivo para decidir la respuesta correcta es la construcción de la tabla veritativa de ϕ . p
q
q → p
ϕ
0 0 1 1
0 1 0 1
1 0 1 1
1 1 1 1
El valor veritativo obtenido para ϕ es 1 para las cuatro valoraciones posibles de los símbolos de proposición, p y q , que aparecen en ϕ ; por lo tanto, ϕ es una tautología y (b) es la respuesta correcta. Como las tres respuestas son mutuamente excluyentes entre sí, ni (a) ni (c) pueden ser correctas.
2.6.
La fórmula proposicional ϕ (a) tautología
= ( p ↔ q ) ∧ p ∧ ¬q es una:
(b) contradicción
(c) contingencia
Formalización. Técnicas de razonamiento 49
Solución: Para una valoración cualquiera v , sabemos que [[ ϕ1 ]]v valor veritativo de ϕ1 → ϕ 2:
= 0, por ser ϕ 1 contradicción, y calculamos el
[[ϕ1 → ϕ 2 ]]v = v → ([[ϕ1 ]]v, [[ϕ2]]v ) = v → (0, [[ϕ2]]v) = 1. Notemos que en la anterior cadena de igualdades no necesitamos saber cuánto vale [[ ϕ2]]v para llegar al resultado final. Por lo tanto, ϕ1 → ϕ 2 es también una tautología y (c) es la respuesta correcta. Como las tres respuestas son mutuamente excluyentes entre sí, ni (a) ni (b) son correctas.
2.20.
Si ϕ 1 es una tautología y ϕ2 es una contradicción, entonces ϕ1 ∨ ϕ2 es una: (a) contradicción (b) contingencia (c) tautología
Solución: Para una valoración cualquiera v, sabemos que [[ ϕ1]]v = 1, por ser ϕ1 tautología, y [[ ϕ2 ]]v = 0, por ser ϕ2 contradicción, y calculamos el valor veritativo de ϕ 1 ∨ ϕ2 : [[ϕ1 ∨ ϕ2 ]]v = v ∨ ([[ϕ1]]v , [[ϕ2]]v ) = v ∨ (1, 0) = 1. Por lo tanto, ϕ 1 ∨ ϕ2 es una tautología y (c) es la respuesta correcta. Como las tres respuestas son mutuamente excluyentes entre sí, ni (a) ni (b) son correctas.
2.21.
Si ϕ 1 y ϕ 2 son contradicciones, entonces ϕ1 ↔ ϕ 2 es una: (a) contradicción (b) contingencia
(c) tautología
Solución: Para una valoración cualquiera v, sabemos que [[ ϕ1 ]]v = 0 y [[ϕ2]]v = 0, por ser ϕ 1 y ϕ 2 contradicciones, y calculamos el valor veritativo de ϕ 1 ↔ ϕ 2: [[ϕ1 ↔ ϕ 2 ]]v = v ↔ ([[ϕ1 ]]v , [[ϕ2 ]]v ) = v ↔ (0, 0) = 1. Por lo tanto, ϕ 1 ∧ ϕ2 es una tautología y (c) es la respuesta correcta. Como las tres respuestas son mutuamente excluyentes entre sí, ni (a) ni (b) son correctas.
2.22.
Si ϕ 1 es una contradicción y ϕ 2 es una tautología, entonces (ϕ 1 → ⊥) → ϕ 2 es una: (a) contradicción (b) contingencia (c) tautología
56 Lógica Matemática para Informáticos Recíprocamente, si suponemos que ¬ϕ es una contingencia, deducimos por lo que acabamos de ver que ¬¬ϕ también lo es. Y entonces concluimos que ϕ es una contingencia porque es fácil probar que [[ϕ ]]v = [[¬¬ϕ ]]v para toda valoración v. (d) El enunciado es falso. Consideremos, como simple contraejemplo, las fórmulas ϕ Construimos la siguiente tabla veritativa: p
q
¬q
¬¬q
p ∧ ¬q
p ∧ ¬¬q
0 0 1 1
0 1 0 1
1 0 1 0
0 1 0 1
0 0 1 0
0 0 0 1
= p y ψ = q .
La tercera fila corresponde a una valoración que hace cierta la fórmula p ∧ ¬q , que, por lo tanto, no es una contradicción. Por reducción al absurdo tenemos entonces que p | q y se cumple la hipótesis del enunciado. De la misma forma la cuarta fila corresponde a una valoración que hace cierta la fórmula p ∧ ¬¬q , que tampoco es una contradicción. Por reducción al absurdo tenemos ahora que p | ¬q . Por consiguiente, no se cumple lo que afirma el enunciado.
2.29.
Dada una fórmula ϕ de la lógica proposicional, demuestra las tres propiedades siguientes: (a) ϕ es una tautología si y solo si para toda fórmula ψ se tiene ψ | ϕ . (b) ϕ es una contradicción si y solo si para toda fórmula ψ se tiene ϕ | ψ . (c) ϕ es una contingencia si y solo si hay una fórmula ψ1 de la que ϕ no es consecuencia lógica (es decir, ψ1 | ϕ ) y hay una fórmula ψ2 que no es consecuencia de ϕ (es decir, ϕ | ψ2 ).
Solución: (a) Supongamos que ϕ es una tautología y sea ψ una fórmula proposicionalcualquiera. Para comprobar que ψ | ϕ , sea v una valoración tal que [[ ψ ]]v = 1. Entonces en efecto se tiene [[ ϕ ]]v = 1, por la simple razón de que ϕ es una tautología. Recíprocamente, si ψ | ϕ para toda fórmula ψ , tomamos ψ = ⊤. Por la hipótesis, ⊤ | ϕ , por lo que toda valoración que hace cierta ⊤ también hace cierta ϕ . Ahora bien, [[ ⊤]]v = 1 para toda valoración v; por lo tanto, [[ ϕ ]]v = 1 para toda valoración v y concluimos que ϕ es una tautología. (b) Supongamos que ϕ es una contradicción y sea ψ una fórmula proposicional cualquiera. Para comprobar que ϕ | ψ , tenemos que ver que toda valoración que hace cierta la premisa ϕ también hace cierta la conclusión ψ . Ahora bien, como ϕ es una contradicción, no hay ninguna valoración que haga cierta la premisa, por lo que la definición se satisface “vacíamente”. Recíprocamente, si ϕ | ψ para toda fórmula ψ , tomamos ψ = ⊥. Por la hipótesis, ϕ | ⊥, por lo que toda valoración que hace cierta ϕ también hace cierta ⊥ . Ahora bien, [[ ⊥]]v = 0 para toda valoración v , por lo que no puede haber ninguna valoración que haga cierta ϕ , es decir, [[ϕ ]]v = 0 para toda valoración v y concluimos que ϕ es una contradicción. (c) Supongamos que ϕ es una contingencia; entonces ϕ no es una tautología ni una contradicción. Por las caracterizaciones demostradas en los apartados anteriores, existen fórmulas ψ 1 y ψ2 tales que ψ1 | ϕ y ϕ | ψ2 , respectivamente. Recíprocamente, supongamos que existen fórmulas ψ1 y ψ2 tales que ψ1 | ϕ y ϕ | ψ2 . De nuevo, por las caracterizaciones anteriores, obtenemos que ϕ no es una tautología ni una contradicción. Por lo tanto, existen por un lado valoraciones que hacen ϕ falsa y por otro lado valoraciones que hacen ϕ cierta, es decir, ϕ es una contingencia.
Formalización. Técnicas de razonamiento 57
2.30.
Para cada una de las siguientes afirmaciones, determina si es válida o no: (a) p → q | ¬q → ¬ p, (b) p → q | q , (c) p ∨ q → r , ¬r | ¬ p, (d) ( p → q ) → p | p.
Solución: Vamos a resolver este ejercicio de tres formas distintas. En primer lugar, en cada apartado vamos a aplicar directamente la definición de consecuencia lógica. (a) Como la conclusión es una fórmulacondicional, podemosaplicar el teorema de deducción, de forma que comprobamos si se cumple p → q , ¬q | ¬ p. Consideremos una valoración v cualquiera que satisfaga las premisas, es decir, [[ p → q ]]v = 1 y [[ ¬q ]]v = 1. Entonces, de [[ ¬q ]]v = 1 deducimos que [[q ]]v = 0. En estas condiciones, por la tabla v → de la implicación, para que [[ p → q ]]v = 1 necesariamente se tiene [[ p]]v = 0, de donde [[ ¬ p]]v = 1. Como todas las valoraciones que hacen ciertas las premisas también hacen cierta la conclusión, concluimos que ¬ p es consecuencia lógica de p → q y ¬q . (b) La valoración v tal que [[ p]]v = 0 y [[q ]]v = 0 hace que [[ p → q ]]v = 1, de forma que la premisa es cierta y la conclusión falsa. Por lo tanto, p → q | q. (c) Consideremos una valoración v cualquiera que satisfaga las premisas, es decir, [[ p ∨ q → r ]]v = 1 y [[¬r ]]v = 1. Entonces, de [[ ¬r ]]v = 1 deducimos que [[ r ]]v = 0. De aquí, por la tabla v → de la implicación, para que [[ p ∨ q → r ]]v = 1 necesariamente se tiene [[ p ∨ q ]]v = 0. Ahora, por la tabla v ∨ de la disyunción, deducimos que [[ p]]v = 0 y [[ q ]]v = 0. Finalmente, podemos concluir que [[¬ p ]]v = 1. Resumiendo, todas las valoraciones que hacen ciertas las premisas también hacen cierta la conclusión, por lo que ¬ p es consecuencia lógica de p ∨ q → r y ¬r . (d) Sea v una valoracióntal que [[ ( p → q ) → p]]v = 1. Queremos deducir que [[ p]]v = 1. Supongamos, por el contrario, que [[ p]]v = 0; entonces, por la tabla v → de la implicación, tenemos [[( p → q ) → p]]v = v → ([[ p → q ]]v, [[ p]]v) = v → (v→ ([[ p ]]v , [[q ]]v), [[ p ]]v ) = v → (v→ (0, [[q ]]v), 0) = v → (1, 0) = 0. Como esto es imposible, concluimos que necesariamente [[ p]]v cuencia lógica de ( p → q ) → p.
= 1. Por consiguiente, p es conse-
En segundo lugar, comprobamos para cada apartado si en efecto la conclusión es consecuencia lógica de las correspondientes premisas usando tablas veritativas y aplicando entonces la definición de consecuencia lógica. (a) Tabla veritativa para { p → q , ¬q
→ ¬ p }:
p
q
p → q
¬ p
¬q
¬q → ¬ p
0 0 1 1
0 1 0 1
1 1 0 1
1 1 0 0
1 0 1 0
1 1 0 1
Formalización. Técnicas de razonamiento 59
La última columna de esta tabla muestra claramente que la fórmula ( p ∨ q → r ) ∧ ¬r ∧ ¬¬ p es una contradicción y, por lo tanto, p ∨ q → r , ¬r | ¬ p. La ventaja de este método es que, a cambio de tener que añadir un par de columnas, basta con observar una única columna para tener directamente el resultado. En la mayoría de los ejercicios siguientes usaremos este método para validar argumentaciones.
2.31.
Demuestra las siguientes propiedades de la relación de consecuencia lógica, donde , conjuntos de fórmulas y ϕ , ψ , χ ∈ L son fórmulas. (a) Si | ϕ , entonces ∪ | ϕ . (b) Si ϕ ∈ , entonces | ϕ . (c) Si ∪ {ϕ} | ψ y | ϕ , entonces | ψ . (d) Si ϕ | ψ y ψ | χ , entonces ϕ | χ .
⊆ L
son
Solución: (a) Supongamos que se cumple | ϕ para demostrar ∪ | ϕ . Sea v una valoración tal que v | ∪ ; entonces, v | φ para toda fórmula φ ∈ ∪ . De aquí, deducimos en particular que v | φ para toda fórmula φ ∈ y, como | ϕ , concluimos v | ϕ . Así hemos demostrado que, en efecto, ∪ | ϕ . (b) Supongamos que ϕ ∈ para demostrar | ϕ . Sea v una valoración tal que v | ; entonces, v | φ para toda fórmula φ ∈ . De aquí, deducimos en particular que v | ϕ , porque sabemos que ϕ ∈ . Así hemos demostrado | ϕ , como queríamos. (c) Supongamos que se cumplen ∪ {ϕ} | ψ y | ϕ para demostrar | ψ . Sea v una valoración tal que v | . Por la segunda hipótesis, deducimos que v | ϕ y entonces v | ∪ {ϕ}. Ahora, aplicando la primera hipótesis, obtenemos v | ψ . Así hemos demostrado que, en efecto, | ψ . (d) Supongamos que se cumplen ϕ | ψ y ψ | χ para demostrar ϕ | χ . Sea v una valoración tal que v | ϕ . Por la primera hipótesis, deducimos que v | ψ . Por la segunda hipótesis, obtenemos ahora que v | χ . Así hemos demostrado ϕ | χ , como queríamos.
2.32.
Estudia si las afirmaciones que siguen son o no correctas, donde la notación , ϕ abrevia la unión de conjuntos de fórmulas ∪ {ϕ}. (a) Si , ϕ1 ∧ ϕ2 | ψ , entonces , ϕ1 | ψ y , ϕ2 | ψ . (b) Si , ϕ | ψ y , ϕ | ¬ψ , entonces | ¬ϕ . (c) Si , ϕ1 | ψ o , ϕ2 | ψ , entonces , ϕ1 ∧ ϕ2 | ψ . (d) Si | ψ 1 ∨ ψ2 , entonces | ψ 1 o | ψ 2 . (e) , ϕ1 ∨ ϕ2 | ψ si y solo si , ϕ1 | ψ y , ϕ2 | ψ . (f) Si | ψ 1 o | ψ 2 , entonces | ψ 1 ∨ ψ2 . (g) Si , ϕ1 ∧ ϕ2 | ψ , entonces , ϕ1 | ψ o , ϕ2 | ψ .
Solución: (a) La afirmación es incorrecta en general. Como simple contraejemplo, consideremos = ∅ y las fórmulas ϕ1 = p, ϕ2 = q y ψ = p ∧ q ; entonces es obvio que p ∧ q | p ∧ q mientras que es fácil comprobar que p | p ∧ q y q | p ∧ q.
60 Lógica Matemática para Informáticos (b) La afirmación es correcta.Supongamosque , ϕ | ψ y , ϕ | ¬ψ y vamos a demostrar | ¬ϕ . Para ello, sea v una valoración tal que v | . Si se tuviera v | ϕ , tendríamos asimismo v | , ϕ ; en tales condiciones, por la primera hipótesis se deduciría v | ψ , es decir, [[ ψ ]]v = 1, y por la segunda hipótesis se deduciría v | ¬ψ , es decir, [[ ¬ψ ]]v = 1. Esto daría lugar a la siguiente contradicción: 1 = [[¬ψ ]]v = v ¬ ([[ψ ]]v ) = v ¬ (1) = 0 . En consecuencia, no se puede tener v | ϕ y concluimos que v [[¬ϕ ]]v = 1 y v | ¬ϕ .
| ϕ , es decir, [[ ϕ ]]v = 0, de donde,
(c) La afirmación también es correcta. Supongamos que , ϕ1 | ψ o , ϕ2 | ψ y vamos a demostrar , ϕ1 ∧ ϕ2 | ψ . Para ello, sea v una valoración tal que v | , ϕ1 ∧ ϕ2 . Entonces v | ϕ 1 ∧ ϕ2 y de aquí, por la tabla v ∧ , v | ϕ1 y v | ϕ2 . En la hipótesis tenemos dos casos posibles; consideramos cada uno por separado. En el primero se tiene que , ϕ1 | ψ . Como sabemos que v | y v | ϕ1 , tenemos v | , ϕ1 y por la hipótesis de este caso se concluye v | ψ . En el segundo caso se concluye análogamente el mismo resultado. Como hemos llegado a la misma conclusión en ambos casos, se obtiene que, en efecto, v | ψ , como queríamos demostrar. (d) La afirmación es incorrecta en general. Como simple contraejemplo, consideremos = ∅ y las fórmulas ϕ1 = p y ϕ2 = ¬ p ; entonces, como p ∨ ¬ p es una tautología, tenemos | p ∨ ¬ p, mientras que es fácil comprobar que | p y | ¬ p . (e) La afirmación es correcta y refleja precisamente el razonamiento por distinción de casos. Al tratarse de una equivalencia, vamos a demostrar la afirmación en ambos sentidos. Supongamos primero que , ϕ1 ∨ ϕ2 | ψ y vamos a demostrar que , ϕ1 | ψ y , ϕ2 | ψ . Para ello, sea v una valoración tal que v | , ϕ1 ; entonces, v | ϕ 1 y, de aquí, v | ϕ 1 ∨ ϕ2 , por lo que v | , ϕ1 ∨ ϕ2 . Por la hipótesis, concluimos v | ψ . De forma completamente análoga obtenemos que si v | , ϕ2 entonces v | ψ . Recíprocamente, supongamos ahora que se cumple , ϕ1 | ψ y , ϕ2 | ψ y vamos a demostrar que , ϕ1 ∨ ϕ2 | ψ . Para ello, sea v una valoración tal que v | , ϕ1 ∨ ϕ2 . Entonces v | ϕ 1 ∨ ϕ2 y de aquí, por la tabla v ∨ , v | ϕ1 o v | ϕ2 . Consideramos cada caso por separado. Si v | ϕ1 , obtenemos v | , ϕ1 y, por la primera hipótesis, v | ψ . De la misma forma, si v | ϕ 2 también se concluye v | ψ . Como hemos llegado a la misma conclusión en ambos casos, se obtiene que, en efecto, v | ψ , como queríamos demostrar. (f) La afirmación también es correcta. Supongamos que | ψ1 o | ψ2 y vamos a demostrar | ψ1 ∨ ψ2 . Para ello, sea v una valoración tal que v | . En la hipótesis tenemos dos casos posibles; consideramos cada uno por separado. En el primero se tiene que | ψ 1 y, como sabemos que v | , obtenemos v | ψ 1 . Entonces, por la tabla v∨ concluimos v | ψ 1 ∨ ψ2 . En el segundo caso se tiene que | ψ2 y se concluye análogamente el mismo resultado. Como hemos llegado a la misma conclusión en ambos casos, se obtiene que, en efecto, v | ψ1 ∨ ψ2 , como queríamos demostrar. (g) La afirmación es incorrecta en general. Como simple contraejemplo, vale el mismo del apartado (a): p ∧ q y q | p ∧ q. p ∧ q | p ∧ q mientras que p |
2.33.
En todos los apartados de este ejercicio utilizamos la signatura p formaliza el enunciado “Zipi puede robar la tarta”, q formaliza el enunciado “Zape vigila la puerta”, r formaliza el enunciado “Don Pantuflo se descuida”.
= { p , q , r }, entendiendo que:
Formalización. Técnicas de razonamiento 65
2.36.
Dado el siguiente razonamiento:
∴
Si hay vida inteligente en Marte entonces, suponiendo que tuviera una forma que pudiéramos reconocer, ya deberíamos haberla descubierto. Si no hemos descubierto vida inteligente en Marte, debe ser porque tienen una forma que no podemos reconocer. De hecho, no hemos descubierto ninguna forma de vida inteligente en Marte. Por consiguiente, o no existen marcianos inteligentes, o existen pero en ese caso son muy distintos de nosotros.
(a) Define la signatura adecuada para construir razonadamente fórmulas proposicionales de L que formalicen los enunciados anteriores. (b) Usando la tabla veritativade las fórmulas que necesites deduce si la argumentación es o no válida.
Solución: (a) Para construir las fórmulas proposicionales que formalicen los enunciados del problema, necesitaremos aislar las conectivas que se utilizan en cada frase: 1. Si (hay vida inteligente en Marte) entonces, suponiendo que (tuviera una forma que pudiéramos reconocer) entonces (ya deberíamos haberla descubierto). 2. Si (no hemos descubierto vida inteligente en Marte), debe ser porque (tienen una forma que no podemos reconocer). 3. De hecho, (no hemos descubierto ninguna forma de vida inteligente en Marte). 4. Por consiguiente, o ( no existen marcianos inteligentes), o existen pero en ese caso (son muy distintos de nosotros). Hemos de darnos cuenta además de que la frase “son muy distintos de nosotros” quiere decir lo mismo que la frase “tienen una forma que no podemos reconocer”, que a su vez es la negación de la frase “podemos reconocer marcianos inteligentes”. Por lo tanto, suponemos que: p formaliza el enunciado “hay vida inteligente en Marte”. q formaliza el enunciado “la vida inteligente en Marte tiene una forma que no podemos reco-
nocer”. r formaliza el enunciado “se ha descubierto vida inteligente en Marte”. La signatura
= { p , q , r } nos sirve para realizar la formalización siguiente:
1. Si p entonces si q entonces r . 2. Si ¬r entonces ¬q . 3. ¬r . 4. Por consiguiente, o ¬ p o ( p ∧ ¬q ). Luego la argumentación tiene la siguiente forma:
∴
ϕ1 ϕ2 ϕ3 ψ
= = = =
p → ( q → r ) ¬r → ¬q ¬r ¬ p ∨ ( p ∧ ¬q )
(b) Aplicando el método de reducción al absurdo, vamos a construir la tabla veritativa de las tres premisas y la negación de la conclusión para demostrar que la fórmula χ = ϕ 1 ∧ ϕ2 ∧ ϕ3 ∧ ¬ψ es una contradicción y poder deducir que la argumentación es válida.
70 Lógica Matemática para Informáticos Solución: (a) Para construir las fórmulas proposicionales que formalizan los siguientes enunciados hemos de aislar las conectivas que se usan en cada frase: 1. (Los matrimonios podrían ser buenos) si (hubiera en ellos armonía y satisfacción sexual). 2. (Pero para que esto ocurriera) haría falta (una educación que favoreciera la sexualidad y una experiencia sexual prenupcial y una emancipación con respecto a la moral convencional). 3. Si (estos mismos factores “se dan”) significan al mismo tiempo (la condena de esta institución). 4. Luego en (los matrimonios no hay armonía y satisfacción sexual). Hemos de darnos cuenta además de que las frases: (que esto ocurriera) significa (hubiera en ellos armonía y satisfacción sexual). (estos mismos factores) significa (una educación que favoreciera la sexualidad, una experiencia sexual prenupcial y una emancipación con respecto a la moral convencional). significan al mismo tiempo significa lo mismo que implica que. (la condena de esta institución) significa (los matrimonios no pueden ser buenos). Por lo tanto, suponemos que: p formaliza el enunciado “los matrimonios pueden ser buenos”, q formaliza el enunciado “hay armonía y satisfacción sexual en los matrimonios”, r formaliza
el enunciado “se imparte una educación que favoreciera la sexualidad, una experiencia sexual prenupcial y una emancipación con respecto a la moral convencional”.
Notemos que en la segunda premisa aparece una “conjunción” de tres componentes que hemos representado como un único símbolo de proposición ( r ) en vez de usar tres símbolos de proposición para representar las tres componentes y luego usar la conectiva de conjunción para formalizar la segunda premisa. La razón es que esas tres componentes no salen nunca por separado en el razonamiento; vuelven a salir las tres juntas en la tercera premisa y por esa razón el símbolo de proposición r es usado de nuevo en la correspondiente fórmula. Sería igualmente correcto proceder de la otra forma, con más símbolos de proposición, pero la solución que proponemos es mucho más simple de cara a considerar todas las valoraciones posibles, o equivalentemente, a construir la tabla veritativa. El número de valoraciones, o filas en la tabla, se multiplica por dos cada vez que añadimos un símbolo de proposición, por lo que con 3 símbolos tenemos 8 filas, mientras que con 5 símbolos tendríamos 32 filas. Así pues, la signatura = { p, q , r } nos sirve para realizar la formalización siguiente: 1. p si q . 2. q haría falta r . 3. Si r implica que ¬ p. 4. ¬q . Luego la argumentación de Wilhelm Reich tiene la siguiente forma:
∴
ϕ1 ϕ2 ϕ3 ψ
= = = =
q→ p q → r r → ¬ p ¬q
(b) Vamos a escribir la tabla veritativa de las tres premisas y la negación de la conclusión para ver si la argumentación es válida, usando reducción al absurdo.
Formalización. Técnicas de razonamiento 73
2.42.
Dada la argumentación:
∴
Tres famosos políticos pronuncian un discurso en televisión. Podemos estar seguros de que si cualquiera de los tres miente, también lo hará alguno de los restantes. Por otra parte, es indudable que alguno de los tres será un mentiroso. Por consiguiente, podemos concluir que en el mejor de los casos uno solo de entre los tres es digno de crédito.
(a) Define la signatura adecuada para construir razonadamente fórmulas proposicionales de L que formalicen los enunciados anteriores. (b) Usando la tabla veritativade las fórmulas que necesites deduce si la argumentación es o no válida.
Solución: (a) Vamos a construir fórmulas que enuncien lo que sabemos por los datos del problema. Parece claro que para la formalización necesitaremos poder enunciar que nuestros tres protagonistas son mentirosos, es decir, necesitamos una signatura = { p, q , r } que signifique: p formaliza el enunciado “el primer político es mentiroso”, q formaliza el enunciado “el segundo político es mentiroso”, r formaliza el enunciado “el tercer político es mentiroso”.
El enunciado “podemos estar seguros de que si cualquiera de los tres miente, también lo hará alguno de los restantes” se formaliza con las tres fórmulas siguientes, pues se interpreta la frase anterior de la manera siguiente: Si el primer político miente entonces el segundo político miente o el tercer político miente, y análogamente para los otros dos políticos. ϕ1 = p → q ∨ r . ϕ2 = q → p ∨ r . ϕ3 = r → p ∨ q .
El enunciado “por otra parte, es indudable que alguno de los tres será un mentiroso” se formaliza con una única fórmula ϕ4 = p ∨ q ∨ r , ya que interpretamos la frase como o bien el primer político es un mentiroso o bien lo es el segundo político o bien lo es el tercero. Por último, la conclusión “por consiguiente, podemos concluir que en el mejor de los casos, uno solo de entre los tres es digno de crédito” es equivalente a “al menos dos de los políticos mienten” y se formaliza también con una sola fórmula ψ = ( p ∧ q ) ∨ ( p ∧ r ) ∨ (q ∧ r ), que expresa que o bien el primer y segundo políticos son mentirosos, o bien lo son el primero y tercero de los políticos, o bien lo son el segundo y el tercero. En resumen, la argumentación tiene la siguiente forma:
∴
ϕ1 ϕ2 ϕ3 ϕ4 ψ
= = = = =
p → q ∨ r q → p ∨ r r → p ∨ q p ∨ q ∨ r ( p ∧ q ) ∨ ( p ∧ r ) ∨ (q ∧ r )
(b) Vamos a escribir la tabla veritativa de las cuatro premisas y la negación de la conclusión para poder deducir por reducción al absurdo que la argumentación es válida, demostrando que la fórmula proposicional χ = ϕ 1 ∧ ϕ2 ∧ ϕ3 ∧ ϕ4 ∧ ¬ψ es una contradicción.
Formalización. Técnicas de razonamiento 77
(c) Como ya se ha comentado al final del apartado anterior, la valoración en la última fila de la tabla veritativa anterior, con v ( p) = 1, v(q ) = 1 y v(r ) = 1, hace ciertas las premisas y falsa la conclusión. (d) Tenemos que conseguir, usando la valoración de la última fila de la tabla, que haya una nueva premisa que dé lugar a que la argumentación no válida se transforme en válida. Observando esta valoración vemos que da el valor cierto simultáneamentea p , a q y a r , es decir, que afirma que “los tres lobos atacan a la vez”; por lo tanto, habría que poner como nueva premisa una fórmula que sea falsa para dicha valoración. Necesitamos la fórmula que afirme que “no atacan a la vez los tres lobos”, es decir, ϕ4 = ¬( p ∧q ∧r ) quetambién se corresponde con la frase “alguno de los tres lobos no ataca”. La valoración correspondiente a la última fila de la tabla veritativa no satisface ϕ4 y la única valoración que satisface simultáneamente a ϕ 1 , ϕ 2 , ϕ 3 y ϕ 4 es la correspondiente a la primera fila, que también satisface a ψ . Por consiguiente, ϕ1 , ϕ2 , ϕ3 , ϕ4 | ψ . Estas investigaciones etológicas se reconsiderarán en el ejercicio 4.24 utilizando el método de los tableaux.
2.45.
Considera la siguiente argumentación:
∴
Si Barrabás es enano, entonces también es paticorto o jorobado. Si Barrabás es paticorto, entonces no es feliz. Si Barrabás es feliz, entonces no es jorobado. Si Barrabás es enano, entonces no es feliz.
(a) Formaliza las premisas y la conclusión como fórmulas proposicionales del lenguaje L y, usando la tabla veritativa de las fórmulas que necesites, demuestra que la argumentación es válida. (b) Considera ahora otra argumentación con las mismas premisas que en el apartado anterior, pero donde la conclusión es ahora “Si Barrabás es enano, entonces no es jorobado”. Usando la tabla veritativa de las fórmulas que necesites, demuestra que esta argumentación no es válida y construye una valoración que sirva de contraejemplo.
Solución: (a) Para construir las fórmulas proposicionales que formalizan los siguientes enunciados hemos de aislar las conectivas que se usan en cada frase: 1. Si (Barrabás es enano) entonces [(también es paticorto) o (jorobado)]. 2. Si (Barrabás es paticorto) entonces (no es feliz). 3. Si (Barrabás es feliz) entonces (no es jorobado). 4. Si (Barrabás es enano) entonces (no es feliz). Por lo tanto, vamos a utilizar la signatura = { p, q , r , s }, entendiendo que: p formaliza el enunciado “Barrabás es enano”, q formaliza el enunciado “Barrabás es paticorto”, r formaliza el enunciado “Barrabás es jorobado”, s formaliza el enunciado “Barrabás es feliz”. Entonces la formalización será: 1. Si p entonces q ∨ r . 2. Si q entonces ¬s . 3. Si s entonces ¬r . 4. Si p entonces ¬s .
Formalización. Técnicas de razonamiento 79
Las dos filas sombreadas demuestran que esta argumentación no es válida puesto que para esas dos valoraciones, siendo ciertas las tres premisas, la conclusión por el contrario es falsa, es decir, ϕ1 , ϕ2 , ϕ3 | µ. Así pues, las dos valoraciones que sirven de contraejemplo a la validez de la argumentación son: v( p ) = 1, v (q ) = 0, v (r ) = 1 y v(s ) = 0. v( p ) = 1, v (q ) = 1, v (r ) = 1 y v(s ) = 0. Como ambas valoraciones solo se distinguen en el valor para q , que en una vale 0 y en la otra 1, esto podría caracterizarse diciendo que, con independenciadel valor en q , las valoraciones con v( p) = 1, v(r ) = 1 y v(s ) = 0 son los contraejemplos de la validez de la argumentación.
2.46.
Considera la siguiente argumentación:
∴
Si Romeo ama a Julieta y Julieta no le corresponde, entonces Romeo se suicida o Julieta se alegra. Si Romeo ama a Julieta, entonces Romeo no se suicida. Si Julieta se alegra, entonces Julieta corresponde a Romeo. Por consiguiente, Julieta corresponde a Romeo.
(a) Formaliza las premisas y la conclusión como fórmulas proposicionales de L . Utilizando la tabla veritativa de las fórmulas que necesites demuestra que la argumentación no es válida y encuentra una valoración que sirva de contraejemplo. (b) Utilizando la tabla veritativa de las fórmulas que necesites, demuestra ahora que la argumentación del apartado anterior sí sería válida si se mantuviesen las mismas premisas y se cambiase la conclusión por el enunciado “Si Romeo ama a Julieta entonces Julieta le corresponde”.
Solución: (a) Para construir las fórmulas proposicionales que formalizan los siguientes enunciados, hemos de aislar las conectivas que se usan en cada frase: 1. Si (Romeo ama a Julieta) y (Julieta no le corresponde), entonces (Romeo se suicida) o (Julieta se alegra). 2. Si (Romeo ama a Julieta), entonces (Romeo no se suicida). 3. Si (Julieta se alegra), entonces (Julieta corresponde a Romeo). 4. Por consiguiente, (Julieta corresponde a Romeo). Por lo tanto, vamos a utilizar la signatura = { p, q , r , s }, entendiendo que: p formaliza el enunciado “Romeo ama a Julieta”, q formaliza el enunciado “Julieta corresponde a Romeo”, r formaliza el enunciado “Romeo se suicida”, s formaliza el enunciado “Julieta se alegra”. Entonces la formalización será: 1. Si p ∧ ¬q entonces r ∨ s . 2. Si p entonces ¬r . 3. Si s entonces q . 4. q . La argumentación tiene la siguiente forma:
∴
ϕ1 ϕ2 ϕ3 ψ
= = = =
( p ∧ ¬q ) → ( r ∨ s ) p → ¬r s → q q
A, σ
| ϕ
CAPÍTULO
EQUIVALENCIA LÓGICA. LEYES BOOLEANAS
3
3.1. EQUIVALENCIA LÓGICA Y LEYES BOOLEANAS Se dice que dos fórmulas proposicionales ϕ y ψ son lógicamente equivalentes, y se escribe ϕ ∼ ψ , si se cumple [[ ϕ ]]v = [[ψ ]]v para toda valoración v , es decir, Mod (ϕ) = Mod (ψ ). Se escribe también ∼ ψ para indicar que ϕ y ψ no son lógicamente equivalentes. ϕ Con la definición anterior es fácil comprobar que, dadas ϕ y ψ , se tienen las siguientes equivalencias, que relacionan los conceptos de fórmulas lógicamente equivalentes, tautología y consecuencia lógica (usando el teorema de deducción en la tercera equivalencia): ϕ ∼ ψ ⇐⇒ | ϕ ↔ ψ ⇐⇒ | ϕ → ψ ⇐⇒ ϕ | ψ
También, ϕ es tautología si y solo si ϕ
y
y
| ψ → ϕ
ψ | ϕ .
∼ ⊤, y contradicción si y solo si ϕ ∼ ⊥.
La relación de equivalencia lógica es reflexiva, simétrica y transitiva. Además satisface la propiedad de reemplazamiento: si χ(ϕ) es una fórmula que contiene a la fórmula ϕ y ϕ ∼ ψ , entonces χ(ϕ) ∼ χ(ψ), siendo χ(ψ) el resultado de reemplazar una o varias apariciones de ϕ en χ por ψ . Una consecuencia de estos resultados es que se puede demostrar la equivalencia lógica de dos fórmulas encadenando equivalencias lógicas de subfórmulas.
Leyes algebraicas de Boole Son leyes de la equivalencia lógica, que guardan una analogía formal con las leyes a las que obedecen las operaciones entre subconjuntos de un conjunto dado X : L juega el papel de P ( X ), el conjunto de las partes de X . ⊤ desempeña el papel de X . ⊥ se comporta como el conjunto vacío. ¬ representa el papel de la operación “complementario”. ∧ representa el papel de la operación de intersección ∩. ∨ juega el papel de la operación de unión ∪.
Equivalencia lógica. Leyes booleanas 85
Un conjunto C de conectivas es funcionalmente completo si cualquier conectiva n -aria (n ≥ 1) es definible a partir de C . Por ejemplo, {¬, ∧, ∨}, {¬, ∧} y {↑} son conjuntos funcionalmente completos.
3.3. CÁLCULO DE FORMAS NORMALES De entre el conjunto de fórmulas equivalentes a una dada, tienen especial interés aquellas que se ajustan al siguiente patrón. Se denomina literal a cualquier fórmula de la forma p o ¬ p, donde p es un símbolo de proposición. Una cláusula conjuntiva (respectivamente, disyuntiva) es una conjunción (respectivamente, disyunción) de literales. Se tiene entonces: Una fórmulaestá en forma normal disyuntiva (FND) si es una disyunciónde cláusulas conjuntivas. Una fórmulaestá en forma normalconjuntiva (FNC) si es una conjunción de cláusulas disyuntivas. Por convenio, ⊥ representa una disyunción vacía y está, por lo tanto, en FND y ción también vacía y está en FNC.
⊤ representa una conjun-
Dada cualquier fórmula ϕ pueden construirse, utilizando solo símbolos del vocabulario de ϕ , fórmulas FND(ϕ) y F NC(ϕ) tales que F ND(ϕ) ∼ ϕ ∼ F NC(ϕ) , F ND(ϕ) está en FND y F NC(ϕ) está en FNC. Para construir F ND(ϕ) , si ϕ es una contradicción entonces F ND(ϕ) = ⊥. En caso contrario se construye a partir de cada modelo v de ϕ la fórmula ϕ v = λ 1 ∧ · · · ∧ λn , donde λi =
pi ¬ pi
si v ( pi ) = 1 si v ( pi ) = 0
y { p1 , . . . , p n } es el conjunto de símbolos de proposición que aparecen en ϕ . Por último, ϕv = ϕ v1 ∨ · · · ∨ ϕvm , donde v 1 , . . . , vm son todos los modelos de ϕ .
FND(ϕ) =
Para construir F NC(ϕ) , se hace uso de ϕ ∼ ¬FN D(¬ϕ) y se aplican las leyes de equivalencia de De Morgan y de la doble negación. Alternativamente, también se puede obtener F NC(ϕ) directamente: si ϕ es tautología, entonces F NC(ϕ) = ⊤. En caso contrario, a partir de cada valoración v que no sea modelo de ϕ se construye la fórmula ϕv = δ 1 ∨ · · · ∨ δn , donde δi =
¬ pi
pi
si v ( pi ) = 1 si v ( pi ) = 0
y { p1 , . . . , p n } es el conjunto de símbolos de proposición que aparecen en ϕ . Entonces, FN C(ϕ) = ϕv = ϕv1 ∧ · · · ∧ ϕ vm . En general, no hay una única manera de transformar una fórmula dada en otras equivalentes en FND y FNC.
Además de las leyes de equivalencia lógica que ya se han presentado, existen dos que resultan muy útiles para la simplificación de fórmulas que están en FND o FNC: ( Dis) (Con)
(ϕ ∧ ψ) ∨ (ϕ ∧ ¬ψ) ∼ ϕ, (ϕ ∨ ψ) ∧ (ϕ ∨ ¬ψ) ∼ ϕ.
3.4. PREGUNTAS DE TEST RESUELTAS 3.1.
La fórmula p → ( q (a) ( p → q ) → r
→ r ) es lógicamente equivalente a:
(b) ¬ p ∨ (r ∨ ¬q )
(c) Ninguna de las dos
86 Lógica Matemática para Informáticos Solución: Por la relación existente entre las conectivas ¬, ∨ y →, se tiene que p → ( q → r ) ∼ ¬ p ∨ (q → r ) ∼ ¬ p ∨ (¬q ∨ r ),
de donde se sigue, por la conmutatividad de ∨, que la respuesta (b) es correcta. Además, cualquier valoración v tal que v( p) = 0 y v(r ) = 0 cumple que [[ ( p → q ) → r ]]v = 0 = 1 = [[ p → ( q → r )]]v . Luego la respuesta (a) es incorrecta.
3.2.
Dada la fórmula proposicional ¬(( p → q ) → r ), su FND puede ser: (a) (¬ p ∧ ¬r ) ∨ (q ∧ ¬r ) (b) (¬ p ∨ q ) ∧ ¬r (c) ( p ∧ ¬q ) ∨ r
Solución: La opción (b) puede ser descartada inmediatamente porque no está en FND, sino en FNC. El valor veritativo de la fórmula de la opción (c), por su parte, es 1 en aquellas valoraciones que asignan el valor 1 a r , mientras que el valor veritativo de la fórmula del enunciado sería 0 en esos casos. La respuesta ha de ser entonces (a); veámoslo con más detalle: ¬(( p → q ) → r ) ∼ ( p → q ) ∧ ¬r ∼ (¬ p ∨ q ) ∧ ¬r ∼ (¬ p ∧ ¬r ) ∨ (q ∧ ¬r ).
La primera y segunda equivalencias se siguen de las leyes que relacionan la conectiva respectivamente, ¬ y ∨; la tercera se tiene por la ley de la distributividad.
3.3.
La fórmula proposicional (q (a) ¬q
→ con ¬ y ∧,
→ p ) → ¬(q ∨ p ) es lógicamente equivalente a:
(b) p
(c) ¬ p
Solución: En lugar de utilizar leyes de equivalencia lógica, vamos a resolver esta cuestión calculando los posibles valores veritativos de la fórmula mediante una tabla veritativa: p
q
q → p
q ∨ p
¬(q ∨ p )
(q → p ) → ¬(q ∨ p )
0 0 1 1
0 1 0 1
1 0 1 1
0 1 1 1
1 0 0 0
1 1 0 0
Por lo tanto, la fórmula es lógicamente equivalente a ¬ p y la respuesta correcta es la (c). Las otras dos respuestas corresponden a fórmulas no equivalentes a ¬ p y, por lo tanto, no pueden ser correctas.
3.4.
La fórmula proposicional ¬(( p → q ) ∨ ¬(¬ p ∨ q )) es lógicamente equivalente a: (a) ⊤ (b) ⊥ (c) ¬( p → q )
Equivalencia lógica. Leyes booleanas 87
Solución: Utilizando las leyes de equivalencia lógica se tiene: ¬(( p → q ) ∨ ¬(¬ p ∨ q )) ∼ ¬((¬ p ∨ q ) ∨ ¬(¬ p ∨ q )) ∼ ¬⊤ ∼ ⊥.
[leyes de relación entre conectivas] [tercio excluido] [ley de la negación]
Por lo tanto, la respuesta correcta es la (b). Las otras dos respuestas corresponden a fórmulas no equivalentes a ⊥ y, por lo tanto, no pueden ser correctas.
3.5.
Dada la fórmula proposicional ¬( p ↔ q ), su FND puede ser: (a) ( p ∧ ¬q ) ∨ (¬ p ∧ ¬q ) (b) ( p ∧ ¬q ) ∨ (¬ p ∧ q ) (c) ( p ∧ q ) ∨ (¬ p ∧ ¬q )
Solución: Este ejercicio se puede resolver de varias formas: calculando la FND de ¬( p ↔ q ) a través de una tabla veritativa, calculando la FND mediante las leyes de equivalencia lógica o utilizando una tabla veritativa para comprobar cuál de las fórmulas de los apartados (a), (b) y (c) es lógicamente equivalente a ¬( p ↔ q ). Otra alternativa es ver cuáles de las fórmulas de los apartados (a), (b) y (c) no son lógicamente equivalentes a ¬( p ↔ q ) y, por lo tanto, no pueden ser su FND, descartarlas y quedarnos con la que quede. Seguiremos este camino. Sea v una valoración tal que v( p) = v (q ) = 0. Se tiene entonces que: [[¬( p ↔ q )]]v = 0, [[( p ∧ ¬q ) ∨ (¬ p ∧ ¬q )]]v = 1, [[( p ∧ ¬q ) ∨ (¬ p ∧ q )]]v = 0, [[( p ∧ q ) ∨ (¬ p ∧ ¬q )]]v = 1. La única respuesta posible es así la (b). Para comprobar que efectivamente es correcta, construimos las correspondientes tablas veritativas y vemos que las filas son coincidentes.
3.6.
p
q
¬( p ↔ q )
p ∧ ¬q
¬ p ∧ q
( p ∧ ¬q ) ∨ (¬ p ∧ q )
0 0 1 1
0 1 0 1
0 1 1 0
0 0 1 0
0 1 0 0
0 1 1 0
Dada la fórmula proposicional ¬( p ↔ ¬q ), su FNC puede ser: (a) ( p ∨ q ) ∧ (¬ p ∨ ¬q ) (b) ( p ∨ ¬q ) ∧ (¬ p ∨ ¬q ) (c) ( p ∨ ¬q ) ∧ (¬ p ∨ q )
Solución: Al igual que en la solución del ejercicio anterior, vamos a resolver este ejercicio mostrando que las fórmulas (a) y (b) no son lógicamente equivalentes a ¬( p ↔ ¬q ) con lo que la FNC de esta solo puede ser (c). Para ello, sea v una valoración tal que v ( p) = v (q ) = 1.
Equivalencia lógica. Leyes booleanas 91
(c) Tabla veritativa de la fórmula ( p → q ) → p: p
q
p → q
( p → q ) → p
0 0 1 1
0 1 0 1
1 1 0 1
0 0 1 1
La fórmula ( p → q ) → p es una contingencia y tiene una tabla veritativa que es equivalente a la de la fórmula p, pues para los dos valores veritativos de q da el mismo resultado que coincide además con el valor veritativo de p. Así, ( p → q ) → p ∼ p. (d) Tabla veritativa de la fórmula p → ( q
La fórmula p → ( q
3.12.
→ p ):
p
q
q → p
p → ( q → p )
0 0 1 1
0 1 0 1
1 0 1 1
1 1 1 1
→ p ) es una tautología, como también lo es (( p → q ) → p ) → p .
Demuestra usando leyes de equivalencia lógica: (a) | (ϕ → ψ ) ↔ (¬ψ → ¬ϕ) (b) | (ϕ → ψ ) ∧ (ψ → χ ) → (ϕ → χ ) (c) | (ϕ → (ψ ∧ ¬ψ)) → ¬ϕ (d) | (ϕ → ¬ϕ) → ¬ϕ (e) | ϕ → ψ → (ϕ ∧ ψ) (f) | ((ϕ → ψ ) → ϕ ) → ϕ
Solución: (a) Para ver que esta fórmula es una tautología es suficiente con demostrar que ϕ son lógicamente equivalentes. ¬ψ → ¬ϕ ∼ ¬¬ψ ∨ ¬ϕ ∼ ψ ∨ ¬ϕ ∼ ¬ϕ ∨ ψ ∼ ϕ → ψ .
→ ψ y ¬ψ → ¬φ
[leyes de relación entre conectivas] [ley de la doble negación] [conmutatividad] [leyes de relación entre conectivas]
Hemos presentado este cálculo subrayando en cada paso la subfórmula a la que se ha aplicado una cierta ley de equivalencia. Usaremos esta misma notación para presentar las soluciones de otros ejercicios. (b) En este apartado y en los siguientes utilizaremos el hecho de que una fórmula es una tautología si y solo si es lógicamente equivalente a ⊤.
92 Lógica Matemática para Informáticos
(ϕ → ψ ) ∧ (ψ → χ ) → (ϕ → χ )
[leyes de relación entre conectivas] [leyes de relación entre conectivas]
∼ (¬ϕ ∨ ψ) ∧ (ψ → χ ) → (ϕ → χ ) ∼ (¬ϕ ∨ ψ) ∧ (¬ψ ∨ χ ) → (ϕ → χ )
[leyes de relación entre conectivas] [leyes de relación entre conectivas] [ley de De Morgan]
∼ (¬ϕ ∨ ψ) ∧ (¬ψ ∨ χ ) → (¬ϕ ∨ χ ) ∼ ¬(((¬ϕ ∨ ψ) ∧ (¬ψ ∨ χ)) ∧ ¬(¬ϕ ∨ χ )) ∼ ¬(((¬ϕ ∨ ψ) ∧ (¬ψ ∨ χ)) ∧ (¬¬ϕ ∧ ¬χ ))
[ley de la doble negación] [asociatividad]
∼ ¬(((¬ϕ ∨ ψ) ∧ (¬ψ ∨ χ)) ∧ (ϕ ∧ ¬χ ))
∼ ¬((¬ϕ ∨ ψ ) ∧ ((¬ψ ∨ χ) ∧ (ϕ ∧ ¬χ)))
[ley de la distributividad] [conmutatividad]
∼ ¬((¬ϕ ∨ ψ ) ∧ ((¬ψ ∧ (ϕ ∧ ¬χ )) ∨ (χ ∧ (ϕ ∧ ¬χ))))
∼ ¬((¬ϕ ∨ ψ ) ∧ ((¬ψ ∧ (ϕ ∧ ¬χ )) ∨ (χ ∧ (¬χ ∧ ϕ))))
∼ ¬((¬ϕ ∨ ψ ) ∧ ((¬ψ ∧ (ϕ ∧ ¬χ )) ∨ ((χ ∧ ¬χ ) ∧ ϕ)))
∼ ¬((¬ϕ ∨ ψ ) ∧ ((¬ψ ∧ (ϕ ∧ ¬χ )) ∨ (⊥ ∧ ϕ))) ∼ ¬((¬ϕ ∨ ψ ) ∧ ((¬ψ ∧ (ϕ ∧ ¬χ )) ∨ ⊥)) ∼ ¬((¬ϕ ∨ ψ ) ∧ (¬ψ ∧ (ϕ ∧ ¬χ)))
[ley de la distributividad] [asociatividad]
∼ ¬((¬ϕ ∧ (¬ψ ∧ (ϕ ∧ ¬χ))) ∨ (ψ ∧ (¬ψ ∧ (ϕ ∧ ¬χ)))) ∼ ¬((¬ϕ ∧ (¬ψ ∧ (ϕ ∧ ¬χ))) ∨ ((ψ ∧ ¬ψ) ∧ (ϕ ∧ ¬χ)))
∼ ¬((¬ϕ ∧ (¬ψ ∧ (ϕ ∧ ¬χ))) ∨ (⊥ ∧ (ϕ ∧ ¬χ))) ∼ ¬((¬ϕ ∧ (¬ψ ∧ (ϕ ∧ ¬χ))) ∨ ⊥)
∼ ¬(¬ϕ ∧ ((ϕ ∧ ¬ψ) ∧ ¬χ ))
[conmutatividad] [asociatividad] [asociatividad] [contradicción]
∼ ¬(¬ϕ ∧ (ϕ ∧ (¬ψ ∧ ¬χ))) ∼ ¬((¬ϕ ∧ ϕ) ∧ (¬ψ ∧ ¬χ ))
∼ ¬(⊥ ∧ (¬ψ ∧ ¬χ ))
[contradicción] [elemento nulo] [elemento neutro] [asociatividad]
∼ ¬(¬ϕ ∧ (¬ψ ∧ (ϕ ∧ ¬χ))) ∼ ¬(¬ϕ ∧ ((¬ψ ∧ ϕ) ∧ ¬χ ))
[asociatividad] [contradicción] [elemento nulo] [elemento neutro]
[elemento nulo] [ley de la negación]
∼ ¬⊥ ∼ ⊤.
Como puede apreciarse, la aplicación sistemática de las leyes de equivalencia lógica puede ser un proceso muy tedioso por lo que en los ejercicios que siguen se aplicarán varias leyes simultáneamente, especialmente la conmutatividad, asociatividad y distributividad de ∧ y ∨, y las leyes de contradicción, cuando resulte conveniente. (Nótese que, siendo estrictos, en algunos de los pasos anteriores correspondientes a las leyes de ⊥ y contradicción sería necesario haber aplicado antes la ley de conmutatividad.) (c) Veamos que la fórmula es lógicamente equivalente a ⊤: (ϕ → (ψ ∧ ¬ψ )) → ¬ϕ ∼ (ϕ → ⊥) → ¬ϕ ∼ ¬(ϕ → ⊥) ∨ ¬ϕ ∼ ¬¬ϕ ∨ ¬ϕ ∼ ⊤.
[contradicción]
[leyes de relación entre conectivas] [leyes de relación entre conectivas] [tercio excluido]