Logica Computacional/Fanjul Roberto
LÓGICA COMPUTACIONAL
INDICE
CAPITULO I - SINTAXIS DEL LENGUAJE FORMAL 1
1.- LOS ORÍGENES DE LA LÓGICA MATEMÁTICA 1
1.1.- LENGUAJE FORMAL (SINTAXIS Y SEMÁNTICA) 3
1.1.1.- ALGUNOS ARGUMENTOS LÓGICOS IMPORTANTES 6
1.2.- MATERIAL SIMBÓLICO O ALFABETO DEL LENGUAJE 8
1.2.1.- VARIABLES Y CONSTANTES PROPOSICIONALES 9
1.2.2.- CONECTORES PROPOSICIONALES 10
1.2.3.- SÍMBOLOS DE PUNTUACIÓN 11
1.2.4.- REGLAS DE PRIORIDAD 12
1.3.- CADENAS DE CARACTERES, LONGITUD, CONCATENACIÓN 12
1.4.- OCURRENCIA DE UNA CADENA, SUB CADENAS, REEMPLAZO,
SUBSTITUCIÓN 13
1.4.1.- NOCIÓN DE APARICIÓN (OCURRENCIA) 13
1.4.2.- REEMPLAZOS 14
1.4.3.- SUBSTITUCIÓN 14
1.4.4.- SUBSTITUCIÓN SIMULTANEA 14
1.5.- EL LENGUAJE DEL CALCULO DE PROPOSICIONES O CONJUNTO F DE
EXPRESIONES BIEN FORMADAS (EBF) 15
1.5.1.- REGLAS DE BUENA FORMACIÓN 15
1.5.2.- RAZONAMIENTO POR RECURRENCIA SOBRE LA FORMACIÓN DE LAS
EXPRESIONES 16
1.5.3.- NO AMBIGÜEDAD DEL LENGUAJE CONSTRUIDO 17
1.5.4.- DECIDIBILIDAD DEL CONJUNTO F DE LAS EXPRESIONES BIEN
FORMADAS 17
1.6.- SUB FÓRMULAS BIEN FORMADAS 18
1.7- CONVENCIONES PARA ABREVIAR LA ESCRITURA 19
1.8- OPERADORES O CONECTIVOS MONODIADICOS 19
1.9.- OPERADORES O CONECTIVOS DIÁDICOS 20
1.10.- OPERADORES O CONECTIVOS TRIÁDICOS 21
1.11.- PROBLEMAS CAPITULO 1 22
I
CAPITULO II - SEMANTICA DEL LENGUAJE FORMAL 26
2.1.- NOCIÓN GENERAL 26
2.2.- DEFINICIÓN ALGEBRAICA DE LA SEMÁNTICA DEL LENGUAJE
PROPOSICIONAL 26
2.2.1.- DISTRIBUCIÓN DE LOS VALORES DE VERDAD (D.D.V.V.) 26
2.2.2.- EVALUACIÓN DE LAS EBF 26
2.3.- TABLAS DE VERDAD 30
2.4.- DEFINICIÓN DE LOS CONECTIVOS LÓGICOS 32
2.4.1.- FORMULAS PROPOSICIONALES 35
2.4.2.- INTERPRETACIONES BOOLEANAS 37
2.5.- TAUTOLOGÍA, CONTRADICCIÓN E INDEFINIDOS 39
2.6.- SATISFACTORIO , VALIDEZ Y CONSECUENCIA 47
2.7.- LÓGICA TRIVALENTE (LUKASIEWICZ) 47
2.8.- NOCIÓN GENERAL DE SISTEMAS AXIOMÁTICOS 48
2.8.1.- PROPIEDADES DE LOS SISTEMAS AXIOMÁTICOS 49
2.9.- LA LÓGICA PROPOSICIONAL COMO UN SISTEMA AXIOMÁTICO 49
2.9.1.- SISTEMAS GENTZEN 50
2.9.2.- SISTEMA AXIOMÁTICO DE RUSSEL 51
2.9.3.- SISTEMA AXIOMÁTICO DE HILBERT 53
2.10.- PROBLEMAS CAPITULO 2 56
CAPITULO III - DECISION EN EL LENGUAJE FORMAL 61
3.1.- NOCIÓN GENERAL 61
3.2.- LA DECISIÓN POR LAS FORMAS NORMALES 61
3.2.1.- LA TRANSFORMACIÓN DE UNA EBF EN FORMA NORMAL 62
3.2.2.- INTERPRETACIÓN DE LAS FORMAS NORMALES Y DECISIÓN 64
3.3.- ENUNCIADOS Y FORMAS DE ENUNCIADOS 69
3.4.- EL RAZONAMIENTO 71
3.4.1.- FORMAS DE RAZONAMIENTO Y FORMAS DE ENUNCIADOS 74
3.4.2.- LA DECISIÓN EN EL RAZONAMIENTO 77
3.5.- LAS IMPLICACIONES Y DERIVACIONES LÓGICA 77
3.5.1- IMPLICACIONES LÓGICAS 78
3.5.2.- SISTEMAS PARA DERIVACIONES 80
3.5.3.- TEOREMA DE LA DEDUCCIÓN 81
3.6.- LA DECISIÓN POR CUADRO SEMÁNTICO 83
3.7.- LA DECISIÓN POR REDUCCIÓN AL ABSURDO 88
3.8.- PROBLEMAS CAPITULO II 94
II
CAPITULO IV - ALGEBRA DE BOOLE COMO UN SISTEMA
AXIOMÁTICO 98
4.1.- ÁLGEBRA DE BOOLE COMO UN SISTEMA AXIOMÁTICO 98
4.1.1.- CONCEPTO 98
4.1.2.- PRINCIPIO DE DUALIDAD EN EL ÁLGEBRA DE BOOLE 99
4.1.3.- TEOREMAS EN EL ÁLGEBRA DE BOOLE 99
4.1.4.- TABLAS DE VERDAD Y REPRESENTACIÓN CIRCUITAL 101
4.1.5.- LAS FUNCIONES EN EL ÁLGEBRA DE BOOLE Bn
102
4.1.6.- EXPRESIONES EN EL ÁLGEBRA DE BOOLE Bn
102
4.2.- IMPLEMENTACIÓN DE FUNCIONES BOOLEANAS 105
4.3.- MAPA DE KARNAUGH 111
4.4.- MÉTODO QUINE – MCCLUSKY 121
4.4.1.- ETAPAS EN LA MINIMIZACIÓN DE QUINE – MCCLUSKY 122
4.5.- PROBLEMAS CAPITULO IV 127
CAPITULO V - CALCULO DE PREDICADOS 134
5.1.- INTRODUCCIÓN 134
5.1.1.- REGLAS DE INFERENCIA 134
5.1.2.- LA LÓGICA TIENE NOTACIÓN TRADICIONAL 135
5.1.3.- CUANTIFICADORES DETERMINAN QUE ELEMENTOS SON CIERTOS 138
5.1.4.- VOCABULARIO DE LA LÓGICA DE PREDICADO 139
5.2.- ESTRUCTURA RELACIONAL DE UNA LÓGICA DE PREDICADO 141
5.2.1.- RELACIONES Y PREDICADOS 142
5.3.- SINTAXIS DE LENGUAJES DE PREDICADOS DE PRIMER ORDE 144
5.3.1.- FORMULAS DE PREDICADOS 147
5.4.- SEMÁNTICA DEL LENGUAJE DE PREDICADOS DE 1er ORDEN 150
5.4.1.- INTERPRETACIONES 150
5.4.2.- VALUACIONES (VALORIZACIÓN) 154
5.4.3.- VALORES SEMÁNTICOS/NOTACIONES 155
5.4.4.- CUMPLIMENTACIÓN DE FORMULAS 156
5.4.5.- VERDAD Y MODELOS 157
5.5.- EQUIVALENCIA LÓGICA Y SUBSTITUCIÓN 158
5.6.- CUADROS SEMÁNTICOS 163
5.7.- PROBLEMAS CAPITULO V 173
III
CAPITULO VI - FORMAS CLAUSALES 178
6.1.- DERIVACIÓN: Generalización y Particularización 178
6.1.1.- PARTICULARIZACIÓN UNIVERSAL 178
6.1.2.- GENERALIZACIÓN UNIVERSAL 180
6.1.3.- TEOREMA DE LA DEDUCCIÓN Y LA GENERALIZACIÓN UNIVERSAL 182
6.1.4.- ELIMINACIÓN DE LOS CUANTIFICADORES UNIVERSALES 183
6.1.5.- GENERALIZACIÓN EXISTENCIAL 186
6.1.6.- PARTICULARIZACIÓN EXISTENCIAL 188
6.2.- SISTEMA DE GENTZEN: PRUEBAS DEDUCTIVAS 190
6.3.- FORMAS CLAUSALES 197
6.3.1.- INTRODUCCIÓN 197
6.3.2.- FORMA NORMAL PRENEX 198
6.4.- MODELOS DE HERBRAND 203
6.5.- RESOLUCIÓN FUNDAMENTAL (GROUND) 208
6.6.- SUBSTITUCIÓN 209
6.7.- UNIFICACIÓN 210
6.8.- PROBLEMAS CAPITULO VI 211
6.9.- BIBLIOGRAFÍA RECOMENDADA 213
IV
Sintaxis del Lenguaje Formal
1
LÓGICA COMPUTACIONAL
CAPITULO I
SINTAXIS DEL LENGUAJE FORMAL
En nuestra práctica diaria, cuando platicamos, escuchamos una conversación,
vemos una película, leemos, etc., de acuerdo con lo que vemos u oímos, asentimos
afirmando o negando. Si estamos de acuerdo, lo vemos como Alógico@; si lo vemos
como algo absurdo o disparatado, expresamos con cierta molestia: ¡eso es Ailógico@ !.
Situación esta que nos lleva a formularnos las siguientes preguntas: )qué nos permite
considerar un hecho, proposición, idea como Alógico@ o Ailógico@
1.- LOS ORÍGENES DE LA LÓGICA MATEMÁTICA
El estudio de la lógica fue iniciado por los antiguos griegos cuyo sistema
educativo recalcaba la competencia en la filosofía y la retórica. La lógica fue utilizada
para formalizar la deducción, la derivación de nuevas declaraciones verdaderas a partir
de suposiciones. Dado un conjunto de premisas, presumiblemente aceptadas por todos,
la deducción de acuerdo a las reglas de la lógica, asegura que también la conclusión es
verdadera. La retórica, el arte del buen hablar en público, incluye el estudio de la lógica
que define las reglas que deben ser practicadas por todas las personas en todos lados
en un debate público.
Las reglas de la lógica fueron clasificadas y denominadas. Una de las más
famosas reglas de la lógica, el silogismo, se presenta de la siguiente forma:
1.- Todos los hombres son mortales.
2.- X es un hombre.
3.- Por lo tanto, X es un mortal.
Si suponemos que las premisas son verdaderas, las dos primeras oraciones, entonces
la Ley del Silogismo nos asegura que la tercera oración es verdadera indepen-
dientemente de la identidad de X. En particular si X es un hombre determinado tal como
Sócrates, podemos deducir que Sócrates es mortal.
El uso de una notación imprecisa, tal como lo es un lenguaje natural, significa
que el uso descuidado de la lógica puede llevarnos a declarar que ciertas declaraciones
falsas son verdaderas, o a declarar que una declaración o proposición es verdadera aún
cuando dicha afirmación de verdad no necesariamente dependa de las premisas. Un
ejemplo adecuado al anterior comentario, es el siguiente silogismo dado por Smullyan:
Sintaxis del Lenguaje Formal
2
1.- Algunos automóviles hacen ruido.
2.- Mi automóvil es algún automóvil.
3.- Por lo tanto, mi automóvil hace ruido.
Sin embargo, aún un cuidadoso uso de la lógica puede llevarnos a situaciones
inexplicables, tales como las denominadas paradojas, las que son declaraciones
auto-contradictorias. )Es la siguiente declaración S verdadera?.
Esta oración es falsa.
Si S es verdadera, entonces es cierto (verdadero) que la oración S es falsa. In-
versamente, si S es falsa, entonces es una oración verdadera. Paradojas, tal como la
Paradoja de Liar justamente nos muestra cuan difícil puede ser definir un sistema lógico.
El marco filosófico de la lógica construida por los Griegos permanece intacto
hasta nuestros días, lo que está demostrado a través del uso inalterable de las palabras
griegas teorema y axioma. Sin embargo, hasta el siglo XIX, la lógica nunca supero a sus
orígenes para convertirse en una herramienta científica, quizás debido a la falta de una
notación simbólica apropiada. Aún más, desafortunadamente la familiaridad con la
lógica no es más requerida en nuestro sistema educacional.
Los matemáticos eventualmente revivieron el estudio de la lógica para formalizar
el concepto de la demostración matemática. A medida de que las teorías matemáticas
se hicieron cada vez más complejas, algunos matemáticos cuestionaron la legitimidad
de todo el proceso deductivo. Una posible defensa de la deducción matemática es
formalizar un sistema de lógica en el cual el conjunto de probables declaraciones o
proposiciones es el mismo que el conjunto de las proposiciones verdaderas. En otras
palabras, (i) no podemos probar declaraciones falsas, y (ii) si una declaración o pro-
posición es un hecho verdadero, existe una demostración en algún lado esperando que
algún matemático brillante la descubra. La investigación estimulada por este plan,
denominado el Programa de Hilbert, dio como resultado un desarrollo, no justamente
como un sistema lógico de acuerdo a la filosofía griega, sino como un conjunto
extensivo de teoremas que caracterizan al sistema. La Lógica Matemática define
sistema de lógica apropiados para estudiar las matemáticas y desarrolla la teoría
matemática de estos sistemas. Incidentalmente, la esperanza de Hilbert fue destrozada
cuando Gödel demostró que existen declaraciones verdaderas de la aritmética que no
pueden ser probadas.
La Lógica tradicional distingue tres entidades lógicas de complejidad creciente:
el concepto, el juicio, el razonamiento. El concepto, como entidad ideal que
representa a una realidad cualquiera, nada nos dice de esa realidad, se limita a mos-
trarla. El concepto árbol, por ejemplo, cumple la función de aludir a la realidad árbol.
Pero no afirma o niega algo del árbol, no se le atribuye o rechaza un predicado cu-
alquiera. Esto último es precisamente lo que hace el juicio. Es decir vincula dos con-
ceptos, uno sujeto, otro predicado, a través de un término relacionante, la cópula verbal
es. El esquema de todo juicio afirmativo es:
S es P
donde S es el concepto sujeto, P es el concepto predicado y es el término que enlaza
a ambos. Un ejemplo de juicio: El árbol es viejo.
Sintaxis del Lenguaje Formal
3
Los razonamientos se construyen con juicios, así como los juicios se construyen
con conceptos. Un ejemplo de razonamiento muy simple, es el siguiente:
Todos los árboles son vegetales
El Lapacho es un árbol
El Lapacho es vegetal
En esta primera parte trataremos principalmente con los juicios. Pero no los
llamaremos juicios, pues esta palabra conserva un fuerte residuo psicológico, puede
engañarnos al sugerirnos que estamos tratando a los juicios como procesos mentales.
Emplearemos indistintamente las palabras proposición y enunciado para referirnos al
juicio como realidad lógica, es decir como entidad formal y vacía de significado real. A
menudo daremos un contenido significativo cualquiera a las proposiciones por razones
didácticas, para facilitar la comprensión de algunos temas volviéndolos más intuibles.
Pero la Lógica, ciencia de las formas puras del pensamiento, no necesita en principio
recurrir a esas significaciones para su constitución.
1.1.- LENGUAJE FORMAL (SINTAXIS Y SEMÁNTICA)
Cada lógica da lugar a un lenguaje (realmente un lenguaje formal) para realizar
declaraciones acerca de los objetos y para realizar razonamientos acerca de las
propiedades de esos objetos. La visualización de la lógica de esta forma es muy general
y actualmente nos centralizamos en particular en los denominados objetos matemáticos,
programas de computación y en estructuras de datos. Las declaraciones en un lenguaje
lógico están construidas de acuerdo a un conjunto predefinido de reglas de formación
(dependiendo del lenguaje) denominadas Reglas de Sintaxis.
Uno puede preguntarse porque es necesario un lenguaje especial, y porque un
lenguaje natural no es adecuado para llevar a cabo un razonamiento lógico. La primera
razón es que cualquier lenguaje natural en general es muy rico en contenido y no puede
ser descrito formalmente. La segunda razón, la cual es aún más seria, es que el
significado de una oración en un determinado lenguaje natural es ambigüo, sujeto a
diferentes interpretaciones dependiendo del contexto y de las suposiciones implícitas al
lenguaje. Si el objeto bajo estudio es el de realizar argumentos precisos y rigurosos
acerca de las afirmaciones y demostraciones, se requiere de un lenguaje preciso cuya
sintaxis pueda describirse completamente con solo algunas reglas simples y cuya
semántica pueda definirse una manera no ambigüa.
Otro factor importante es el laconismo. Los lenguajes naturales tienden a ser
verborrágicos, y aún las declaraciones matemáticas más simples se hacen
excesivamente largas (y poco claras) cuando se expresan con estos tipos de lenguajes.
Los lenguajes lógicos que definiremos contienen símbolos especiales usados para
abreviar sintácticamente las construcciones del lenguaje.
Un lenguaje lógico puede ser utilizado de diferentes formas. Por ejemplo, un
lenguaje puede ser utilizado como un Sistema de Deducción; o sea para construir
pruebas o refutaciones. Este uso del lenguaje lógico es conocido como la Teoría de la
Comprobación. En este caso, se especifica un conjunto de hechos denominados
axiomas y un conjunto de reglas de deducción (reglas de inferencia) y el objetivo es
Sintaxis del Lenguaje Formal
4
determinar cuales son los hechos que se derivan de los axiomas y de las reglas de
inferencia. Cuando utilizamos la lógica como un sistema de comprobación, no nos
interesamos en el significado de las declaraciones que estamos manipulando, pero si
estamos interesados en la distribución de estas declaraciones, y específicamente, en
que pruebas o refutaciones pueden construirse. En este sentido, las declaraciones del
lenguaje son visualizadas como hechos fríos, y las manipulaciones involucradas son
puramente mecánicas, hasta el punto tal de que pueden ser realizadas por una
computadora. Esto no significa que encontrar una prueba para una declaración no
requiere creatividad, pero donde la interpretación de la declaración es irrelevante. El uso
de la lógica es similar a la práctica de un juego. Se dan ciertos hechos y reglas, y se
supone que los jugadores son perfectos, en el sentido de que ellos obedecen siempre
a las reglas. Ocasionalmente puede suceder que siguiendo las reglas nos lleve a
inconsistencias, en cuyo caso puede ser necesario revisar las reglas.
Sin embargo, las declaraciones expresadas en un lenguaje lógico a menudo
tienen un determinado significado. El segundo uso de un lenguaje formal es la de
expresar declaraciones que reciben un significado cuando ellas poseen lo que se
denomina una interpretación. En este caso, el lenguaje de la lógica es utilizado para
formalizar propiedades de estructuras y determinar cuando una declaración es
verdadera dentro de una determinada estructura o contexto. Este uso del lenguaje
lógico o formal es denominado como la Teoría del Modelo.
Uno de los aspectos interesantes de la teoría del modelo es que nos obliga a
tener una definición precisa y rigurosa del concepto de verdad de la estructura.
Dependiendo de la interpretación que uno posea en la mente, la verdad puede tener un
significado bastante diferente. Por ejemplo, que una declaración sea verdad o falsa
puede depender de sus parámetros. Una declaración verdadera bajo todas las
interpretaciones de los parámetros es definida como válida. Una suposición matemática
útil (y bastante razonable) es que la verdad de una declaración puede ser obtenida a
partir de la verdad (o falsedad) de sus partes (sub declaraciones). Desde un punto de
vista técnico, esto significa que la verdad de una declaración o proposición está definida
por recursión de la estructura sintáctica de la proposición. La noción de verdad que
hemos descrito (debida a Tarski) formaliza la anterior intuición, y es firmemente
justificada en términos de los conceptos del álgebra y su correspondiente
homomorfismo.
Los dos aspectos descritos no son independientes y es la interacción entre la
teoría de los modelos y la teoría de la comprobación lo que hace de la lógica una
herramienta efectiva e interesante. Podemos decir que la teoría de los modelos y la de
la comprobación forman una dupla en la que cada una individualmente se complementa
con la otra. Para ilustrar este punto, consideremos el problema de encontrar un
procedimiento para listar todas las proposiciones verdaderas en cierta clase de contexto.
Puede ser que comprobando la verdad de las proposiciones requiera de una com-
putación infinita. Más aún, si la clase de estructura puede ser contemplada por un
conjunto finito de axiomas, podemos encontrar un procedimiento de comprobación que
nos de la respuesta buscada.
Inversamente, supongamos que poseemos un conjunto de axiomas y deseamos
conocer si la teoría resultante (el conjunto de consecuencias) es consistente, en el
sentido de que no obtenemos una proposición y su negación a partir de los axiomas. Si
descubrimos una estructura en la cual puede verse que los axiomas y sus
consecuencias son verdaderas, podremos decir que la teoría es consistente, ya que
algunas proposiciones y sus negaciones podrían ser ciertas (en esta estructura).
Sintaxis del Lenguaje Formal
5
Para resumir, un lenguaje lógico tiene cierta sintaxis y el significado o
semántica, de una declaración o proposición expresada en este lenguaje está dado por
una interpretación en su estructura. Dados un lenguaje lógico y su semántica, podemos
tener una o más sistemas de comprobación para este sistema lógico.
Un sistema de comprobación es solo aceptable si cada fórmula probable o
demostrable es realmente válida. En este caso, decimos que el sistema de
demostración es sólido. Luego, tratamos de comprobar que el sistema de
comprobación está completo. Un sistema de comprobación está completo si cada
fórmula válida es demostrable. Dependiendo de la complejidad de la semántica de una
lógica dada, no siempre es posible encontrar un sistema de comprobación completo
para tal o cual lógica. Este es el caso, por ejemplo, para las lógicas de segundo orden.
Sin embargo, existe un sistema de comprobación completo para la lógica proposicional
y para la lógica de predicados de primer orden. En el caso de los predicados de primer
orden, ello solo significa que puede encontrarse un procedimiento tal que, si la fórmula
de entrada es válida, el procedimiento se detendrá y producirá una comprobación.. Pero
ello no proporciona un procedimiento de decisión para determinar la validez.
Existen diversas maneras de comprobar la perfección del sistema de prueba o
de comprobación. Casualmente, muchas comprobaciones estableciendo la perfección
solo muestran que una fórmula A es válida, por lo tanto existe una prueba para A. Sin
embargo, tal argumento no nos proporciona un método para construir una prueba de
A (en el sistema formal). Solo se demuestra la existencia de la comprobación. Este es
el caso particular de las denominadas Comprobaciones de Henkin. Para ejemplificar
este punto en un modo más colorido y comprensible, la situación anterior es comparable
a ir a un restaurante donde decimos que existe una excelente cena en el menú, pero que
un cheff inexperto no sabe como preparar esta cena. Esto puede ser satisfactorio para
un filósofo, pero no para un científico en computación !. Sin embargo, existe una
aproximación que nos da un procedimiento para construir un método de comprobación
de si una fórmula es válida. Esta es la aproximación utilizada en un Sistema de Gentzen
(Sistemas de Cuadros Semánticos). Además, da como resultado de que pueden
obtenerse todos los teoremas de la lógica de predicados de primer orden, utilizando esta
aproximación.
La lógica proposicional es el sistema lógico con la semántica más simple. Sin
embargo muchos de los conceptos y técnicas utilizadas para estudiar la lógica
proposicional es generalizada para la lógica de predicado de primer orden. En la lógica
de predicado existen proposiciones atómicas (o fórmulas atómicas o átomos) y
proposiciones o fórmulas compuestas construidas con las proposiciones atómicas y con
los conectivos lógicos. Los hechos o expresiones atómicas son interpretados como que
son verdaderos o falsos. Una vez que los átomos en una proposición compuesta han
recibido una interpretación, puede computarse el valor de verdad de la proposición.
Técnicamente, esto es una consecuencia del hecho de que el conjunto de proposiciones
es una estructura cerrada generada libremente e inductivamente. Ciertas proposiciones
compuestas son verdaderas para todas las interpretaciones posibles. Ellas son
denominadas tautologías. Intuitivamente, una tautología es una verdad universal. Por
lo que podemos concluir que las tautologías juegan un papel fundamental en la lógica
proposicional o lógica formal.
Sintaxis del Lenguaje Formal
6
1.1.1.- ALGUNOS ARGUMENTOS LÓGICOS IMPORTANTES
Como ejemplo de un argumento lógicamente válido, consideremos las
siguientes oraciones declarativas:
1.- Si la demanda crece, entonces las compañías se expanden.
2.- Si las compañías se expanden, entonces contrata trabajadores
3.- Si la demanda crece, entonces las compañías contratan
trabajadores
Este argumento lógico tiene tres líneas, y cada línea contiene una afirmación u
oración declarativa. Las oraciones de las líneas 1 y 2 proporcionan las premisas del
argumento, y la línea 3 contiene la conclusión. Se puede argumentar contra las
premisas y reivindicar que son erróneas. Sin embargo, tan pronto como las premisas
sean aceptadas, la conclusión también debe aceptarse, porque se sigue lógicamente de
las premisas y por lo tanto, el argumento es válido.
Consideremos otro ejemplo de un argumento que es válido lógicamente:
1.- Este programa de computadora tiene error, o la entrada es errónea.
2.- La entrada no es errónea.
3.- Este programa de computadora tiene un error.
Nuevamente existen dos premisas, que corresponden a las líneas 1 y 2 del
argumento. Estas premisas pueden ser verdaderas o falsas en un caso en particular.
Sin embargo, si las premisas son verdaderas, no podemos evitar la conclusión de que
el programa de computadora tiene errores. Esta conclusión se desprende lógicamente
de las premisas.
Utilizando afirmaciones como las dadas, Aristóteles desarrolló patrones de
argumentos correctos y falsos. Primero, observó que muchas de las declaraciones
utilizadas en lógica son realmente declaraciones compuestas; esto es, que constan
de varias partes, cada una de las cuales es una afirmación o declaración por derecho
propio. El primer ejemplo contiene la siguiente declaración como una de sus premisas:
Si la demanda crece, entonces las compañías se expanden
Esta declaración tiene dos partes, que son declaraciones por derecho propio. Son Ala
demanda crece@ y Alas compañías se expanden@. Estas dos afirmaciones están
conectadas mediante: ASi ... entonces@. Es segundo argumento contiene la declaración
siguiente:
Este programa de computadora tiene error, o la entrada es errónea.
Nuevamente esta declaración contiene dos partes: AEste programa de computadora
tiene error@ y Ala entrada es errónea@. Ambas partes son declaraciones y están
conectadas mediante la palabra AoA.
Sintaxis del Lenguaje Formal
7
Para ver que argumentos son correctos y cuáles no, Aristóteles abrevió los
enunciados esenciales de los argumentos, sustituyéndolos por letras. De esta forma el
patrón de argumentos válidos se puede describir concisamente. Siguiendo la
convención de Aristóteles, utilizaremos letras mayúsculas para denotar las
declaraciones esenciales. La letra P puede expresar la declaración Ala demanda
crece@ , la letra Q puede expresar la declaración @las compañías se expanden@, y la
letra R puede representar la declaración Alas compañías con tratan trabajadores@.
Utilizando estos símbolos, podemos expresar el argumento que involucra el crecimiento
de la demanda, de la siguiente forma:
1.-Si P, entonces Q
2.-Si Q, entonces R
3.-Si P, entonces R
Aristóteles incluso dio nombre a este tipo de argumento, lo denomino silogismo
hipotético. En el silogismo hipotético P, Q y R, pueden representar a cualquier
declaración. Por ejemplo, si P representa: AEl gato ve al pez@, Q para AEl gato agarra
al pez@ y R AEl gato se come al pez@, entonces el silogismo hipotético se convierte en:
1.- Si el gato ve al pez, entonces el gato agarra al pez.
2.- Si el gato agarra al pez, entonces el gato se come al pez.
3.- Si el gato ve al pez, entonces se come al pez.
Las premisas de este argumento pueden ser verdaderas o falsas. El gato puede
estar bien entrenado y nunca hará algo tan desagradable como el de atrapar al pez. Más
aún, incluso si el gato agarra al pez, puede decirse que la comida para gatos es
preferible al pez vivo. Sin embargo, tan pronto como aceptamos las premisas, no
tenemos otra opción que aceptar la conclusión, que es que el gato se come al pez, si ve
al pez.
Otro patrón para un argumento correcto puede demostrarse haciendo que P, y
Q representan declaraciones o afirmaciones en el argumento de error del programa. P
representa AEste programa de computadora tiene un error@ y Q representa Ala
entrada es errónea@. Utilizando estas abreviaturas, el argumento puede expresarse de
la siguiente manera:
1.- P o Q
2.- No P
3.- P
Este argumento se denomina silogismo disyuntivo y es un argumento
fundamental en la lógica. Obsérvese, otra vez, que las premisas pueden ser verdaderas
o falsas, pero si son consideradas verdaderas, entonces la conclusión es inevitable.
Existe un argumento lógico extremadamente importante, denominado el modus
ponens. Este modus ponens puede formularse de la siguiente forma:
Sintaxis del Lenguaje Formal
8
1.- Si P entonces Q
2.- P
3.- Q
Por ejemplo, si P es AEl semáforo se pone en rojo@ y Q es ALos coches paran@,
entonces las premisas ASi el semáforo se pone en rojo, entonces los coches paran@
y AEl semáforo se pone en rojo@ permite concluir ALos coches paran@.
Determinar cuáles patrones de razonamiento lógico son válidos, y cuáles no lo
son, es una parte esencial de la lógica y será tratado posteriormente en los próximos
capítulos.
Las declaraciones o afirmaciones involucradas en los argumentos lógicos tienen
una propiedad especial: que son o verdaderas o falsas, y que no pueden ser nada más.
En lógica, tales declaraciones se denominan proposiciones.
1.2.- MATERIAL SIMBÓLICO O ALFABETO DEL LENGUAJE
El alfabeto L del lenguaje formal, es un conjunto conformado por tres conjuntos
sin elementos en común (conjuntos disyuntos). Ellos son:
1.- El conjunto V de variables proposicionales. Este conjunto es infinito y
enumerable.
V = { p1, p2, ....., pn, .... }
2.- El conjunto K de conectores proposicionales.
K = { ¬ } ∪ { ∧, ∨ , ⇒ , ⇔ )
denominados respectivamente: negación, conjunción (AND), disyunción
(OR), implicación lógica y doble implicación lógica (ssi).
3.- El conjunto P de símbolos de puntuación o paréntesis. Este conjunto es
de naturaleza impropia.
P = { ( , ) }
En consecuencia el alfabeto, correspondiente a un lenguaje formal para
la lógica, está definido por la unión de los tres conjuntos antes detallados.
L = V c K c P
Sintaxis del Lenguaje Formal
9
1.2.1.- VARIABLES Y CONSTANTES PROPOSICIONALES
Decimos que una proposición representa a todos los tipos y formas de oraciones
declarativas del lenguaje natural. Decimos que una proposición es simple o atómica
cuando no contiene a otra proposición. Tal es el caso del siguiente ejemplo:
El niño juega
Pero si decimos:
El niño juega y no llora
fácilmente pueden distinguirse aquí dos proposiciones: El niño juega, El niño no llora.
Ambas están unidas por la conjunción y. En lógica esta conjunción recibe un tratamiento
diferente del gramatical. Mientras la conjunción gramatical y enlaza adjetivos,
sustantivos, verbos, etc. la conjunción lógica enlaza solamente proposiciones. Cuando
tal enlace es de dos o más proposiciones simples, como en el último ejemplo, el resul-
tado es una proposición compuesta o molecular.
Definiremos a una proposición compuesta como aquella proposición formada
por dos o más proposiciones simples unidades entre si por alguna partícula lógica. Se
establece además que cualquier proposición simple puede ser simbolizada por las letras
minúsculas p, q, r, s, t, etc.
Las letras ante mencionadas, que por convención representan proposiciones,
reciben el nombre de variables lógicas. Así como en las matemáticas se emplean
variables como x, y, z, que pueden recibir cualquier valor (valores numéricos fijos como
1, 345, 5, etc.), así también en lógica las variables p, q, r, s, t, etc. pueden recibir valores
fijos, constantes. Cuáles valores?. Los siguientes dos valores: V y F. Es decir los valores
de verdad y falsedad. La variable lógica o expresión lógica o declaración o proposición
representa a un conjunto de oraciones declarativas dentro de un contexto o universo de
discurso, mientras que una constante lógica, representada por las primeras letras
mayúsculas del alfabeto, reprenda a una oración declarativa en particular dentro de ese
universo de discurso (UD).
Por emplear dos valores esta lógica recibe el nombre de Lógica Bivalente. Hay
otras lógicas que emplean más de dos valores, que reconocen en las proposiciones no
sólo su carácter de verdaderas o falsas sino algunos valores más, como por ejemplo,
"más falso que verdadero", "ni falso ni verdadero". Según el número de valores que
emplee, la lógica construida sobre ellos será trivalente, tetravalente, polivalente, fuzzy
o borrosa, etc.
En esta lógica bivalente, pues, distinguiremos elementos cuyo valor es variable
(p, q, r, s, t, etc.) y otros cuya significación es constante (V, F). En este último grupo
debemos incluir a las conectivas, porque todas ellas poseen un sentido invariable.
La lógica proposicional se detiene en las proposiciones entendidas como un todo,
sin desarticularlas en sus partes componentes (sujeto, predicado, conector) como
hacen otros capítulos de la lógica. Tampoco tiene en cuenta el sentido de las proposi-
ciones. Se desentiende igualmente de saber cómo se estableció que tal o cual
proposición es verdadera (V) o falsa (F). Acaso se diga: si a esta lógica no le interesa
el contenido de las proposiciones, ni el análisis formal de las partes que las componen,
ni cómo saber cuándo son verdaderas o falsas, acaso queda algo de lo que pueda
Sintaxis del Lenguaje Formal
10
ocuparse respecto de las proposiciones ?.
Ese algo parecerá, en un principio, nada o muy poco: la lógica proposicional
quiere saber que derivaciones formales se obtienen al combinar proposiciones
verdaderas o falsas.
1.2.2.- CONECTORES PROPOSICIONALES
Ya se vio en la sección anterior (1.1.1.) un tipo de partícula lógica o conector
proposicional, definido como aquel elemento que interconecta dos o más proposiciones
atómicas; el conector Y, que en la lógica se lo escribe con un símbolo especial. Pero la
lógica proposicional y también el lenguaje natural emplean otras partículas o conectores
para interconectar proposiciones simples. Por ejemplo:
Le cuentan un cuento o no se duerme
También, se establece una vinculación entre las proposiciones "le cuentan un
cuento" y "no se duerme". Esta vez las proposiciones simples no están unidas por la
conjunción, sino por la disyunción. Enumeremos ahora las partículas o conectivos más
importantes, con su correspondiente simbolización, que se emplea en la lógica
proposicional y/o simbólica:
CONEC-
TIVO
DENOMINACIÓN LECTURA EN ESPAÑOL
∧ Conjunción Y
∨ Disyunción O
⇒ Implicación o Condicional si ... entonces
⇔ Bicondicional o Equivalencia si y sólo si ... entonces
¬ Negación No
Todas ellas reciben el nombre de conectivas lógicas y también el de functores
de verdad. Si se establece que cualquier proposición puede ser simbolizada por las
letras minúsculas p, q, r, s, t, etc.,
p ∧ q , se leerá p y q
p ∨ q , se leerá p o q
p ⇒ q , se leerá : si p, entonces q
p ⇔ q , se leerá : si y sólo si p, entonces q
¬ p , se leerá: no p (o también: no es el caso que p)
Sintaxis del Lenguaje Formal
11
Se observará que el último conectivo lógico, "5", actúa sobre una sola
proposición, sin unir, como las cuatro anteriores, dos proposiciones. Por eso la negación,
se dice, es una conectiva unaria o monaria, en tanto que las restantes son conectivas
binarias.
1.2.3.- SÍMBOLOS DE PUNTUACIÓN
En un idioma natural se apela a símbolos de puntuación que permiten ordenar
a grupos de palabras y separarlos de otros. Sin dicha puntuación, el sentido de las
frases puede alterarse considerablemente. Es conocida la anécdota de Sarmiento
reprendiendo ásperamente a una maestra por su negligencia ante el empleo de la coma.
Sarmiento -se cuenta- hizo escribir a un alumno en la pizarra esta misma frase con la
diferencia de la ubicación de una coma y el añadido de otra:
La maestra dijo, Sarmiento es ignorante.
La maestra, dijo Sarmiento, es ignorante.
La diferencia de sentido es manifiesta. Para evitar esa anarquía, también las
matemáticas usan de símbolos de puntuación. En el ejemplo: 13 - 4 + 2 podemos ver la
misma incertidumbre acerca del sentido de la operación que vimos en el ejemplo de la
coma. En efecto, ante dicha operación podemos llegar a dos resultados: 7 ú 11. Para
expresar el primer resultado, la puntuación correcta será: 13 - (4 + 2). Para el segundo:
(13 - 4) + 2.
También en la lógica se emplean signos de puntuación para evitar equívocos en
las expresiones. Si nos encontramos con esta fórmula (mal formada, tal como veremos
más adelante); p ⇒ q ∧ r, dudaremos entre las siguientes dos interpretaciones:
(p ⇒ q) ∧ r
p ⇒ (q ∧ r)
Se podrán utilizar paréntesis, corchetes y llaves, significando lo mismo desde el
punto de vista de la sintaxis del lenguaje formal, como veremos más adelante. Los dos
ejemplos anteriores, lo mismo que la fórmula ¬ (p ∧ ¬ q), que será analizado como
equivalente de p ⇒ q, emplean paréntesis. Pero a veces la extensión de la fórmula
exige la utilización de otros paréntesis, lo que lleva a confusión sin saber realmente que
encierra cada uno, por lo cual es permitido utilizar corchetes o llaves:
[(p ∨ q) ∧ (r ⇒ s)] ⇒ p (1)
¬ {[(p ∨ q) ∧ (r ⇒ s)] ⇒ p} (2)
Fácil es ver que tiene mayor alcance siempre la conectiva que está fuera del
signo de puntuación. En (1) tiene mayor alcance la implicación fuera del corchete que la
conjunción dentro del corchete. Este, a su vez, tiene mayor alcance que la disyunción
y la implicación encerrada en los paréntesis.
En (2) la negación es la conectiva que afecta más, pues afecta a todo el conjunto.
Le sigue la implicación externa al corchete, pero dentro de la llave. En tercer lugar la
conjunción que une los dos paréntesis. Finalmente éstos, la disyunción y el condicional,
sólo afectan a las dos proposiciones encerradas en los paréntesis respectivos. También
Sintaxis del Lenguaje Formal
12
se notará que el paréntesis tiene menor alcance que el corchete y éste que la llave,
desde este punto de vista aceptado en la sintaxis del lenguaje formal.
1.2.4.- REGLAS DE PRIORIDAD
Muy poca gente trabaja con expresiones completamente entre paréntesis,
porque tales expresiones son largas y con frecuencia difíciles de leer. En particular, los
paréntesis externos de una expresión son casi siempre omitidos. Por lo tanto en lugar
de ( p ∧ q ), escribimos p ∧ q y en lugar de (( p ∧ q) ⇒ ( p ∨ q )) se escribe: ( p ∧ q )
⇒ ( p ∨ q ). Cuando hacemos esto, no debemos olvidar nunca añadir paréntesis detrás
cuando la expresión en cuestión esté compuesta con alguna otra expresión. Los
paréntesis dentro de la expresión también pueden ser omitidos. Para interpretar
correctamente la expresión resultante, se utilizan las llamadas reglas de prioridad o
precedencia. Generalmente, cada conectivo tiene dada una prioridad, y los conectivos
con una prioridad más alta introducen una unión más fuerte que los conectivos con una
prioridad más baja.
El conectivo 5 tiene siempre la prioridad más alta. Por consiguiente ¬ p ∨ q debe
ser entendida como ( ¬ p ) ∨ q y no como ( ¬ p ∨ q ). En el caso de los conectivos
binarios, la prioridad más alta esta dada por ∧, seguida de ∨, ⇒, y ⇔, en ese orden. En
la expresión p ∧ q ∨ r, por ejemplo, ∧ tiene la prioridad sobre ∨ cuando forma sub
expresiones y debe ser entendida como ( p ∧ q )∨ r. De igual modo p ⇒ q ∨ r debe ser
entendida como p ⇒ ( q ∨ r ), porque ∨ toma prioridad sobre ⇒ . El conectivo
correspondiente a la doble implicación ⇔recibe la prioridad más baja, lo que implica que
la expresión p ⇔ q ⇒ r debe entenderse como p ⇔ ( q ⇒ r ).
Definición 1.1.- Un conectivo u operador binario se denomina asociativo por la
izquierda si el conectivo por la izquierda tiene prioridad sobre el
conectivo sobre la derecha. Un conectivo binario se denomina
asociativo por la derecha si el conectivo por la derecha tiene
prioridad sobre el conectivo por la izquierda.
1.3.- CADENAS DE CARACTERES, LONGITUD, CONCATENACIÓN
Disponiendo símbolos o signos del alfabeto L, uno tras otro conformamos series
finitas de signos o cadenas de signos. A estas series las denominamos CADENAS DE
CARACTERES.
En los siguientes ejemplos indicamos algunos casos de cadenas de caracteres
que son proposiciones atómicas y/o compuestas.
Ejemplo 1.3.1:
" p1 ⇒ ∧ ∨ " , " ¬ () p7 ¬ ¬ ¬ " , " ( p2 ⇒ p3 )"
Definimos los siguientes casos particulares de cadenas de caracteres:
Ejemplo 1.3.2:
((p ⇒ q) ≡ (¬p ∨ q)) , (¬ A1 ≡ ( A1 ⇒ A2)) , ( A1 ∨ A2) , ( A1 ∧ A2)
Sintaxis del Lenguaje Formal
13
CADENA VACÍA: es aquella cadena que no contiene ningún signo o símbolo del
alfabeto L y la denotamos de la siguiente forma: " < > ".
CONCATENACIÓN: Cuando colocamos dos cadenas, una a continuación de la otra,
obtenemos otra cadena y que la representaremos por " { " y que
es una ley de composición interna a la que denominamos
concatenación, es asociativa pero no es conmutativa.
( A { B ) { C es lo mismo que A { ( B { C )
A { B es diferente de B { A
CADENA NEUTRA: La cadena vacía es denominada también cadena neutra a
derecha e izquierda para la concatenación ( no altera a la cadena
concatenada con ella ).
A { < > = < > { A = A
Denominamos al conjunto de todas las cadenas de caracteres, en el marco del
alfabeto L, como L*
. El par ordenado ( L*
, { ) es una estructura matemática axiomática
del tipo monoidal ( ley de composición interna y asociativa ).
LONGITUD DE UNA CADENA: Es igual al número de signos o símbolos que
constituyen dicha cadena.
1.4.- OCURRENCIA DE UNA CADENA, SUB CADENAS, REEMPLAZO,
SUBSTITUCIÓN
1.4.1.- NOCIÓN DE APARICIÓN (OCURRENCIA)
Si una cadena A es del tipo BCD, donde B y D pueden ser vacías, pero C no lo
es, decimos que C presenta una aparición en A ( o que C es una SUBCADENA no vacía
de A ). Puede darse el caso de que la cadena C presente varias apariciones en la ca-
dena A.
Ejemplo 1.4.1: A = "(p ⇒ ∧ p ⇒ q ¬ ∧ )"
Tenemos la sub cadena C = p ⇒ y se presentan dos apariciones en la
cadena A. La primera C1, determinada por B1 = "(" y D1 = "∧ p ⇒ q ¬ v )",
lo que nos determina la composición de A = B1C1D1. La segunda
aparición será C2 determinada por B2 = "( p ⇒ ∧" y D2 = " q ¬ v )" , luego
obtenemos A = B1C1D1 = B2C2D2, donde C1 = C2 = " p ⇒ ".
OBSERVACIÓN En general las letras p, q, r, s, t, salvo contraindicación en con-
trario, designarán elementos del conjunto V de variables
proposicionales.
Sintaxis del Lenguaje Formal
14
1.4.2.- REEMPLAZOS
Consideremos a los elementos B, C, D, A, que son cadenas de caracteres en el
marco del alfabeto L. Reemplazar la cadena C por la cadena C' en A, donde A = BCD,
consiste en formar una nueva cadena BC'D.
El resultado del reemplazo de C por C' en BCD, lo expresamos de la siguiente
forma:
C
Remp BCD = BC'D, o bien A(C/C')
C'
1.4.3.- SUBSTITUCIÓN
Sustituir una cadena B por el carácter X en la cadena A, consiste en reemplazar
por B TODAS las apariciones de X en A.
El resultado será denotado por:
X
Sub A , o bien A(X/B)
B
Ejemplo 1.4.2:
A = " p ∨ ( q ∨ r) (( p )) (" ; A(q/s ∨ t) = " p ∨ ( s ∨ t ∨ r) (( p )) ("
1.4.4.- SUBSTITUCIÓN SIMULTANEA
Sean x1, x2, x3, ...., xn, n caracteres distintos del alfabeto L, con apa-
riciones en la cadena A. Sustituir las cadenas B1, B2, B3, ...., Bn por las cadenas x1, x2,
x3, ...., xn respectivamente, consiste en sustituir B1 a todas las apariciones de x1, B2 a
todas las apariciones de x2, B3 a todas las apariciones de x3, ..., y Bn a todas las
apariciones de xn, o sea una substitución de una manera simultánea. El resultado puede
expresarse de la siguiente forma:
x1, x2, x3, ...., xn
Sub A , o bien A(x1/B1, x2/B2, x3/B3,..., xn/Bn)
B1, B2, B3, ...., Bn
Ejemplo 1.4.3:
A = "((( p q r ⇒ ∧ ¬ ≡ )"
A ((/ t, p / ⇒, ≡ / ∨) = "t t t ⇒ q r ⇒ ∧ ¬ ∨ )"
Sintaxis del Lenguaje Formal
15
VARIANTE Toda cadena obtenida por substitución simultánea en A será llamada Va-
riante de A, si la substitución operada cumple con las siguientes con-
diciones:
1.- Reemplazar variables proposicionales por variables proposicio-
nales.
2.- Dejar intacto los otros caracteres de A.
3.- Reemplazar variables proposicionales distintas por variables
proposicionales distintas.
Ejemplo 1.4.4:
"( q ⇒ ( p⇒ r ) )" es una variante de "( p ⇒ ( q ⇒ r ) )"
1.5.- EL LENGUAJE DEL CALCULO DE PROPOSICIONES O CONJUNTO F DE
EXPRESIONES BIEN FORMADAS (EBF)
Existe un único tipo de cadenas, a partir del alfabeto L, que nos interesa, el
denominado conjunto de EXPRESIONES BIEN FORMADAS (EBF) O FORMULAS
PROPOSICIONALES. Dicho conjunto, denominado F, constituye el lenguaje del cálculo
proposicional. Si L*
es el conjunto de todas las cadenas dentro del marco del alfabeto L,
nuestro lenguaje F, será un subconjunto de L*
, o sea que F d L*
.
ENUMERABILIDAD DEL CONJUNTO F
Todo lenguaje constituido a partir de un alfabeto A enumerable, es también
enumerable. Sea el alfabeto A = { s0, s1, s2, ...., sn }, luego a todo conjunto finito de
cadenas de A, le asociamos el simple orden alfabético, definido a partir del orden propio
de A. Tal, orden es denominado ORDEN LEXICOGRÁFICO.
Ejemplo 1.5.1:
L0 = { s0s1, s1s0s1, s0s0s1 } y se ordena de la siguiente forma :
: s0s0s1 s0s1 s1s0s1 B
; ↓ ↓ ↓ C
1 2 3
1.5.1.- REGLAS DE BUENA FORMACIÓN
El conjunto F de todas las EBF, se define por un conjunto de Reglas RECUR-
RENTES, denominadas "REGLAS DE BUENA FORMACIÓN" y son las que a
continuación detallamos:
Sintaxis del Lenguaje Formal
16
REGLA I Una variable proposicional cualquiera es una EBF.
œ p 0 V; p 0 F o lo que es lo mismo V ⊂ F
REGLA II Las sub reglas siguientes permiten formar nuevas EBF, a
partir de EBF ya existentes.
REGLA II - 1 Si A es una EBF, entonces ¬ A es una EBF.
REGLA II - 2 Si A y B son EBF, entonces ( A * B ) es una EBF, donde * 0
K - {¬}, es decir que * es uno de los siguientes conectores:
{∧, ∨, ⇒, ⇔}.
REGLA III Es también denominada la regla de CLAUSURA. Solamente
las cadenas formadas por las REGLAS I, II - 1 y II - 2 son EBF.
Ejemplo 1.5.2:
"p " , " ¬ p " , "(( p ⇒ q ) ∧ ( r ⇒ t ))"
Contra ejemplo: ( p ∧ q ⇒ p)
Ejemplo 1.5.3: Ejemplos de variaciones con los símbolos de puntuación
(p ∧ q ⇒ p) es una variación de ((p ∧ q ) ⇒ p)
(p ∧ q ∨ r) es una variación de (p ∧ (q ∨ r))
(p ∨ q ∨ r) es una variación de ((p ∨ q) ∨ r)
1.5.2.- RAZONAMIENTO POR RECURRENCIA SOBRE LA FORMACIÓN DE LAS
EXPRESIONES
Debido a que las EBF son recurrentes, podemos establecer por RECURRENCIA
las propiedades de las EBF.
Para establecer que toda EBF posee una propiedad P determinada, basta con
demostrar que
1.- Todas las EBF iniciales (fijadas por la Regla I) poseen la propiedad P.
2.- Qué la aplicación de la Regla II - 1 a una EBF que posee P, da nacimiento
a una EBF que posee P y que la aplicación de la Regla II - 2 a dos EBF
que poseen P, da nacimiento a una EBF que posee P.
Traduciendo esta metodología a un lenguaje más accesible, podemos decir lo siguiente:
Sea P una propiedad.
La etapa 1, equivale a demostrar P para las fórmulas de complejidad 0.
La etapa 2, equivale a demostrar la propiedad P para una fórmula cualquiera F, a partir
Sintaxis del Lenguaje Formal
17
de la suposición que cualquier fórmula de complejidad estrictamente inferior a F posee
la propiedad P, lo que implica que si:
F = 5 G, G posee P y que si F = (G * H ) , G y H poseen P.
EJEMPLO DE DEMOSTRACIÓN POR RECURRENCIA
Toda EBF contiene un número igual de paréntesis abiertos y de paréntesis
cerrados.
1.- Es cierto para las EBF atómicas: una variable proposicional se escribe
sin paréntesis.
2.- Sea F una fórmula cualquiera. Toda fórmula de complejidad estricta-
mente inferior a F posee la propiedad.
F puede ser de dos tipos (a) F = 5G y (b) F = (G * H), donde (*) es un
conector binario, G y H son EBF de complejidad estrictamente inferior a
F.
Caso (a): Por hipótesis, G posee un número igual de paréntesis abiertos y cerrados.
Luego 5G posee esta propiedad.
Caso (b): G y H poseen un número igual de paréntesis abiertos y cerrados (por ser
EBF de complejidad inferior). Luego (G * H) contiene solamente un
paréntesis abierto y uno cerrado, además de los que contienen G y H.
1.5.3.- NO AMBIGÜEDAD DEL LENGUAJE CONSTRUIDO
El lenguaje que hemos construido está exento de ambigüedad, esto significa
que:
1.- Si una EBF A es de la forma 5 B, no existe una EBF B' distinta de B, tal
que 5 B' sea lo mismo que A.
2.- Si una EBF A es de la forma (B * C), donde * designa un conector binario,
no existirán EBF B' y C' distintas de B y C, tales que (B' * C') sea la
misma expresión que A.
1.5.4.- DECIDIBILIDAD DEL CONJUNTO F DE LAS EXPRESIONES BIEN
FORMADAS
Como determinar si una cadena determinada es una EBF?.
Si A es de longitud moderada, por simple lectura determinamos si A es o no es
una EBF.
No existe un límite superior para una cadena y en consecuencia la simple lectura
puede ser insuficiente. Es necesario buscar un procedimiento seguro, que al cabo de un
número FINITO de etapas no diga, si A es o no es una EBF. Este procedimiento es un
Sintaxis del Lenguaje Formal
18
ALGORITMO.
Toda EBF que no está reducida a un variable proposicional única contiene un
Conector Principal. Se busca si la cadena tiene un conector que cumpla con esta
función. En caso negativo (y si la cadena no se reduce a una sola variable), la cadena
no es una EBF.
En caso afirmativo, se debe verificar, empleando el mismo método, si las
cadenas unidas por el conector principal son EBF, utilizando el mismo método o sea
buscando el conector principal de cada una de las cadenas componentes y así
sucesivamente. Consideremos a continuación el Algoritmo desarrollado:
Sea C la cadena de caracteres que debemos examinar:
(1) C = " p " (donde p es cualquier v.p.) STOP. EBF
(2) C = 5 A (donde A designa una cadena) TESTEAR A
(3) C = ( B ) (donde B designa una cadena)
3.1 B No termina con un paréntesis cerrado ")" LEER B DE
DERECHA A IZQUIERDA, BUSCAR EL PRIMER CONECTOR BINARIO
3.1.1 Se encuentra uno : B = C * D TESTEAR C Y D
3.1.2 No se encuentra conector. STOP. NO EBF
3.2 B termina con ")" LEER B DE
DERECHA A IZQUIERDA. BUSCAR EL PRIMER CONECTOR BINARIO POSTERIOR
AL PRIMER PARÉNTESIS ABIERTO "(" DE INDICE N EN B (donde el índice de una
aparición de paréntesis es el número totalizado en esa aparición, luego de haber
contado + 1 por cada paréntesis abierto y – 1 por cada paréntesis cerrado)
3.2.1 Se encuentra uno : B = E * F TESTEAR E Y F
3.2.2 No se encuentra STOP. NO EBF
(4) No nos encontramos en ninguna de las situaciones STOP. NO EBF
precedentes.
1.6.- SUB FÓRMULAS BIEN FORMADAS
Más adelante, veremos que para interpretar una fórmula en el marco de la
semántica, es indispensable descomponerla en sus sub fórmulas bien formadas hasta
llegar a sus expresiones más simples, del tipo variables proposicionales (fórmulas
atómicas). Cada fórmula posee una única descomposición de este tipo.
Todas las fórmulas que figuran en el árbol genealógico de la fórmula original
serán llamadas SUBFÓRMULA BIEN FORMADAS de esta EBF. La siguiente definición
por recurrencia, que introduce la noción de sub fórmula inmediata, formaliza la noción
de árbol genealógico.
Sea X la EBF considerada.
1.- Si X = p (donde p designa una V.P.), X no posee sub fórmula inmediata.
Sintaxis del Lenguaje Formal
19
2.- Si X = A, A es la SFI de X (SFI = Sub fórmula Inmediata).
3.- Si X = (B * C), B y C son las dos SFI de X.
4.- Si X = A, A es la sub fórmula de X.
5.- Si A es SFI de X, A es sub fórmula de X.
6.- Si B es sub fórmula de A, y A es sub fórmula de X, entonces B es sub fór-
mula de X.
Podemos representarla a través del ÁRBOL GENEALÓGICO de la
fórmula.
¬ ((¬ p ∧ (q ⇒ ¬ r)) ∨ ((p ∧ q) ⇒ (p ∨ ¬ r)))
↓
↓ ↓
(¬ p ∧ (q ⇒ ¬ r)) ((p ∧ q) ⇒ (p ∨ ¬ r))
↓ ↓
↓ ↓ ↓ ↓
¬ p (q ⇒ ¬ r) (p ∧ q) (p ∨ ¬ r)
↓ ↓ ↓ ↓
↓ ↓ ↓ ↓ ↓ ↓ ↓
p q r p q p r
1.7.- CONVENCIONES PARA ABREVIAR LA ESCRITURA
1.- En general suprimimos los paréntesis exteriores y escribiremos, por
ejemplo " p w (q w r) " en lugar de " (p w (q w r)) ".
2.- Eventualmente reemplazaremos los paréntesis por corchetes o llaves sin
prestar a esto último ninguna significación particular.
3.- Hasta ahora hemos respetado la convención que consiste, para hablar
de una cadena de caracteres, en escribir dicha cadena entre comillas,
por ejemplo, hemos escrito " " (p ⇒ q) " es una EBF".
Por un abuso de escritura universalmente aceptado, escribiremos en
adelante
(p ⇒ q) es una EBF".
OBSERVACIÓN Los signos a, b, c, ..., A, B, ..., *, etc., que solemos introducir para
determinar, ya sea una variable proposicional, una constante
lógica o una cadena, no pertenece al alfabeto L del lenguaje artifi-
cial; como las comillas, pertenecen a la lengua que utilizamos
para hablar del lenguaje artificial y que llamamos metalenguaje.
Estos signos son denominados VARIABLES SINTÁCTICAS.
Destaquemos en este sentido, que el enunciado de las reglas,
son en general las variables sintácticas quienes intervienen.
Sintaxis del Lenguaje Formal
20
1.8.- OPERADORES O CONECTIVOS MONODIADICOS
Existen un conjunto de conectores u operadores monodiadicos, igual a
un total de 4 (cuatro), a los cuales se los denomina como Conectores f. Estos
conectores son:
f0 Una función cuyo resultado es siempre falso, independientemente del valor que
tome la proposición a la cual afecta.
f1 Corresponde al conector de la negación, ¬ p, discutido previamente en este
capítulo.
f2 Una función que simplemente entrega el mismo valor de la proposición afectada
por el conectivo considerado: f2 (p) ≡ p
f3 Una función cuyo resultado es siempre verdadero, independientemente del valor
que tome la proposición a la cual afecta.
1.9.- OPERADORES O CONECTIVOS DIÁDICOS
Existen 16 posibles conectores diádicos o binarios, identificados con las letras
g0 a g15. De estos, seis representan a conectivos degenerados correspondientes a
verum (función binaria que siempre retorna el valor verdadero, una tautología binaria
g15), falsum (que siempre retorna el valor falso de la proposición a la cual afecta, g0),
p (siempre toma el valor de p, g12), q (siempre toma el valor de q, g10), ¬ p (siempre
toma el valor de ¬ p, g3), y ¬ q (siempre toma el valor de ¬ q, g5), dejando 10 conectivos
realmente de interés para las aplicaciones lógicas. Por supuesto dentro de ellos están
los conectivos considerados más comunes, como por ejemplo; la disyunción w ( g14), la
conjunción ∧ (g8), la doble implicación ⇔ (g9), y la implicación ⇒ (la cual no es
conmutativa, por lo tanto existen dos conectivos g11 y g13). Los cinco conectivos
restantes se detallan a continuación:
g 6 Este es el conectivo denominado OR Exclusivo o la No Equivalencia,
representado por el símbolo x, la negación de la equivalencia. Este conectivo
puede ser representado por la siguiente expresión:
p x q ≡ T ( p ∨ q ) ∧ ¬ ( p ∧ q )
De un modo alternativo podemos expresar este conectivo de la siguiente forma:
p x q ≡ T ( p ∧ ¬ q ) ∨ ( q ∧ ¬ p )
g 1 Este es el conectivo NOR o Junta Denegada o Flecha de Pierce, el cual puede
ser denotado por el siguiente símbolo:↓.
Puede ser representada como la negación de la disyunción, expresada de la
siguiente forma:
p ↓ q ≡ T ¬ ( p ∨ q ) ≡ T ¬ p ∧ ¬ q
g 1 Este es el conectivo NAND o de Incompatibilidad o el Pincel de Sheffer, está
denotado por el siguiente símbolo / y es considerado como la negación de la
conjunción de la siguiente forma:
Sintaxis del Lenguaje Formal
21
p / q ≡ T ¬ ( p ∧ q ) ≡ T ¬ p ∨ ¬ q
g 4, g 2 Estas dos funciones son consideradas como la No Implicación, denotadas por
el símbolo ¹ y representada por la siguiente expresión o fórmula lógica:
p ¹ q ≡T ¬ ( p ⇒ q ) ≡ T p ∧ ( ¬ q )
1.10.- OPERADORES O CONECTIVOS TRIÁDICOS
Podemos utilizar los mismos argumentos para determinar los Operadores o
Conectivos Triádicos, aquellos que toman tres operandos o proposiciones simples.
Algunos de ellos son de interés directo sobre un total 256 posibles conectivos. Estos
conectivos triádicos son difíciles de escribirlos como operadores, ya que no pueden ser
representados por un simple símbolo infijo. Describiremos aquellos que son
considerados importantes, a saber:
Disyunción Condicionada
Es representada por la siguiente expresión:
[ p, q, r ] = T ( q ∧ p ) ∨ ( ¬ q ∧ r )
La proposición del medio q actúa como un llave de determinado tipo.
Incompatibilidad Condicionada
Está relacionada con el anterior conectivo, y se escribe de la siguiente forma:
[[ p, q, r ]] = T ( q ∧ ¬ p ) ∨ ( ¬ q ∧ ¬ r )
Además es la negación de la Disyunción Condicionada, tal como se indica:
[[ p, q, r ]] = T ¬ [ p, q, r ]
L 2 ( Mayoría )
El conectivo considerado:
L 2 ( p, q, r )
toma el valor verdadero si y sólo si dos o más de las proposiciones participantes toman
el valor verdadero. L2 significa al menos dos. Este conectivo puede ser expresado de la
siguiente forma:
L 2 ( p, q, r )= T ( p ∧ q ) ∨ ( q ∧ r ) ∨ ( r ∧ p )
Alternativamente podemos utilizar la disyunción condicionada y escribir la siguiente
expresión:
L 2 ( p, q, r )= T [ q ∨ r , p , q ∧ r ]
Sintaxis del Lenguaje Formal
22
L 1 ( Al Menos Uno )
De la misma forma que definimos el anterior conectivo, definimos ahora el conectivo L
1 ( p , q, r ), de la siguiente forma:
L 1 ( p , q, r )= T p ∨ q ∨ r
L 3 ( Al Menos Tres )
De la misma forma que definimos el anterior conectivo, definimos ahora el conectivo L
3 ( p , q, r ), de la siguiente forma:
L 3 ( p , q, r )= T p ∧ q ∧ r
1.11.- PROBLEMAS CAPITULO 1
1.- )Cuáles de las siguientes oraciones son proposiciones?
(a) 9 es múltiplo de 3
(b) El Sol gira alrededor de la Tierra
(c) )Qué hora es?
(d) Les deseo Felices Pascuas
(e) La parte continental de la República Argentina tiene una superficie de
2.791.810 Km2
.
(f) Hoy llueve.
(g) Desde Tucumán a Salta
2.- )Cuáles son proposiciones atómicas y cuales compuestas?
(a) Juan y Javier son primos
(b) Todos los gatos tienen cola
(c) El coche que pasó era verde o azul
(d) 2 es divisor de 8 y 12
(e) Salgo de paseo, si no llueve
3.- Traduzca las siguientes oraciones compuestas a la notación de la lógica formal:
(a) O el fuego fue producido por incendio premeditado o fue producido por
combustión espontánea.
(b) Si el agua es clara, entonces Enrique puede ver el fondo del piletón o es
un tonto.
(c) O Juan no está aquí o María está, y Elena ciertamente está.
(d) Si hay más gatos que perros, entonces hay más caballos que perros y
hay menos serpientes que gatos.
(e) El hombre de la Luna es una patraña y si lo mismo es verdad de Santa
Claus, muchos niños son engañados.
(f) Si las pelirrojas son amables y las rubias no tienen pecas, entonces la
lógica es confusa.
(g) Si las habitaciones son escasas o la gente quiere vivir con sus parientes
políticos y si la gente no quiere vivir con sus parientes políticos, entonces
las habitaciones son escasas.
(h) Si Juan rinde testimonio y dice la verdad, será encontrado culpable; y si
no rinde testimonio, será encontrado culpable.
Sintaxis del Lenguaje Formal
23
(i) Si Racine no era un compatriota de Galileo, entonces o Descartes no
nació en el siglo dieciséis o Newton no nació antes que Shakespeare.
(j) Si se elevan los precios o los salarios, habrá inflación. Si hay inflación,
entonces el Congreso debe regularla, o el pueblo sufrirá. Si el pueblo
sufre, los congresistas se harán impopulares. El Congreso no regulará la
inflación y los congresistas no se volverán impopulares. En consecuencia,
no subirán los precios.
(k) Si el mercado es perfectamente libre, entonces un solo proveedor no
puede afectar los precios. Si un solo proveedor no puede afectar los
precios, entonces hay un gran número de proveedores. Hay, en efecto,
un gran número de proveedores. En consecuencia el mercado es
perfectamente libre.
4.- Sean las siguientes variables proposicionales:
n = "Nueva York es más grande que Chicago";
w = "Nueva York está al norte de la ciudad de Washington";
c = "Chicago es más grande que la ciudad de Nueva York"
Escribir en el lenguaje natural las siguientes expresiones bien formadas del
lenguaje formal:
(a) (n ∨ c) (b) (n ∧ c) (c) (¬ n ∧ ¬ c)
(d) (n ⇔ (¬ w ∨ c)) (e) ((w ∨ ¬ c) ⇒ n)
(f) ((w w n) ⇒ (w ⇒ ¬c)) (g) ((w ⇔ ¬ n) ⇔ (n ⇔ c))
(h) {(w ⇒ n) ⇒ [(n ⇒ ¬ c) ⇒ (¬ c ⇒ w)]}
5.- Sean p, q, r las siguientes proposiciones:
p = "está lloviendo" , q = "el sol está brillando" , r = "hay nubes en el cielo"
traduzca la siguiente notación lógica, utilizando p, q, r y los conectivos lógicos.
(a) Está lloviendo y y el sol está brillando.
(b) Si esta lloviendo, entonces hay nubes en el cielo.
(c) Si no está lloviendo, entonces el sol no está brillando y hay nubes en el
cielo.
(d) El sol está brillando si y solo si está brillando.
(e) Si no hay nubes en el cielo, entonces el Sol está brillando.
6.- Sean las siguientes variables proposicionales:
p = "Jane Austen fue contemporáneo de Beethoven";
q = "Beethoven fue contemporáneo de Gauss";
r = "Gauss fue contemporáneo de Napoleón";
s = "Napoleón fue contemporáneo de Julio Cesar"
Escribir en el lenguaje natural las siguientes expresiones bien formadas del
lenguaje formal:
(a) ((p ∧ q) ∧ r) (b) (p ∧ (q ∧ r)) (c) (s ⇒ p)
(d) (p ⇒ s) (e) ((p ∧ q) ∧ (r ∧ s))
(f) ((p ∧ q) ⇔ (r ∧ ¬ s)) (g) ((p ⇔ q) ⇒ (s ⇔ r))
(h) ((¬ p ⇒ q) ⇒ (s ⇒ r)) (i) ((p ⇒ ¬ q) ⇒ (s ⇔ r))
(j) {(p ⇒ q) ⇒ [(q ⇒ r) ⇒ (r ⇒ s)]}
7.- Sean p, q, r definidas como en el ejercicio 5. Traducir las siguientes expresiones
al lenguaje natural castellano :
(a) (p ∧ q) ⇒ r (b) (p ⇒ r) ⇒ q
(c) ¬ p ⇔ (q ∨ r) (d) ¬ (p ⇔ (q ∨ r))
(e) ¬ (p ∨ q) ∧ r
Sintaxis del Lenguaje Formal
24
8.- Cuales de las siguientes son proposiciones?.
(a) x2
= x para todo x 0 ú
(b) x2
= x para algún x 0 ú
(c) x2
= x
(d) x2
= x para exactamente una x 0 ú
(e) xy = xz implica y = z
(f) xy = xz implica y = z para toda x, y, z 0 ú
9.- Proporcione las reciprocas de las siguientes proposiciones :
(a) p ⇒ q
(b) Si soy listo entonces soy rico
(c) Si x2
= x entonces x = 0 o x = 1
(d) Si 2 + 2 = 4 entonces 2 + 4 = 8
10.- Exprese las siguientes proposiciones condicionales de otra manera:
(a) La botella contiene una etiqueta de advertencia si contiene ácido.
(b) Los coches paran si el semáforo está en rojo.
(c) Si Juan está en el granero, entonces Pablo estará en el granero también.
(d) Marco es rico solo si es feliz.
(e) No se trabaja, no se paga
11.- Traduzca las siguientes oraciones al cálculo proposicional y dé el alcance de
todas las conexiones lógicas:
(a) María practica básquetbol, pero su hermano fútbol y voley
(b) Si 5 es mayor que 3, y 3 es mayor que 2, entonces 5 es mayor que 2
(c) Si no llueve , iremos al cine o al teatro
(d) Me curaré, si tomo los remedios y hago reposo.
(e) La extracción de minerales es provechosa si la concentración de mineral
es alta pero sólo si la distancia hasta el mercado es corta.
12.- Usando las equivalencias lógicas correspondientes encuentre una afirmación
equivalente a las siguientes:
(a) No es cierto que el esté informado y sea honesto.
(b) Si las mercancías no fueron entregadas, el cliente no debe haber
pagado.
(c) Esta tarde ni llueve ni nieva
(d) Si él esta en la oficina, le daremos las noticias.
(e) No es cierto que, si llueve nos reuniremos en el club
13.- Encuentre la negación de los siguientes enunciados aplicando las equivalencias
lógicas correspondientes:
1) Juan estudia Ingles y Computación
2) Podemos comprar esta casa o comprar un auto
3) Es suficiente que sea feriado para que no trabaje.
4) Si no hay sol, no iré a la pileta.
5) Si no hay paga, no hay trabajo
6) El programa es legible solamente si está bien estructurado.
7) El público se dormirá cuando el presidente de la sesión dicte la
conferencia
8) Nos veremos en el parque en caso que no llueva
9) Si llueve, nos reuniremos en el club o en la casa de María
Sintaxis del Lenguaje Formal
25
10) Solicitaré un préstamo, si viajo a Brasil o a Chile.
11) Terminar de escribir mi programa antes del almuerzo es necesario para
que juegue al tenis esta tarde.
12) María puede subir a la motocicleta de Luis sólo si usa el casco
14.- Determinar si las expresiones lógicas del Problema N1 4, son las denominadas
expresiones bien formadas (EBF), utilizando las Reglas de buena formación.
15.- Determinar si las expresiones lógicas del Problema N1 6, son las denominadas
expresiones bien formadas (EBF), utilizando las Reglas de buena formación.
16.- Determinar si las expresiones lógicas del Problema N1 7, son las denominadas
expresiones bien formadas (EBF), utilizando las Reglas de buena formación.
17.- Sean p, q y r variables proposicionales (EBF) o fórmulas atómicas
distintas.Determinar si las expresiones lógicas siguientes son expresiones bien
formadas (EBF), utilizando las Reglas de buena formación.
(a) (p ∨ q) ⇒ (q ∨ p)) (b) (p ⇒ (p ∨ q) ∨ r)
(c) (p ∨ ¬ p)
(d) (p ⇒ ¬ p ⇒ q) (e) ((p ⇒ q) ⇒ (q ⇒ p))
(f) {[(p ⇒ q) ⇔ q] ⇒ p} (g) {p ⇒ [q ⇒ (q ⇒ p)]}
(h) ((p ∧ q) ⇒ (p ∨ r)) (i) [p ∨ (¬ p ∧ q)] ∨ (¬ p ∧ ¬ q)
(j) (p ∧ q) ⇒ [p ⇔ (q ∨ r)]
(k) {p ∧ [q ⇒ [(p ∧ ¬ p) ⇒ (q ∨ ¬ q)} ∧ (q ⇒ q)
18.- Aunque normalmente utilizaremos "implica" y "si ..... entonces" para describir
una implicación, en la práctica surgen otras palabras y frases como las de los
siguientes ejemplos.
Sean p, q y r las siguientes proposiciones: p = "la bandera está puesta,"
q = "I = 0", r = "la subrutina S ha terminado"
Traducir cada una de las siguientes proposiciones a símbolos usando las letras
p, q, r y los conectivos lógicos.
(a) Si la bandera está puesta entonces I = 0.
(b) La subrutina S ha terminado si la bandera está puesta.
(c) La bandera está puesta si la subrutina S no termina.
(d) Siempre que I = 0 la bandera está puesta.
(e) La subrutina S ha terminado sólo si I = 0.
(f) La subrutina S ha terminado sólo si I = 0 o la bandera está puesta.
Notar la ambigüedad del punto (f); hay dos respuestas distintas, cada una con su
propia validez. )Ayudaría la puntuación?.
19.- Construir un algoritmo que me permita determinar si una expresión, proposición
compuesta, o fórmula lógica es una expresión bien formada (usar como
comparación el ejemplo indicado en el Capítulo I de los apuntes de clase).
20.- (a) Demostrar que x = -1 es un contraejemplo de "(x + 1)2
≥ x2
para toda x
∈ ú"
(b) Encontrar otro contra ejemplo.
(c) )Puede servir de contraejemplo cualquier número no negativo?.
Justifique su respuesta.
Semántica del Lenguaje Formal
26
CAPITULO II
SEMANTICA DEL LENGUAJE FORMAL
2.1.- NOCIÓN GENERAL
En el capítulo precedente definimos la sintaxis del lenguaje proposicional.
Pudimos comprobar que posee las dos buenas propiedades que la hace utilizable en
lógica formal, la decibilidad sintáctica y la no ambigüedad de lectura.
El presente capítulo tiene por función definir una interpretación para el lenguaje
proposicional. Hasta ahora, en efecto, nuestras EBF o expresiones del lenguaje son
puras combinaciones de signos sin sentido alguno. La definición de una interpretación
revierte esta situación y dota al lenguaje de un poder singular de expresión. Este
aspecto del lenguaje se denomina SEMÁNTICA DEL LENGUAJE FORMAL.
2.2.- DEFINICIÓN ALGEBRAICA DE LA SEMÁNTICA DEL LENGUAJE
PROPOSICIONAL
Advertencia: A los efectos de poder tratar de la manera booleana la semántica del
lenguaje, confundiremos los valores de verdad (FALSO, VERDADERO)
con la dupla (0, 1).
2.2.1.- DISTRIBUCIÓN DE LOS VALORES DE VERDAD (D.D.V.V.)
Una distribución de los valores de verdad es una aplicación δ del conjunto V de
todas las variables proposicionales sobre el conjunto Z = {0, 1}.
δ : V -→ Z
El conjunto de todas las distribuciones de valores de verdad será el siguiente
cardinal 2 card (V)
. Denominaremos V {0, 1} como el conjunto de todas las distribuciones de
verdad y en general A B es el conjunto de todas las aplicaciones de un conjunto A sobre
un conjunto B. Donde A es el conjunto de partida y B el conjunto de llegada.
2.2.2.- EVALUACIÓN DE LAS EBF
Sea F una fórmula donde figuran los átomos p1, p2, p3, ...., pK. La semántica
formal no dice bajo que condición p1, p2, p3, ...., pK son verdaderos o falsos. Lo que
permite deducir, en cambio, es cómo un Interpretación determinada de p1, p2, p3, ....,
pK, es decir, una determinada distribución de valores de verdad restringida a p1, p2,
p3, ...., pK, determina el valor de verdad de la fórmula F.
Semántica del Lenguaje Formal
27
Por ejemplo, de la semántica formal se deduce que si una distribución de verdad,
asigna a la variable p el valor 0 y a la variable q el valor 1, el valor de verdad (δ (p) = 0
y δ (q) = 1) de la fórmula p ⇒ q es 1, el de la fórmula p ∧ q es 0, el de la fórmula ¬ p es
1, etc.
En general estos valores se introducen por medio de las 5 (cinco) "tablas de
verdad" correspondientes a cada uno de los conectivos lógicos o proposicionales. Sin
embargo, esto apenas daría la semántica de las fórmulas más simples, conectadas por
un solo conectivo, cuando en realidad es necesario definir la semántica de toda
expresión del lenguaje. Sólo la definición por recurrencia puede satisfacer esta exi-
gencia.
DEFINICIÓN POR RECURRENCIA DE LA SEMÁNTICA DE LAS EBF
Sea δ una distribución de valores de verdad, de forma tal que asigna a las
variables proposicionales p1, p2, p3, ...., pn, ...., valores tomados del conjunto {0, 1}, que
anotaremos de la siguiente forma δ (p1), δ (p2), ...., δ (pn), ...., denominadas funciones de
verdad.
Definir el valor de verdad que toma una fórmula A de acuerdo con las dis-
tribuciones δ, es definir una aplicación Φδ del conjunto F de las EBF sobre el conjunto
Z = {0, 1}.
Φδ : F -→ {0, 1}
La función Φδ se define por recurrencia de la siguiente forma:
1.- Φδ (p) = δ (p) ; œ p 0 V
2.- Φδ (5 A) = 5' Φδ (A) = 1 - Φδ (A)
Donde el signo "-" designa la simple diferencia aritmética.
3.- Φδ (A v B) = v' (Φδ (A), Φδ (B)) = MIN (Φδ (A), Φδ (B))
Donde "MIN" designa el mínimo de acuerdo con el orden natural de la
aritmética.
Ejemplo: MIN (0, 0) = 0 , MIN (1, 0) = 0 , MIN (1, 1) = 1
4.- Φδ (A w B) = w' (Φδ (A), Φδ (B)) = MAX (Φδ (A), Φδ (B))
Donde "MAX" designa el máximo de acuerdo con el orden natural de la
aritmética.
Ejemplo: MAX (0, 0) = 0 , MAX (1, 0) = 1 , MAX (1, 1) = 1
5.- Φδ (A ⇒ B) = ⇒' (Φδ (A), Φδ (B)) = MAX (Φδ (¬ A), Φδ (B))
6.- Φδ (A ≡ B) = ≡' (Φδ (A), Φδ (B)) = MIN (Φδ (A ⇒ B), Φδ (B ⇒ A))
Semántica del Lenguaje Formal
28
Observaciones :
1.- No se deben confundir los conectivos proposicionales ¬, ∧, ∨,⇒, ≡, que
son signos del lenguaje formal, con las funciones inducidas por cada uno
de los conectivos y que los denominamos : ¬', ∧', ∨', ⇒', ⇔'.
2.- La definición formal de la semántica exige en principio, para conocer el
valor de verdad Φδ de una fórmula F, que esté definida por la aplicación
δ, cuyo conjunto de partida es V.
Teorema de Restricción
El valor de verdad de EBF sólo depende de la variables proposicionales (v.p.)
que intervienen en esta EBF.
Demostración
Sea F una EBF y a una variable proposicional, que no figura en F. Sea δ una
distribución de valores de verdad cualquiera. Definimos δ' de la siguiente manera:
δ' (p) = δ (p) si p … a
δ' (p) = 1 - δ (a)
Demostremos que Φδ' (F) = Φδ (F) por inducción sobre la formación de F:
1.- F = p , luego a … p y por definición δ' (p) = δ (p) . Por lo tanto, se cumplirá
que : Φδ (p) = Φδ' (p).
2.- F = ¬ G , Φδ (F) = 1 - Φδ (G).
Pero por hipótesis de recurrencia Φδ (G) = Φδ' (G). Luego tenemos que :
Φδ (F) = 1 - Φδ' (G) = Φδ' (5 G) = Φδ' (F).
3.- F = G * H (donde * es cualquier conectivo binario del lenguaje)
Φδ (F) = *' (Φδ (G), Φδ (H)) = *'H.R. (Φδ' (G), Φδ' (H)) = Φδ' (F)
Observaciones:
1.- En lo sucesivo llamaremos L (F) (Se lee lenguaje de F) al conjunto de va-
riables proposicionales, que figuran en la fórmula F.
2.- Esta inducción puede servir de esqueleto para las pruebas venideras; el
esquema es el siguiente:
(a) Probar la propiedad para toda la fórmula atómica.
(b) Suponer que la propiedad está demostrada para toda fórmula de
Semántica del Lenguaje Formal
29
complejidad estrictamente inferior a k y demostrar la propiedad
para toda fórmula de complejidad igual a k (recurrencia amplia).
Esto equivale a darse una fórmula F cualquiera y descomponerla
según los dos únicos casos que se presentan de acuerdo a la sin-
taxis del lenguaje: 2.1. F = 5 G ; 2.2. F = G * H.
Algunas Consideraciones Respecto De Las Funciones De Verdad
En la expresión matemática x = 2.y, se establece una vinculación tal entre las
variables x e y, que cualquiera sea el valor de y, x asumirá un valor equivalente al valor
de y multiplicado por 2. El valor de x, pues, depende del valor de y. Eso quiere
expresarse cuando se afirma que x es una función de y.
También la lógica estudia la relación funcional que existe entre las variables
proposicionales y/o EBF. Consideremos el siguiente ejemplo:
Las naranjas maduran y el invierno se avecina.
que simbolizamos como p v q, es una fórmula o EBF molecular. Será como toda propo-
sición, verdadera o falsa. A la lógica le interesa establecer de qué modo el valor de
verdad (V o F) de las proposiciones moleculares depende, es una función, de los valores
de verdad de las proposiciones que componen a dichas proposiciones moleculares. En
nuestro ejemplo, la proposición compuesta será verdadera cuando las proposiciones
"las naranjas maduran", "el invierno se avecina" sean ambas verdaderas. Bastará
que una de ellas sea falsa para que la proposición compuesta también lo sea. Y si son
falsas las dos proposiciones atómicas, con mayor razón será también falsa la
proposición molecular. Cuando el valor de verdad de una proposición compuesta
depende de los valores de verdad de las proposiciones que la componen, estamos ante
una función de verdad.
Se preguntará, ) acaso no ocurre eso siempre ?, ) acaso el valor de verdad de
una proposición compuesta no depende invariablemente de las proposiciones que la
componen ?. La respuesta es negativa. Pues hay proposiciones moleculares cuya
verdad o falsedad no están condicionadas solamente por los valores de verdad de las
proposiciones componentes. Veamos:
Las naranjas maduran porque el invierno se avecina
Hemos reemplazado en el mismo ejemplo el conectivo lógico ∧ por otro no lógico, "po-
rque". Este último alude a un modo de relación entre fenómenos de la realidad. Aquí
puede ocurrir que ambas proposiciones atómicas sean verdaderas y que la proposición
compuesta no lo sea. Tal sería el caso si "Las naranjas maduran" fuera un fenómeno
cuya causa no es "El invierno se avecina". La proposición compuesta que
comentamos exige, por un lado, que ambas proposiciones componentes sean
verdaderas. Por otro, que sea verdadero también el nexo objetivo que vincula ambos
órdenes de fenómenos. A ésto se debe que una proposición compuesta semejante no
sea función de las proposiciones componentes. Y como la lógica es una disciplina
formal, ese tipo de conectivas como "porque", "a fin de qué", por ej., que suponen una
referencia al mundo real, no serán consideradas por ella.
Tradicionalmente se distingue entre la compresión y la extensión de las
Semántica del Lenguaje Formal
30
proposiciones.
La compresión es el significado de la proposición, aquello que ella significa.
La extensión es el ámbito, mayor o menor según que la proposición sea universal,
particular o individual, al cual la proposición hace referencia.
Si la lógica actual no se ocupa de la compresión, es decir del contenido significativo de
las proposiciones, será extensional. Pero ) qué debe entenderse por extensión de una
proposición? No la amplitud de realidad que la proposición abarca, porque la lógica es
ciencia formal, no se vincula con los hechos del mundo. Para la lógica proposicional, la
extensión de una proposición se reduce a cubrir este ámbito mínimo: ser verdadera o
falsa.
En rigor, para esta lógica hay sólo dos proposiciones; una verdadera, otra falsa.
Las infinitas proposiciones posibles pueden reducirse a dos grupos. el de las verdaderas,
el de las falsas. Todas las verdaderas son equivalentes. Todas las falsas son
equivalentes. La lógica bivalente no distingue (pues no se ocupa del sentido) entre:
El hombre llegó a la luna
Kant fue alemán
Le basta saber que son verdaderas. Tampoco ve diferencia alguna entre:
La Tierra es cuadrada
Los monos hablan sánscrito
Arriba dijimos que cuando el valor de verdad de una proposición molecular depende de
los valores de verdad de las proposiciones que la componen, estamos ante una función
de verdad. Pero no es imprescindible que una función de verdad sea una proposición
molecular. Un esquema proposicional más simple, como ¬ p, por ejemplo, también es
función de verdad.
2.3.- TABLAS DE VERDAD
Veamos ahora con más detalles cómo un esquema proposicional realizado con
una o más variables y conectivos es función de verdad de la proposición o proposiciones
que la componen. Para ello formamos una Tabla de Verdad. Esta tabla se compone de
dos partes. Una, ubicada a la izquierda, es la columna de referencia. Se coloca allí
todos los valores posibles que pueden asumir una o más proposiciones. Si se trata de
una sola proposición, la columna de referencia será:
p
V
F
Semántica del Lenguaje Formal
31
Si se emplean dos proposiciones, la columna de referencia es más compleja:
p q
V V
V F
F V
F F
Si se utilizan tres variables proposicionales, la tabla tendrá la siguiente forma:
p q r
V V V
V V F
V F V
V F F
F V V
F V F
F F V
F F F
La columna de referencia es el punto de partida para el cálculo proposicional.
Cada una de sus líneas horizontales constituye una o más premisas para resolver qué
valor le corresponde a una fórmula ubicada en el lado derecho de la tabla. Veamos un
ejemplo, el más simple. Si queremos conocer cuál es el valor de verdad de la fórmula
5 p, empleamos la tabla con una sola variable:
p ¬ p
V F
F V
Semántica del Lenguaje Formal
32
La columna ubicada debajo de ¬ p es la columna matriz de dicha fórmula. Ella muestra
el resultado del cálculo; cuando p es V (valor consignado en la primer línea horizontal
de la columna de referencia), ¬ p es F; cuando p es F(segunda línea), ¬ p es V.
Nótese, pues, que la proposición ¬ p es una función de (depende de) los valores
de la proposición p, que forma parte de ¬ p.
2.4.- DEFINICIÓN DE LOS CONECTIVOS LÓGICOS
En el ejemplo del apartado anterior, hemos mostrado cómo ¬ p es una función
de verdad. Pero hemos definido también la negación. En efecto, la columna de la
derecha, la columna matriz donde consignamos los resultados del cálculo, define al
elemento " ¬ ", operador monódico. Daremos a continuación las tablas de verdad de los
restantes conectivos lógicos o functores de verdad.
* La conjunción o producto lógico:
p q p ∧ q
V V V
V F F
F V F
F F F
Es decir que la conjunción de dos proposiciones sólo es verdadera cuando
ambas proposiciones lo son. Basta que una de ellas sea falsa para que también lo sea
la proposición compuesta.
* La disyunción o suma lógica:
Es preciso distinguir en este conectivo dos sentidos muy diferentes que también
posee la " O " en el lenguaje español. Veamos los dos ejemplos siguientes:
Juan es escritor o músico
La mesa es rectangular o circular
En el último ejemplo, las dos proposiciones vinculadas por "O" son incompatibles. Una
excluye a la otra y lo mismo ocurre al revés. Para que la proposición molecular sea
verdadera, pues, es preciso que una de las proposiciones componentes sea falsa y es
preciso también que otra sea verdadera. En el primer ejemplo, en cambio no hay incom-
patibilidad entre ambas proposiciones. "Juan es escritor" y "Juan es músico" pueden
ser ambas verdaderas. Lo cual no ocurre con "La mesa es circular" y "La mesa es rec-
tangular".
Llamaremos Inclusiva a este tipo de disyunción que acepta la verdad de
ambas proposiciones componentes, pero exige que una de las proposiciones sea ver-
dadera para que también el conjunto lo sea. Llamamos Exclusiva a la disyunción que
Semántica del Lenguaje Formal
33
impone como requisito para que la proposición compuesta sea verdadera, que una de
las proposiciones componentes sea falsa y la otra verdadera. Para esta disyunción
exclusiva empleamos un signo propio : " x ". Su tabla de verdad o matriz es distinta de
" w ".
P q p ∨ q p q p x q
V V V V V F
V F V V F V
F V V F V V
F F F F F F
Como veremos, puede prescindirse de la disyunción exclusiva sin que
ello acarree dificultades para el cálculo. Puede, en efecto, expresarse lo mismo que la
expresión compuesta p x q recurriendo al bicondicional.
* El bicondicional o equivalencia :
p q p ⇔ q
V V V
V F F
F V F
F F V
Lo que afirma el bicondicional es que p es condición necesaria y suficiente para q, del
mismo modo que q es condición necesaria y suficiente para p. En
Si y sólo si un sistema está aislado, entonces su energía total es constante.
queremos afirmar que la primera proposición es equivalente a la segunda, que cualquie-
ra de ambas es condición necesaria y suficiente de la otra. En pocas palabras, que
ambas proposiciones son equivalentes. En nuestro ejemplo hemos tomado dos pro-
posiciones cuyas significaciones son fácticamente equivalentes. Pero ello no debe
ocurrir.
Si y sólo si los vegetales vuelan, entonces Sócrates vive.
Si y sólo si la leche alimenta, la tierra se mueve.
En estos dos ejemplos la tabla nos informa que existe equivalencia. El primero, en e-
fecto, es un ejemplo de la última línea horizontal (F, F); el segundo lo es de la primera
línea (V, V). Los resultados muestran, en ambos casos, V. A nadie se le escapará que
dicha equivalencia está lejos de cumplirse en el campo de las significaciones de las
proposiciones en cuestión. Pero debemos recordar una vez más que la significación no
Semántica del Lenguaje Formal
34
es tenida en cuenta por la lógica de las proposiciones. )De qué equivalencia hablamos,
entonces? Pura y simplemente de ésta: F es equivalente a F, por eso las dos proposicio-
nes del primer ejemplo dan V; igualmente V es equivalente a V, por eso las dos
proposiciones del segundo ejemplo conducen al resultado V.
* El condicional o implicación:
Este conectivo presenta algunas dificultades, pues su equivalencia con el giro
gramatical "Si ...... entonces" es solo parcial. En efecto, "Si ..... entonces" en el
lenguaje español permite conectar dos proposiciones en muy diversos sentidos. Los
siguientes ejemplos son algunos de ellos:
1 Si es mamífero, es vertebrado.
2 Si el peso supera los mil kilogramos, la balanza se estropea.
3 Si estuviera muerto no respiraría.
4 Si se decide hoy, lo hará mañana.
5 Si todos los triángulos son figuras, el escaleno es figura.
Todos son enunciados hipotéticos. En la estructura de estos enunciados hay, al menos,
tres elementos importantes : (a) el antecedente, es decir la proposición comprendida
entre el signo "Si" y el signo "entonces"; (b) el consecuente, o sea la proposición que
sigue al signo "entonces"; (c) la afirmación de que siendo verdadero el antecedente, el
consecuente también lo será. Es decir que estos enunciados afirman, no que el
antecedente sea verdadero, sino que en caso de serlo también lo será el consecuente.
Esto quiere afirmarse cuando se dice que el antecedente implica al consecuente.
Ahora bien, esa implicación es de naturaleza múltiple. Los ejemplos antes
mencionados son algunos modos de implicación. Los dos primeros establecen una
relación entre dos órdenes de la realidad; 1 señala un vínculo permanente entre dos
fenómenos; 2 indica no sólo un nexo constante entre dos hechos sino que además la
producción del segundo por el primero, es decir apunta a un nexo causal. 3 alude no ya
a una vinculación entre dos fenómenos reales sino posibles. Es más sugiere que el
antecedente es falso, que no es un hecho. De ahí el nombre de contra fácticos que
reciben estos enunciados hipotéticos formulados de un modo subjuntivo. Los órdenes
que enlaza 4 son de distinta naturaleza; uno pertenece al ámbito de la conciencia, el otro
forma parte de la realidad. 5 muestra una implicación completamente distinta porque no
se refiere ni a la realidad ni a un hecho de conciencia; establece un nexo entre dos
órdenes formales, ideales. Aquí el antecedente implica necesariamente, forzosamente
al consecuente.
Pero entre tantas diferencias (y otras muchas que aún pueden señalarse) de
sentido que tiene "Si ..... entonces" en un idioma natural, como el español, habrá
quizás un elemento común, un parentesco básico afín a esos múltiples sentidos. La ló-
gica, cuando emplea el signo " ⇒ " pretende representar ese núcleo descarnado del
concepto de implicación, sin procurar recoger en él, las múltiples significaciones que le
otorga el lenguaje natural.
Cualquiera sea el ejemplo de condicional que tomemos, lo que allí se afirma
básicamente es que aceptando la verdad del antecedente, el consecuente no puede ser
falso. Es decir que al afirmar que p ⇒ q, suponemos que p ∧ ¬ q será una proposición
falsa. En la oración 1, por ejemplo, decir "Es mamífero y no vertebrado" sería precisa-
mente lo opuesto de lo que el condicional quiso afirmar. Ahora bien, si la oración "Es
Semántica del Lenguaje Formal
35
mamífero y no vertebrado" es lo opuesto de "Si es mamífero entonces es
vertebrado", una proposición equivalente a este último condicional, será la negación
de "Es mamífero y no vertebrado". En símbolos lógicos, tal negación se expresa de la
siguiente forma: ¬ (p ∧ ¬ q). Esta fórmula es, efectivamente, equivalente a p ⇒ q. Por
lo tanto, en la tabla de verdad ambas fórmulas tendrán igual matriz de valores de verdad.
Veamos:
P q ¬ q p ∧ ¬ q ¬ (p ∧ ¬ q) p ⇒ q
V V F F V V
V F V V F F
F V F F V V
F F V F V V
Esta vez hemos utilizado la misma columna de referencia para calcular el valor de varias
proposiciones. Como queríamos establecer el valor de ¬ (p ∧ ¬ q), empezamos cal-
culando ¬ q, luego p ∧ ¬ q. Para el cálculo de Esta última fórmula usamos como refe-
rencia la columna de p y la de ¬ q; se tuvo en cuenta, asimismo, la definición de con-
junción. Una vez resuelto p ∧ ¬ q, es fácil resolver también su negación. Para ello
simplemente se invierten los valores de verdad de la fórmula p ∧ ¬ q.
Resumiendo, una proposición molecular formada por el signo de implicación es
verdadera o cuando su consecuente es verdadero o cuando su antecedente es falso.
El único caso en que es falsa se da cuando siendo verdadero el antecedente, su
consecuente es falso.
2.4.1.- FORMULAS PROPOSICIONALES
En lugar de utilizar la palabra proposición o expresión proposicional, podemos
utilizar la palabra fórmula, o más bien específicamente fórmula proposicional. Las
fórmulas aceptadas sintácticamente pueden describirse como que tienen una gramática
libre de contexto simple similar a las gramáticas BNF utilizadas para describir lenguajes
de programación.
La sintaxis es de la misma forma, pero expresada matemáticamente diferente
a lo visto en las secciones y capítulos anteriores, utilizando nuevos conceptos
empleados por Chomsky. Nos servirá además como base simbólica de la teoría en la
construcción de compiladores.
Las reglas gramaticales son de la siguiente forma:
símbolo ‰= símbolo - 1 . . . símbolo - N
donde símbolo puede ser reemplazado por cualquier secuencia de N símbolos. Reglas
de la forma:
símbolo ‰= símbolo - 1 │. . . │símbolo - N
Semántica del Lenguaje Formal
36
donde esta regla significa que símbolo puede ser reemplazado por cualquiera de los
símbolos del lado derecho de la regla. Los símbolos que aparecen en el lado izquierdo
son denominados no terminales, mientras que los símbolos que aparecen a la derecha
de la regla son denominados terminales. Los no terminales representan
gramaticalmente clases mientras que los terminales son palabras del lenguaje.
Comenzando en un no terminal inicial, rescribir un no terminal reemplazándolo con una
secuencia de símbolos del lado izquierdo de la regla. Esta construcción finaliza cuando
la secuencia de símbolos consiste únicamente de terminales. Tal cadena de símbolos
está correcta sintácticamente o bien formada en el lenguaje definido por la
gramática.
En el cálculo proposicional los terminales son los conectivos lógicos y el conjunto
de símbolos arbitrarios denominados como el conjunto de proposiciones atómicas o
átomos. Los átomos son denotados con letras minúsculas del alfabeto y posiblemente
con subíndice.
Definición 2.4.1.1: Una fórmula en el cálculo proposicional es una cadena generada
por la siguiente gramática :
fórmula :: = p Para cualquier p ∈ P
fórmula :: = ¬ fórmula
fórmula :: = fórmula op fórmula
op :: = ∨ │ ∧ │ ⇒│ ⇐ │ ≡
Por ejemplo, la siguiente secuencia de símbolos muestra la derivación de la fórmula
proposicional p v q, a partir de una fórmula no terminal inicial.
1.- fórmula
2.- fórmula op fórmula
3.- fórmula ∧ fórmula
4.- p ∧ fórmula
5.- p ∧ q,
Cada fórmula tiene un único árbol de formación asociado con la
representación de la aplicación de las reglas gramaticales utilizadas a tal fin. La Figura
2.4.1 indica el árbol de formación que representa la siguiente fórmula:
p ⇒ q ≡ ¬ p ⇒ ¬ q
≡
b `
⇒ ⇒
b ` b `
p q ¬ ¬
9 9
p q
Figura 2.4.1 Árbol de Formación
Semántica del Lenguaje Formal
37
de acuerdo con la siguiente derivación :
1.- fórmula
2.- fórmula ≡ fórmula
3.- fórmula ⇒ fórmula ≡ fórmula
4.- p ⇒ fórmula ≡ fórmula
5.- p ⇒ q ≡ fórmula
6.- p ⇒ q ≡ fórmula ⇒ fórmula
7.- p⇒ q ≡ ¬ fórmula ⇒ fórmula
8.- p ⇒ q ≡ ¬ p ⇒ fórmula
9.- p ⇒ q ≡ ¬ p ⇒ ¬ fórmula
10.- p ⇒ q ≡ ¬ p ⇒ ¬ q
Sin embargo, la anterior secuencia de símbolos es ambigüa y puede ser
igualmente representada por otro árbol de formación, que por ejemplo puede ser
obtenido expandiendo los no terminales en una secuencia diferente. Existen tres modos
diferentes de resolver ambigüedades si ellas representan fórmulas. La secuencia lineal
de símbolos puede ser creada por un pre-orden transversal del árbol de formación:
* Considerar la raíz.
* Considerar el sub-árbol izquierdo.
* Considerar el sub-árbol derecho.
otorgando la siguiente expresión para el primer árbol :
≡ ⇒ pq ⇒ ¬ p ¬ q
y la siguiente expresión para el segundo árbol :
⇒ p ≡ q ¬ ⇒ p ¬ q
Esta notación es denominada Notación Polaca luego que el grupo de lógicos
comandados por J. Lukasiewicz la inventaran a principios de siglo. La notación es difícil
de interpretar para muchas personas y no es muy utilizada, excepto en la
representación interna de una expresión en una computadora y en algunas operaciones
de cálculo. La ventaja de la notación polaca es que una expresión puede ser ejecutada
o calculada en un orden lineal a medida que aparecen los símbolos.
El segundo modo de resolver una ambigüedad es a través de la utilización de
paréntesis. La gramática deberá cambiarse a las siguientes reglas :
fórmula :: = p Para cualquier p 0 P
fórmula :: = (¬fórmula)
fórmula :: = (fórmula op fórmula)
op :: = ∨ │ ∧ │ ⇒│ ⇐ │ ≡
Semántica del Lenguaje Formal
38
Las dos fórmulas siguientes son ahora representadas por distintas cadenas y de esa
forma no existirá ambigüedad:
((p ⇒ q) ≡ ((¬ q) ⇒ (¬ p)))
(p ⇒ (q ≡ (¬ (p⇒ (¬ q)))))
El problema con los paréntesis es que cargan demasiado a las fórmulas y las hacen
difícil de leerlas.
El tercer modo de resolver la ambigüedad dentro de las fórmulas o expresiones
lógicas es definir las convenciones de precedencia y de asociatividad entre los
conectivos lógicos. A través del uso de los paréntesis podemos determinar y obtener la
asociatividad en las fórmulas proposicionales. El orden de precedencia de los
conectivos lógicos en las fórmulas es el siguiente de mayor a menor:
¬ , ∧ , ∨ , ⇒ , ⇐ , ⇔ , ≡
2.4.2.- INTERPRETACIONES BOOLEANAS
Consideremos las expresiones aritméticas. Dada una expresión E tal como por
ejemplo la siguiente a ( b + 2, podemos asignar valores a los elementos a y b y luego
evaluar la expresión. Por ejemplo si a = 2 y b = 3 entonces la evaluación de E es de
8 . Debemos ahora definir un concepto análogo para las fórmulas booleanas o
expresiones lógicas, o más bien las denominadas interpretaciones booleanas, que por
razones históricas utilizan terminologías diferentes.
Antes de seguir adelante debemos incluir una regla más dentro de la sintaxis de
las fórmulas proposicionales y es aquella que considera a dos proposiciones atómicas
constantes falso y verdadero, que de algún modo es similar a la valorización de las
expresiones lógicas o de las proposiciones. En consecuencia tenemos que:
fórmula :: = falso │ verdadero
Definición 2.4.2.1: Sea A una fórmula proposicional y sea el conjunto {p1, ... , pn} de
proposiciones o átomos que aparecen en A. Una Interpretación
para A es la siguiente función:
v : {p1, ... , pn} ⇒ {V, F}
o sea que v asigna uno de los valores de verdad F o V a la fórmula A de
acuerdo a los valores de verdad asignados en las diferentes tablas de
verdad para cada uno de los conectivos lógicos.
Por ejemplo, dada la siguiente fórmula:
(p⇒ q) ≡ (¬ q ⇒ ¬ p)
y la interpretación siguiente :
Semántica del Lenguaje Formal
39
v(p) = F , v(q) = V
en función de tal interpretación podemos calcular el valor de verdad de la fórmula :
v (p ⇒ q) = V
v (¬ q) = F
v (¬ p) = V
v (¬ q ⇒ ¬ p) = V
v ((p ⇒ q) ≡ (¬ q ⇒ ¬ p)) = V
Ya que cada fórmula A está representada por un único árbol de formación, v está bien
definida. Ello significa que dado un A y una interpretación v, v(A) tiene exactamente un
valor cuando la definición inductiva se lleva a cabo. Si tratamos de usar la definición
sobre la cadena p ⇒ q ⇒ p sin el concepto de árbol de formación, entonces para v(p)
= F y v(q) = V, la interpretación v(A) podrá evaluarse como V o F dependiendo del orden
de la evaluación :
v ( p ⇒ ( q ⇒ p )) = V
v (( p⇒ q ) ⇒ p ) = F
Como un punto técnico, es conveniente decir que v es una interpretación para A si v
asigna valores al menos a los átomos de A. Si se asigna a más átomos que aquellos que
aparecen en A, podemos ignorar las asignaciones extras cuando computamos v(A).
2.5.- TAUTOLOGÍA, CONTRADICCIÓN E INDEFINIDOS
Hemos empleado las tablas de verdad para mostrar cómo una función de verdad
depende efectivamente de los valores de verdad de la proposición o de las proposi-
ciones que la componen. En la columna izquierda, que llamamos de referencia,
colocamos todos los valores de verdad posibles que pueden asumir dichas proposicio-
nes componentes. En la columna derecha, que llamamos matriz, consignamos los resul-
tados del cálculo.
En segundo lugar, hemos utilizado las tablas de verdad para definir cada una de
los conectivos lógicos. Pero aún existen otros usos más que haremos de las tablas de
verdad:
1.- Para determinar el valor de verdad de las proposiciones.
2.- Para determinar el carácter de las proposiciones.
3.- Para descubrir relaciones entre proposiciones dadas.
4.- Para determinar la validez de razonamientos.
A continuación veremos cada uno de estos ejemplos de las tablas, salvo
el último que lo trataremos más adelante.
Semántica del Lenguaje Formal
40
1.- Para determinar el valor de verdad de las proposiciones componentes
Cualquier esquema proposicional que enlace sus proposiciones componentes
con una o más conectivos lógicos, ya lo indicamos, tiene un valor de verdad de-
terminado. La determinación de dicho valor puede hacerse recurriendo a la tabla. En el
apartado anterior vimos dos ejemplos sencillos, ¬ p y ¬ (p ∧ ¬ q), cuyos valores de
verdad calculamos usando como punto de partida la columna de referencia. Aunque la
complejidad de la fórmula aumente, la tabla nos permitirá en forma mecánica establecer
cuáles valores corresponden a la misma.
Veamos el ejemplo siguiente: Deseamos determinar el valor de la fórmula
¬ [(p ⇒ q) ≡ (p ∧ q)]
Para ello seguimos este orden: calculamos primero los conectores de menor
alcance (el condicional y la conjunción), luego el que los sigue en mayor alcance
(el bicondicional) y finalmente el de mayor alcance (la negación). Las matrices
primera y segunda (todas las matrices se colocan debajo del conectivo, pues él
determina los valores de la fórmula) se calcularon teniendo en cuenta la
columna de referencia; la tercer matriz está construida en base a las dos pri-
meras y la cuarta matriz en función de la tercera. Como se verá, es im-
prescindible para poder hacer el cálculo de valores de verdad tener presente las
definiciones de los diferentes conectivos o conectores lógicos.
p q (p ⇒ q) (p ∧ q) (p ⇒ q) ≡ (p ∧ q) 5[(p ⇒ q) ≡ (p
∧q)]
V V V V V F
V F F F V F
F V V F F V
F F V F F V
2.- Para determinar el carácter de las proposiciones
Veamos ahora cómo la tabla permite determinar el carácter de las proposicio-
nes.
Tomemos los siguientes ejemplos: (p ∨ q); (p ⇒ q) ≡ (5 p ∨ q); p ∧ (5 p ∧ q)
p q (p ∨ q) (p ⇒ q) ≡ (¬ p ∨ q) p ∧ (¬ p ∧ q)
V V V V V V F F
V F V F V F F F
F V V V V V F V
F F F V V V F F
Semántica del Lenguaje Formal
41
Si se observan los valores de verdad que muestran las tres EBF (dichos valores
están ubicados en todos los casos debajo del conectivo de mayor alcance) se percibirá
una notable diferencia entre ellos; el primero es verdadero algunas veces (tres veces)
y falso otra; el segundo es siempre verdadero y el tercero es siempre falso.
Los enunciados o fórmulas del primer tipo, aquellos que a veces son falsos y
otras verdaderos, reciben el nombre de INDEFINIDOS. Los del segundo tipo, siempre
verdaderos, se denominan TAUTOLOGÍAS; los del tercer tipo, siempre falsos, son de-
nominados CONTRADICCIONES.
Definiremos estos tres tipos de expresiones recurriendo a las nociones de
Avaloración y de Dominio, introducidas por Carnap. Se entiende por Avaloración al
conjunto de combinaciones de los valores de verdad de una fórmula. Tomemos por e-
jemplo, la fórmula p ∨ q: debajo de ella están los resultados del cálculo, que son cuatro
según se parta de los valores VV, VF, FV o FF de las proposiciones componentes. Esos
cuatro resultados constituyen la avaloración de p ∨ q. Dominio, en cambio, alude
solamente a aquellos casos de avaloración verdaderos. En la expresión lógica
considerada, el dominio es igual a tres. El dominio se denomina pleno cuando coincide
con la avaloración, cuando todas las combinaciones entre V y F dan por resultado
siempre V. El dominio se dice vacío cuando en la avaloración sólo figuran F, cuando
todas las combinaciones entre V y F conducen a F.
Ahora podemos definir a la Tautología como aquella fórmula cuyo dominio es
pleno, o en la que todas las interpretaciones son verdaderas. Esto también suele
denominarse como que el modelo es válido. A la contradicción como aquella fórmula
que tiene un dominio vacío, o cuando todas las interpretaciones son falsas, suele
decirse que la fórmula no es satisfacible o satisfecha. A la indefinida (o sintética)
como una fórmula cuyo dominio es parcial, es decir que incluye V en su avaloración,
pero también F, o cuando las interpretaciones son algunas falsas y otras verdaderas, en
cuyo caso diremos que la fórmula es satisfacible o que está satisfecha.
Recordemos el concepto de interpretación. Interpretar una fórmula es adjudi-
carle un contenido significativo. El ejemplo p ∧ q, es una fórmula vacía y como tal la
estudia la lógica. Pero podemos convenir dentro de cierto contexto, que p ∧ q signifique
"El zorzal silba y el loro habla", por ejemplo. Decimos entonces que la fórmula
considerada está interpretada. Ahora bien, ocurre que cuando interpretamos las
fórmulas lógicas descubrimos que sus propiedades son muy distintas según se trate de
una tautología, de una contradicción o de una fórmula indefinida. Lo veremos en los
siguientes ejemplos:
P q p ∧q p ∨ ¬ p p ∧ ¬ p
V V V V F
V F F V F
F V F V F
F F F V F
Semántica del Lenguaje Formal
42
La segunda fórmula, p ∨ ¬ p, es tautológica. Si la interpretamos, es fácil ver que
nada nos informa sobre la realidad. En efecto, "El zorzal silba o el zorzal no silba",
nada me permite conocer sobre el comportamiento real del zorzal. Sé que es verdad
que o el zorzal silba o no lo hace, su conducta ha de ser una u otra. Pero no sé cuál es
porque la tautología nada me informa. Algo semejante ocurre con el tercer ejemplo, que
es una contradicción, p ∧ ¬ p. Ante una afirmación como "El zorzal silba y el zorzal no
silba", no dudamos en desecharla como indudablemente falsa pues atribuye si-
multáneamente dos conductas contradictorias al zorzal. Nos resulta imposible concebir
que el zorzal esté silbando y no lo esté haciendo. Aunque de distinto modo, las fórmulas
contradictorias interpretadas hacen algo semejante a las tautologías: nada nos informa
sobre los hechos.
El segundo ejemplo, en cambio, algo nos informa sobre la realidad cuando es in-
terpretado. Efectivamente, si se que p ∧ q es verdadero, si se que "El zorzal silba y el
loro habla" es verdadero, tengo un conocimiento del modo de ser de la realidad en
cuestión. No ocurre aquí, lo que ocurría con p ∨ ¬ p. Pues podíamos estar seguros de
que esta última expresión era absolutamente verdadera y sin embargo nada conocer de
la realidad que hablaba. La verdad de p ∧ q es más fuerte que la de p ∨ ¬ p cuando
ponemos en vinculación ambas fórmulas con la realidad. La tautología parece ser un
esquema no apto para retener significados del mundo real. La contradicción es un
esquema incompatible con la realidad. Las fórmulas indefinidas, en cambio, pueden
expresar una significación real.
Para terminar este punto recordemos que nuestro propósito era mostrar cómo la
tabla de verdad sirve para determinar el carácter de las proposiciones, es decir de-
terminar en forma indudable, si cualquier fórmula, EBF o enunciado es contradictoria,
tautológica o indefinida. Hemos visto varios ejemplos. Si al resolver el valor de verdad
de una fórmula nos damos con que su matriz tiene dominio pleno estamos ante una
tautología; si el dominio es vacío, ante una contradicción y si es parcial estamos ante
una fórmula indefinida o sintética.
3.- Para descubrir relaciones entre las proposiciones dadas
Veamos cómo la tabla de verdad sirve también para descubrir relaciones dife-
rentes entre dos fórmulas cualesquiera. Observemos los siguientes dos ejem-
plos:
p ⇒ q y ¬ ( ¬ p ∨ q)
A simple vista no podemos saber qué relación guardan ambas fórmulas entre sí.
Pero haciendo la tabla de verdad de ambas esa relación puede mostrarse claramente
a través de ella.
Salta a la vista que la matriz de la segunda fórmula (ubicada bajo la negación
fuera del paréntesis) es inversa punto por punto a la matriz de la primera fórmula;
cuando aquella es F, ésta es V; cuando aquella es V, ésta es F. Decimos, en casos así,
que una fórmula es la negación de la otra, que una contradice a la otra y viceversa. En
suma, que la relación entre ambas es la contradicción.
Semántica del Lenguaje Formal
43
p q p ⇒ q ¬ (¬ p ∨ q)
V V V F V
V F F V F
F V V F V
F F V F V
Pero existen otras relaciones posibles. Consideremos las siguientes dos expre-
siones lógicas:
p ∧ q y p ≡ q
Recordemos sus correspondientes tablas de verdad:
p q p ∧ q p ≡ q
V V V V
V F F F
F V F F
F F F V
)Qué ocurrirá si entre ambas matrices colocamos el signo de la implicación? Es
decir, )qué resultado tendrá esta fórmula que combina las dos anteriores por medio del
condicional? (p ∧ q) ⇒ (p ⇔ q). Recurramos nuevamente a la tabla:
p q (p v q) ⇒ (p ⇔ q)
V V V V V
V F F V F
F V F V F
F F F V V
El resultado de la implicación es siempre V. Es decir que la primer fórmula o
expresión lógica (p v q) implica a la segunda (p ⇔ q). Entre dos fórmulas cualesquiera
dadas, recurriendo a la tabla puede establecerse fácilmente (como en el ejemplo con-
siderado), si una de ellas implica a la otra o no. Notar que en el ejemplo realizado, que
Semántica del Lenguaje Formal
44
si bien (p ∧ q) implica (p ⇔ q), no ocurre lo mismo al revés : (p ⇔ q) implica a (p ∧ q).
Por esta sencilla razón: hay un caso en que el antecedente (p ⇔ q) es ahora V y el
consecuente (p ∧ q) es F, en la última línea horizontal. La implicación en ese caso único,
sería falsa. Pero ese caso de F basta para que la matriz de la implicación no sea una
tautología.
En resumen, la relación entre ambas fórmulas es de implicación si (p ∧ q) es
antecedente, pero no lo es si (p ⇔ q) es el antecedente.
Pero existe una relación posible entre dos fórmulas que para nosotros tendrá
mayor utilidad en los cálculos a realizar en otros apartados. Como en los dos casos
anteriores, también aquí la tabla pone al descubierto esta nueva relación.
Tomemos nuevamente dos ejemplos: ¬ (p ∧ q) y (¬ p ∨ ¬ q)
p q ¬ (p ∧ q) (¬ p ∨ ¬ q)
V V F F
V F V V
F V V V
F F V V
Las matrices de ambas fórmulas son idénticas, son equivalentes. Es decir que
si colocamos entre ambas el signo del conectivo bicondicional o equivalencia, ob-
tendremos una matriz tautológica, una matriz que sólo tendrá V. Lo mismo ocurrirá con
este segundo ejemplo: ¬ (p ∨ q) y (¬ p ∧ ¬ q).
p q ¬ (p∨ q) (¬ p ∧ ¬ q)
V V F F
V F F F
F V F F
F F V V
Ambas fórmulas son, pues, equivalentes. Es decir que la fórmula compuesta por estas
últimas:
¬ (p ∨ q) ≡ (¬ p ∧ ¬ q)
es tautológica. Y también la resultante de unir las dos del primer ejemplo con el bi-
condicional:
¬ (p ∧ q) ≡ (¬ p ∨ ¬ q)
Semántica del Lenguaje Formal
45
Ambas tautologías, como todas las tautologías, son Teoremas de la lógica pro-
posicional.
Los dos teoremas mostrados anteriormente reciben el nombre de Teoremas de De
Morgan.
Pero estas equivalencias tienen para nosotros un particular interés. Porque,
como se puede observar, no sólo son equivalentes dos fórmulas entre sí en los ejemplos
dados. Existen en ellas, además, un detalle importante: emplean conectivos diferentes
y a pesar de ello sus matrices son idénticas. Ello hace que nos preguntemos, en una
forma más general: )toda fórmula expresada por un conectivo tiene su equivalente en
otra expresión bien formada que utiliza un conectivo diferente? La respuesta a ello es
afirmativa.
Veamos ahora a qué reglas debe someterse el traslado de una fórmula a su
equivalente con un conectivo diferente. Empecemos con la conjunción y con la disyun-
ción.
(a).- Para pasar de una expresión expresada en conjunción a otra expresión equiva-
lente expresada en disyunción: primero cambiar el valor del conjunto (si el
conjunto está negado, pasa a ser afirmativo y viceversa). Segundo, cambiar
también el valor de las proposiciones componentes.
Esto es lo que se hizo en el ejemplo ¬ (p ∧ q). Primero se cambió el valor del
conjunto y segundo se invirtió también el de las proposiciones componentes, p
y q; el resultado fue la fórmula equivalente: (¬ p ∨ ¬ q). Es importante destacar
que la misma regla se emplea para pasar de disyunción a conjunción. Es lo que
vimos en el segundo teorema de De Morgan. La fórmula original era ¬ (p ∨ q).
Siguiendo iguales indicaciones que en el caso anterior, resulta la fórmula
equivalente expresada en conjunción: (¬ p ∧ ¬ q).
Si se construyen las tablas de las siguientes equivalencias, se comprobará que
todas ellas son tautologías, o teoremas:
( p ∧ q ) ≡ ¬ (¬ p ∨ ¬ q)
(¬p ∧ q ) ≡ ¬ ( p ∨ ¬ q)
¬ ( p ∧ ¬ q) ≡ (¬ p ∨ q)
( p ∨ q ) ≡ ¬ (¬ p ∧ ¬ q)
(b).- Para pasar de una fórmula expresada en conjunción a otra fórmula equivalente,
pero expresada en condicional, la regla que utilizamos es distinta a la anterior.
Esta vez debemos, primero cambiar el valor del conjunto y, segundo, cambiar el
valor del segundo miembro. Por ejemplo, (p ∧ q) será equivalente a la expresión
¬ (p ⇒ ¬ q), lo cual se confirma fácilmente con la siguiente tabla:
Semántica del Lenguaje Formal
46
p q (p ∧ q) ¬ (p ⇒ ¬ q)
V V V V
V F F F
F V F F
F F F F
La misma regla nos permite pasar de condicional a conjunción. Es lo que se hizo
cuando definimos la implicación (p ⇒ q) como sinónimo o equivalente de la
expresión ¬ (p ∧ ¬ q).
(c).- Para pasar de disyunción a condicional o viceversa, la regla indica simplemente:
cambiar solamente el valor del primer miembro. La proposición (p ∨ q), por ejem-
plo, será equivalente a (¬p⇒ q).
p q (p ∨ q) (¬ p ⇒ q)
V V V V
V F V V
F V V V
F F F F
Y la implicación (p ⇒ q) será equivalente a una disyunción siguiendo la misma
regla. En este caso será (¬ p ∨ q), otra fórmula equivalente del condicional. Esta
última expresión será, forzosamente, también equivalente a ¬ (p ∧ ¬ q) y que,
como se vio anteriormente, era también equivalente a la implicación.
No hemos agotado las equivalencias. Simplemente consideramos algunas de el-
las, que serán importantes para el cálculo posterior. Indicaremos a continuación algunas
de las equivalencias más importantes y que son de gran utilidad en el cálculo proposicio-
nal. Debemos recordar que todas ellas son teoremas o tautologías.
(1) (p ⇔ q) ≡ [(p ⇒ q) ∧ (q ⇒ p)] Bicondicional
(2) (p ⇔ q) ≡ [(p ∧ q) ∨ (¬ p ∧ ¬ q)] Bicondicional
(3) (p ∨ q) ≡ (q ∨ p) Conmutación de ∨
(4) (p ∧ q) ≡ (q ∧ p) Conmutación de ∧
(5) [p ∨ (q ∨ r)] ≡ [(p ∨ q) ∨ r] Asociación de ∨
(6) [p ∧ (q ∧ r)] ≡ [(p ∧ q) ∧ r] Asociación de ∧
(7) ¬ (¬ p) ≡ p Doble Negación
(8) (p ⇒ q) ≡ (¬ q ⇒ ¬ p) Transposición
(9) p ≡ (p w p) Tautología
Semántica del Lenguaje Formal
47
(10) [(p ∧ q) ⇒ r] ≡ [p ⇒ (q ⇒ r)] Exportación
(11) [p ∧ (q ∨ r)] ≡ [(p ∧ q) ∨ (p ∧ r)] Distributiva de v
(12) [p ∨ (q ∧ r)] ≡[(p ∨ q) ∧ (p ∨ r)] Distributiva de w
2.6.- SATISFACTORIO , VALIDEZ Y CONSECUENCIA
Definición 2.6.1: Una fórmula proposicional A es satisfactoria si su valor es
verdadero en alguna interpretación. Una interpretación
satisfactoria es denominada como un modelo para A. Una
fórmula A es válida si su valor es verdadero para todas
interpretaciones, a lo cual lo denotamos como: Ö A
Definición 2.6.2: Una fórmula proposicional A es no satisfactoria o
contradictoria si no es satisfactoria, o sea que, su valor es falso
para todas interpretaciones. Es no válida o falsa si no es válida,
o sea que, es falsa para algunas interpretaciones.
2.7.- LÓGICA TRIVALENTE (LUKASIEWICZ)
Consideramos una lógica con tres valores de verdad designados por las letras
"V", "F" y "I" (Verdadero, Falso, Indeterminado), con los mismos conectivos lógicos:
Negación "¬", Conjunción "∧", Disyunción "∨", Condicional "⇒" y Bicondicional "⇔",
definidos por las tablas de verdad siguientes:
P ¬ p p q p ∨ q p ∧ q p ⇒ q p ⇔ q
V I V V V V V V
I F V I V I I I
F V V F V F F F
I V V I I I
I I I I I I
I F I F I I
F V V F V F
F I I F V I
F F F F V V
Llamaremos Tautología, como en la lógica bivalente, a las expresiones
bien formadas que toman el valor V para cualquier combinación de valores de verdad de
las proposiciones o EBF componentes de la expresión dada. De igual forma tendremos
las Contradicciones (siempre falso) y las Indefiniciones (siempre indeterminados).
Semántica del Lenguaje Formal
48
2.8.- NOCIÓN GENERAL DE SISTEMAS AXIOMÁTICOS
Un sistema axiomático, en matemática, consiste en los siguientes objetos :
i) términos primitivos constituidos por elementos, conjuntos o relaciones,
cuya naturaleza no queda especificada de antemano.
ii) axiomas, que son fundamentalmente funciones proposicionales
cuantificadas, relativas a las variables que representan a los términos pri-
mitivos; es decir, son propiedades a las que deben satisfacer dichos
términos primitivos. Los axiomas definen implícitamente a éstos.
iii) definiciones, de todos los términos no primitivos.
iv) teoremas, es decir, propiedades que se deducen de los axiomas.
Anexado al Sistema Axiomático se admite la lógica bivalente, con cuyas leyes es
posible demostrar los teoremas de la teoría. Cuando se sustituyen las variables o tér-
minos primitivos por significados concretos, se tiene una interpretación del sistema
axiomático; si esta interpretación es tal que los axiomas se convierten en proposiciones
verdaderas, entonces se tiene un modelo del sistema axiomático. En este caso, todo lo
demostrado en abstracto en el sistema es válido para el modelo, y nada hay que probar
en particular.
Ejemplo 2.8.1.
Consideremos el siguiente sistema axiomático.
i) términos primitivos. Un conjunto A, y una relación R definida en A, es
decir:
R d A x A
No se especifica aquí cuál es el conjunto ni se define la relación.
ii) axiomas
A1: R es reflexiva en A.
A2: R es antisimétrica en A.
A3: R es transitiva en A.
Los tres axiomas pueden resumirse en el siguiente: R es una relación de
orden amplio en A.
iii) definición: en A se considera la relación S, tal que:
(a, b) 0 S / (b, a) 0 R
iv) teoremas: Demostramos la siguiente propiedad relativa a S:
S es reflexiva en A.
Semántica del Lenguaje Formal
49
∀ a : a ∈ A → (a, a) 0 R por A1
(a, a) 0 R → (a, a) ∈ R por iii)
Entonces, por la ley del silogismo hipotético, resulta:
œ a : a 0 A → (a, a) 0 S y en consecuencia, S es reflexiva en A.
Con un procedimiento análogo, se demuestra que S es antisimétrica y transitiva
en A. Ello significa que la relación S, inversa de R, determina un orden amplio en A.
Damos las siguientes interpretaciones para este sistema axiomático:
a).- Si A es el conjunto de los números reales, y R es la relación de "menor
o igual", se verifican A1, A2 y A3. La relación S es, en este caso, la de
"mayor o igual". Se tiene un modelo del sistema axiomático.
b).- Si A es el conjunto de las partes de un conjunto U, y R es la relación de
inclusión, entonces valen los axiomas y se tiene otro modelo del sistema.
2.8.1.- PROPIEDADES DE LOS SISTEMAS AXIOMÁTICOS
No toda elección arbitraria de términos primitivos y de propiedades relativas a
estos, caracteriza un determinado sistema axiomático. Es necesario que de los axiomas
no se derive ninguna contradicción, O si en el sistema aparecen dos axiomas o
teoremas contradictorios, entonces el sistema es incompatible o inconsistente.
Otra propiedad es la independencia del sistema, en el sentido de que ningún a-
xioma puede probarse a expensas del resto de los axiomas presentes dentro del siste-
ma. La no independencia no niega la consistencia del sistema.
2.9.- LA LÓGICA PROPOSICIONAL COMO UN SISTEMA AXIOMÁTICO
El análisis del cálculo proposicional ha seguido un orden determinado; este
orden está bien lejos de constituir lo que comúnmente denominamos como Sistema. Es
decir una organización tal del conocimiento en la que unos aspectos de la misma se
deducen de otros aspectos y que unos determinados símbolos se definan a partir de
otros símbolos.
Un conjunto de conocimientos constituye un sistema deductivo o axiomático,
cuando a partir de ciertos puntos de apoyo no definidos, ni demostrados, se define y se
demuestra ese conjunto de conocimientos. Un sistema axiomático, dentro de la lógica
proposicional, consiste en los siguientes objetos:
i) términos primitivos constituidos por proposiciones y por conectivos
principales lógicos. En algunos casos son denominados también como
símbolos terminales cuando son simples y no terminales cuando son
compuestos.
ii) axiomas y teoremas, que fundamentalmente son funciones
proposicionales, relativas a las variables que representan a los términos
primitivos; es decir, son tautologías que deben satisfacer dichos términos
Semántica del Lenguaje Formal
50
primitivos. Los axiomas son fbf tautológicas que no pueden ser dedu-
cidos de otras fbf tautológicas, es decir son independientes. En cambio
los teoremas son fbf tautológicas que pueden ser deducidos o probados
a través de la utilización de los axiomas.
iii) definiciones, expresiones, fórmulas lógicas que son derivadas de los
teoremas o axiomas y que a veces son considerados como términos no
primitivos.
iv) reglas, es decir, propiedades que deben cumplir las proposiciones o
fórmulas lógicas. De entre ellas tenemos:
Reglas de Formación. Son aquellas que dan lugar a la
constitución sintáctica del sistema
axiomático cuando el mismo es
considerado como un lenguaje formal.
Reglas Transformación Son aquellas que permiten la
transformación de fbf tautológicas en otras
fbf tautológicas y además existen las de-
nominadas Reglas de Inferencia, las que
definen las operaciones sintácticas por la
cual pueden generarse nuevas fórmulas
fbf.
v) signos auxiliares o términos no primitivos constituidos por todos
aquellos elementos no primitivos, entre ellos podemos considerar los
símbolos de puntuación lógicos.
2.9.1.- SISTEMAS GENTZEN
El sistema axiomático G ha describirse a continuación es denominado como el
Sistema Gentzen en honor al lógico que inventó este sistema formal.
Definición 2.9.1: El sistema formal G consiste de axiomas y de reglas de inferencia.
Un Axioma es cualquier conjunto de fórmulas U que contienen
un par complementario de literales: {p, ¬ p} ∈ U y las reglas de
inferencia son de la siguiente forma:
U1 ^ (α1, α2)
U1 ^ (α)
donde las descomposiciones α y β, se indican en las figuras 4.2.1 y 4.2.2. El conjunto
de fórmulas por encima de la línea son denominadas premisas y el conjunto de
fórmulas por debajo de la línea es denominado como la conclusión.
A partir de las premisas podemos inferir la conclusión o que la conclusión
puede ser probada o comprobada a partir de las premisas Intuitivamente, si tenemos
pruebas independientes de dos fórmulas podemos en consecuencia inferir su
conjunción y si tenemos una prueba de un conjunto de fórmulas podemos entonces
inferir sus conjunciones.
Semántica del Lenguaje Formal
51
Definición 2.9.2: Una prueba en G es una secuencia de fórmulas tal que cada
elemento es un axioma o puede ser inferido a partir de uno o dos
elementos previos de una secuencia utilizando una regla de
inferencia. Si A es el último elemento de una secuencia, la
secuencia es denominada como una prueba de A y de este
modo A es demostrable. Notación empleada: | A
α α1 α2
A ¬¬ A
¬ (A1 ∧ A2) ¬ A1 ¬ A2
A1 ∨ A2 A1 A2
A1 ⇒ A2 ¬ A1 A2
A1 ⇐ A2 A1 5 A2
¬ (A1 ⇔ A2) ¬ (A1 ⇒ A2) ¬ (A2 ⇒ A1)
Figura 2.9.1 : Reglas α de Inferencia para el Sistema Gentzen
La comprobación es escrita como una secuencia de conjuntos de fórmulas las
que son numeradas para una referencia conveniente. A la derecha de cada conjunto
numerado de fórmulas colocamos la justificación con la cual cada conjunto puede ser
inferido. La justificación puede ser el axioma a aplicarse o una regla de inferencia
aplicada al conjunto o conjuntos de fórmulas en el paso anterior de la secuencia. Si se
ha utilizado una regla de inferencia, debe ser identificada como regla-α o regla-β sobre
el conectivo principal de la conclusión y el número o números de las líneas conteniendo
las premisas.
β β1 β2
¬ (B1 ∨ B2) ¬ B1 ¬ B2
B1 ∧ B2 B1 B2
¬ (B1⇒ B2) B1 ¬ B2
¬ (B1 ⇐ B2) ¬ B1 B2
B1 ⇔ B2 B1 ⇒ B2 B2 ⇒ B1
Figura 2.9.2 : Reglas β de Inferencia para el Sistema Gentzen
Consideremos un ejemplo:
Semántica del Lenguaje Formal
52
Ejemplo 2.9.1: | (p ∨ q) ⇒ (q ∨ p)
Demostración:
1.- ¬ p, q, p Axioma
2.- ¬ q, q, p Axioma
3.- ¬ (p ∨ q) , q , p Regla-β - ∨ , (1) , (2)
4.- ¬ (p ∨ q) , q ∨ p Regla-α - ∨ , (3)
5.- (p ∨ q) ⇒ (q ∨ p) Regla-α - ⇒ , (4)
Podemos realizar la comprobación en el Sistema de Gentzen utilizando
cualquiera de los métodos de decisión explicados en el Capítulo III.
2.9.2.- SISTEMA AXIOMÁTICO DE RUSSEL
Los elementos básicos del sistema proposicional de Russel son los siguientes:
A.- Términos Primitivos
1: " 5 " Negación.
2: " ∨ " Disyunción
3: p, q, s Proposiciones
B.- Axiomas o Teoremas
A1: (p ∨ q) ⇒ p
A2: q ⇒ (p ∨ q)
A3: (p ∨ q) ⇒ (q ∨ p)
A4: (q ⇒ r) ⇒ [(p ∨ q) ⇒ (p ∨ r)]
C.- Definiciones
1: p ⇒ q ≡ df. (¬ p ∨ q)
2: p v q ≡ df. ¬ (¬ p ∨ ¬ q)
3: (p ⇔ q) ≡ df. (p ∧ q) ∨ (¬ p ∧ ¬ q)
D.- Reglas
a).- De Formación
1: Las fórmulas p, q, r, s están bien formadas (fbf).
2: Si p es una fbf, entonces ¬ p es una fbf.
3: Si una conectiva lógica está flanqueada por una fbf, el conjunto
constituye una fbf.
b).- De Transformación
1: Regla de Sustitución Uniforme. Si en una tautología (axioma o
teorema) sustituimos una variable proposicional en todos los
casos por una fbf, la fórmula resultante también es tautológica.
Semántica del Lenguaje Formal
53
2: Regla de Inferencia. Si en una implicación, que es teorema, el
antecedente lo es también, en consecuencia el consecuente es
también un teorema.
E.- Signos Auxiliares
1: Todos los símbolos de puntuación lógica.
Ejemplo N1 1:Consideremos el siguiente ejemplo de utilización de la Regla de Sustitu-
ción Uniforme, la que nos permite que a partir de cualquier tau-
tología (axioma o teorema) llegar a otra fbf igualmente tauto-
lógica.
A2 1) q ⇒ (p ∨ q)
En 1) p ⇒ q/ q 2) (p ⇒ q) ⇒ [p ∨ (p ⇒ q)]
Otro ejemplo de reemplazo es considerar el siguiente ejercicio:
A3 1) (p ∨ q) ⇒ (q ∨ p)
En 1) def. de ⇒ 2) (¬ p⇒ q) ⇒ (q w p)
2.9.3.- SISTEMA AXIOMÁTICO DE HILBERT
Al comparar este Sistema Axiomático de Hilbert con el de Russel, podemos indi-
car las diferencias que se presentan y que son las que se presentan en los Términos
Primitivos a los que se agregan la Implicación y la Conjunción; y dentro de los Axiomas
debemos considerar 10 (diez) más importantes, sin embargo enunciaremos algunos
otros teoremas o tautologías.
A.- Términos Primitivos
1: " ¬ " Negación.
2: " ∨ " Disyunción
3: " ∧ " Conjunción
4: "⇒ " Implicación
5: p, q, s Proposiciones
B.- Axiomas o Teoremas
A1 : p ⇒ (q ⇒ p)
A2 : [p⇒ (q ⇒ r)] ⇒ [(p ⇒ q) ⇒ (p ⇒ r)]
A3 : (p ∧ q) ⇒ p Simplificación
A4 : (p ∧ q) ⇒ q Simplificación
A5 : (p ⇒ (q ⇒ (p ∧ q)))
A6 : p ⇒ (p ∨ q) Adición
A7 : q ⇒ (p ∨ q) Adición
A8 : (p ⇒ r) ⇒ [(q ⇒ r) ⇒ ((p ∨ q) ⇒ r)]
Semántica del Lenguaje Formal
54
A9 : [(p ⇒ q) ⇒ ((p ⇒ ¬ q) ⇒ ¬ p)]
A10: p ∨ 5p
A partir de ahora enunciamos teoremas (a veces son definidos como propieda-
des de los símbolos no terminales) dentro del sistema axiomático de Hilbert, los
que como ya hemos definido no son axiomas, pero pueden ser deducidos de los
10 axiomas considerados.
11.| p ≡ p
12.| ¬ p ⇒ (p ⇒ q)
13.| (p ⇒ (q ⇒ r)) / (q ⇒ (p ⇒ r))
14.| (p ⇒ q) ⇒ ((q ⇒ r) ⇒ (p ⇒ r))
15.| (q ⇒ r) ⇒ ((p ⇒ q) ⇒ (p ⇒ r))
16.| (p ⇒ (q ⇒ r)) ⇒ ((p ∧ q) ⇒ r)
17.| ((p v q) ⇒ r) ⇒ (p ⇒ ( q ⇒ r))
18.| (p ⇒ q) ⇒ ((p ⇒ r) ⇒ (p ⇒ (q v r)))
19.| (p ⇒ q) ⇒ ((r ⇒ s) ⇒ ((p ∧ r) ⇒ (q ∧ s)))
20.| (p ⇒ r) ⇒ ((q ⇒ r) ⇒ ((p ∨ q) ⇒ r))
21.| (¬ p ⇔ q) ≡ (p ⇔ ¬ q)
22.| (p ⇔ q) ≡ (5p ⇔ ¬ q)
23.| (¬ p ⇒ p) ≡ p Tautología
24.| (p ∧ q) ≡ ¬ (¬ p ∨ ¬ q) De Morgan
25.| (p ∨ q) ≡ ¬ (¬p ∧ ¬ q) De Morgan
26.| p ≡ ¬¬ p Doble Negación
27.| (p ∨ q) ≡ (q ∨ p) Conmutativa de w
28.| (p ∧ q) ≡ (q ∧ p) Conmutativa de v
29.| ((p ∨ q) ∨ r) ≡ (p ∨ (q ∨ r)) Asociativa de w
30.| p ≡ (p ∨ p) Idempotencia
31.| p ≡ (p ∧ p) Idempotencia
32.| (p ⇒ q) ≡ (¬ q ⇒ ¬ p) Transposición
33.| (p ∧ (q ∨ r)) ≡ (p ∧ q) ∨ (p ∧ r) Distributiva
C.- Definiciones
Def.: p ⇒ q ≡ (5p ∨ q) ≡ 5(p ∧ 5q)
D.- Reglas
a).- De Formación
1: Las fórmulas p, q, r, s están bien formadas (fbf).
2: Si p es una fbf, entonces 5p es una fbf.
Semántica del Lenguaje Formal
55
3: Si una conectiva lógica está flanqueada por una fbf, el conjunto
constituye una fbf.
b).- De Transformación
1: Regla de Sustitución Uniforme. Si en una tautología (axioma o
teorema) sustituimos una variable proposicional en todos los
casos por una fbf, la fórmula resultante también es tautológica.
2: Regla de Inferencia. Consideramos la regla del Modus Ponens
((p ⇒ q) ∧ p) ⇒ q p ⇒ q
p
⎯⎯⎯⎯
ˆ q
E.- Signos Auxiliares
1: Todos los símbolos de puntuación lógica.
============================
Semántica del Lenguaje Formal
56
2.10.- PROBLEMAS CAPITULO 2
1.- Construir la tabla de verdad para cada una de las siguientes expresiones bien
formadas lógicas siguientes:
(a) (n ∨ c) (b) (n ∧ c)
(c) (¬ n ∧ ¬ c) (d) (n ⇔ (¬ w ∨ c))
(e) ((w ∨ ¬ c) ⇒ n) (f) ((w ∨ n)⇒(w ⇒ ¬ c))
(g) ((w ⇔ ¬ n) ⇔ (n ⇔ c))
(h) {(w ⇒ n) ⇒[(n ⇒ ¬ c) ⇒ (¬ c ⇒ w)]}
2.- Construir la tabla de verdad para cada una de las siguientes expresiones bien
formadas lógicas siguientes:
(a) ((p ∧ q) ∧ r) (b) (p ∧ (q ∧ r))
(c) (s ⇒ p) (d) (p ⇒ s)
(e) ((p ∧ q) ∧ (r ∧ s)) (f) ((p ∧ q) ⇔ (r ∧ ¬ s))
(g) ((p ⇔ q) ⇒ (s ⇔ r)) (h) ((¬ p ⇒ q) ⇒ (s ⇒ r))
(i) ((p ⇒ ¬ q) ⇒ (s ⇔ r))
(j) {(p ⇒ q) ⇒ [(q ⇒ r) ⇒ (r ⇒ s)]}
3.- Construir la tabla de verdad para cada una de las siguientes expresiones bien
formadas lógicas siguientes:
(a) (p ∧ q) ⇒ r (b) (p ⇒ r) ⇒ q
(c) ¬ p ⇔ (q ∨ r) (d) ¬ (p ⇔ (q ∨ r))
(e) ¬ (p ∨ q) ∧ r
4.- Construir la tabla de verdad para cada una de las siguientes expresiones bien
formadas lógicas siguientes:
(a) (p ∨ q) ⇒ (q ∨ p)) (b) (p ⇒ (p ∨ q) ∨ r)
(c) (p ∨ ¬ p)
(d) (p ⇒ ¬ p ⇒ q) (e) ((p ⇒ q) ⇒ (q ⇒ p))
(f) {[(p ⇒ q) ⇔ q] ⇒ p} (g) {p ⇒ [q ⇒ (q ⇒ p)]}
(h) ((p ∧ q) ⇒ (p ∨ r)) (i) [p ∨ (¬ p ∧ q)] ∨ (¬ p ∧ ¬ q)
(j) (p ∧ q) ⇒ [p ⇔ (q ∨ r)]
(k) {p ∧ [q ⇒ [(p ∧ ¬ p) ⇒ (q ∨ ¬ q)} ∧ (q ⇒ q)
5.- Aplicando las correspondientes definiciones y propiedades, determinar cual de
las expresiones lógicas del problema 1 son tautologías, indefiniciones o
contradicciones.
6.- Aplicando las correspondientes definiciones y propiedades, determinar cual de
las expresiones lógicas del problema 2 son tautologías, indefiniciones o
contradicciones.
7.- Aplicando las correspondientes definiciones y propiedades, determinar cual de
las expresiones lógicas del problema 3 son tautologías, indefiniciones o
contradicciones.
Semántica del Lenguaje Formal
57
8.- Aplicando las correspondientes definiciones y propiedades, determinar cual de
las expresiones lógicas del problema 4 son tautologías, indefiniciones o
contradicciones.
9.- Transformar las siguientes expresiones lógicas en otras equivalentes con la co-
nectiva que se indique en cada caso y simplificar si es posible:
(a) (¬ p ⇒ q) ⇔ (p ∨ q) a conjunción
(b) (p ⇔ q) ⇔ [(p ⇒ q) ∧ (q ⇒ p)] a conjunción
(c) (p ⇒ q) ⇔ r a disyunción
(d) ¬ (¬ p ∨ q) a condicional
(e) (p ∨ q) ∧ (p ⇒ q) a disyunción
(f) (¬ p ∧ q) ⇒ (¬ q ∨ p) a conjunción
(g) (p ⇒ ¬ q) ∧ (p ∨ ¬ q) a condicional
(h) (p ∧ ¬ q) ⇔ ¬ (¬ p ∨ q) a conjunción
(i) (¬ p ∧ q) ⇔ ¬ (¬ p ⇒ ¬ q) a condicional
10.- Utilizando las propiedades de la lógica formal, simplificar las siguientes ex-
presiones y/o expresarlas únicamente como disyunciones:
(a) (r ⇔ (¬ w ∨ s))
(b) ((w ∨ ¬ p) ⇒ q)
(c) ((w ∨ p) ⇒ (w ⇒ ¬ p))
(d) ((w ⇔ ¬s) ⇔ (s ⇔ p))
(e) {(w ⇒ p) ⇒ [(p ⇒ ¬ w) ⇒ (¬ p ⇒ w)]}
(f) [(p ∧ q) ∨ (¬ p ∧ ¬ q)] ⇔ (p ⇔ q)
11.- Utilizando las propiedades de la lógica formal, simplificar las siguientes ex-
presiones y/o expresarlas únicamente como conjunciones:
(a) ((p ∧ q) ∨ (p ⇒ s)) (b) ((p ⇒ q) ⇔ (p ∨ ¬ q))
(c) ((p ⇔ q) ⇒ (q ⇔ ¬ p)) (d) ((¬ p ⇒ q) ∨ (s ⇒ r))
(e) ((p ⇒ ¬ q) ⇒ (s ⇔ r))
(f) {(p ∨ q) ⇒ [(q ⇔ r) ⇒ (r ⇒ s)]}
12.- Utilizando las propiedades de la lógica formal, simplificar las siguientes ex-
presiones y/o expresarlas únicamente como conjunciones:
(a) (p ⇒ q) ⇒ (¬ q ⇒ p)
(b) ¬ (p ⇒ q) ⇔ (¬ q ∧ p)
(c) (p ∨ q) ⇔ (p ⇒ q)
(d) (p ⇔ q) ⇒ ¬ (p ⇒ q)
(e) [(p ⇒ q) ∧ ¬ q] ⇒ ¬ p
(f) [(p ⇒ q) ∧ ¬ p] ⇒ ¬ q
(g) [(p⇒ q) ∨ (q ⇒ p)]
(h) p ∧ ¬ [¬ (p ⇒ q) ∨ q]
(i) ¬ [(p ∨ q) ⇔ (p ⇒ q)] ⇔ [¬(p ∨ q) ⇔ (p ⇒ q)]
(j) p ⇒ (p ∨ q)
Semántica del Lenguaje Formal
58
13.- ( I ) Elimine ⇒ y ⇔ de las siguientes expresiones:
(a) (p ⇒ (q ∧ r))
(b) ((p ∨ s) ⇔ ¬ q)
(c) (r ⇔ s) ⇒ p)
(d) (((p ⇔ s) ∧ (s ⇔ r) ⇒ (p ⇔ r))
(e) (p ⇒ q) ⇔ ((p ∧ q) ⇔ q)
( II ) Inserte ⇒ y ⇔ en las siguientes expresiones:
a) (¬ s ∨ (p ∧ q))
b) (p ∧ ¬ (q ∧ r))
c) (¬ (p ∧ q) ∨ r)
d) ((r ∧ s) ∨ (¬ r ∧ ¬ s))
14.- ( I ) Utilizando las Leyes Lógicas, demuestre las siguientes equivalencias:
a) ¬ ((p ∧ q) ∨ p) ≡ (¬ p ∧ q)
b) (p ∧ (q ∧ (r ∧ ¬ p))) ≡ F, donde F es la constante proposicional “Falso”
c) ((¬ q ∨ (q ∧ r)) ∨ ¬ r) ≡ V, donde V es la constante proposicional
“Verdadero”
d) ¬ (¬ p ∨ ¬ ( r ∨ s )) ≡ (( p ∧ r ) ( p ∧ s ))
e) (( p ∨ r ) ∧ ( q ∨ s )) ≡(( p ∧ q ) ∨ ( p ∧ s ) ∨ ( r ∧ q ) ∨ ( r ∧ s ))
f) (( p ⇒ r ) ∧ ( q ⇒ r )) ≡ (( p ∨ q ) ⇒ r )
g) (( p ⇒ q ) ∧ ( p ⇒ r )) ≡ ( p ⇒ ( q r ))
h) (( p ∧ q ) ⇒ r ) ≡ ( p ⇒ ( q ⇒ r ))
i) (p ⇒ q ) ≡ (( p ∧ ¬ q ) ⇒ F)
j) (p ∨ ( p ∧ ( p ∨ q )) ≡ p
k) ( p ∨ q ∨ ( ¬ p ∧ ¬ q ∧ r )) ≡ ( p ∨ q ∨ r )
l) ( p (( ¬ q ⇒ ( r ∧ r )) ∨ ¬ ( q ∨ (( r ∧ s ) ∨ ( r ∧ ¬ s ))))
( II ) Simplifique las siguientes expresiones. Establezca cada ley que use.
a) ((p ∧ V ) ∧ ( q ∨ F ))
b) (p ∧ ( q ∧ ( r ∧ ¬ p )))
c) ((p ∧ V ) ∧ ( q ∧ ¬ p ))
d) ((p ∨ ( q ∧ s)) ∨ ( ¬ q ∧ s ))
e) ¬ ((p ∧ ¬ (q ∨ ¬ r ))
f) (p ∨ ¬ (p ∧ ¬ (q ∨ r )))
g) ((¬ p ∨ q ) ∧ ( p ∧ ( p ∧ q )))
h) (¬ (q ∧ r ∧ ¬ q ) ∧ p )
i) (((p ∨ q ) ∨ ( p ∧ ¬ q )) ∨ q )
Semántica del Lenguaje Formal
59
j) (¬ (p ∨ q) ∨ ((¬ p ∧ q) ∨ ¬ q))
k) ((p ⇒ q) ∧ ( ¬ q ∧ ( r ∨ ¬ q )))
15.- Usando las equivalencias lógicas correspondientes encuentre una afirmación
equivalente a las siguientes:
a) No es cierto que el esté informado y sea honesto.
b) Si las mercancías no fueron entregadas, el cliente no debe haber
pagado.
c) Esta tarde ni llueve ni nieva
d) Si él esta en la oficina, le daremos las noticias.
e) No es cierto que, si llueve nos reuniremos en el club
16.- Encuentre la negación de los siguientes enunciados aplicando las equivalencias
lógicas correspondientes:
a) Juan estudia Ingles y Computación
b) | - 3 | = 3 y 2 ≥ 3
c) Juan y Javier aprobaron el examen.
d) Podemos comprar esta casa o comprar un auto
e) Es suficiente que sea feriado para que no trabaje.
f) Si no hay sol, no iré a la pileta.
g) Si no hay paga, no hay trabajo
h) El programa es legible solamente si está bien estructurado.
i) El público se dormirá cuando el presidente de la sesión dicte la
conferencia
j) Nos veremos en el parque en caso que no llueva
k) Si llueve, nos reuniremos en el club o en la casa de María
l) Solicitaré un préstamo, si viajo a Brasil o a Chile.
m) Terminar de escribir mi programa antes del almuerzo es necesario para
que juegue al tenis esta tarde.
n) María puede subir a la motocicleta de Luis sólo si usa el casco
Semántica del Lenguaje Formal
60
La siguiente tabla resume las equivalencias lógicas más importantes del Álgebra
proposicional.
TABLA 1: EQUIVALENCIAS LÓGICAS
¬¬ p ≡ p Doble negación
( p ∧ q ) ≡ (q ∧ p)
( p ∨ q ) ≡ (q ∨ p)
( p ⇔ q ) ≡ (q ⇔ p)
Leyes conmutativas
(( p ∧ q ) ∧ r ) ≡ ( p ∧ (q ∧ r))
(( p ∨ q ) ∨ r) ≡ (p ∨( q ∨ r))
Leyes asociativas
( p ∨ ( q ∧ r )) ≡(( p ∨ q ) ∧ ( p ∨ r ))
( p ∧ ( q ∨ r )) ≡(( p ∧ q ) ∨ ( p ∧ r ))
Leyes Distributivas
( p ∨ p ) ≡ p
( p ∧ p ) ≡ p
Leyes de idempotencia
( p ∨ F ) ≡ p
( p ∧ V ) ≡ p
Leyes de Identidad
( p ∨ V ) ≡ V
( p ∧ F ) ≡ F
Leyes de Dominación
( p ∨ ¬ p ) ≡ V
( p ∧ ¬ p ) ≡ F
Leyes de los Inversos
¬ ( p ∨ q ) ≡ ( ¬ p ∧ ¬ q )
¬ ( p ∧ q ) ≡ ( ¬ p ∨ ¬ q )
Leyes de De Morgan
( p ⇒ q) ≡( ¬ q ⇒ ¬ p) Ley de la Contrarecíproca
( p ⇒ q) ≡( ¬ p ∨ q )
¬ ( p ⇒ q) ≡( p ∧ ¬ q )
Leyes del Condicional
(( p ∧ q ) ∨ p ) ≡ p
(( p ∨ q ) ∧ p ) ≡ p
Leyes de Absorción
Decisión en la Lógica Formal
61
LÓGICA COMPUTACIONAL
CAPITULO III
DECISION EN EL LENGUAJE FORMAL
3.1.- NOCIÓN GENERAL
En los capítulos anteriores vimos dos puntos importantes, que ahora
pondremos en relación. El primero es el empleo de la tabla de verdad para determinar
el carácter de una proposición, fórmula o EBF. Dicha determinación tiene en la lógica
un nombre técnico: Decisión. Para decidir con certeza lógica, si una expresión bien
formada es tautológica, contradictoria o indefinida, se recurre a diferentes
procedimientos. Uno de ellos, como vimos en el capítulo anterior, es la tabla de
verdad. Estos procedimientos son mecánicos y finitos. Mecánicos, porque sin
interpretar la fórmula, sin intuir significado alguno, podemos concluir en que la misma
es o invariablemente verdadera, o invariablemente falsa o unas veces falsa y otras
veces verdadera. Finitos, pues por compleja que sea la fórmula, en un número
limitado de pasos y siguiendo reglas precisas, puede establecerse el carácter del
expresión lógica.
El segundo punto ya considerado en los capítulos anteriores, es la posibilidad
de traducir una fórmula, expresada con un conectivo, a otra fórmula equivalente que
emplea un conectivo distinto o diferente.
Dentro de estos procedimientos, tenemos las formas normales, razonamiento y
formas de razonamiento, reducción al absurdo, y método del árbol. En este capítulo
estudiaremos todos estos métodos o procedimientos de decisión.
3.2.- LA DECISIÓN POR LAS FORMAS NORMALES
Cuando hablamos de poner en relación ambos temas, los dos puntos
mencionados en el apartado anterior, pensamos en un procedimiento de decisión que
emplee la transformación de una fórmula dada en otra fórmula derivada y equivalente
a la original. Esto es lo que hace el procedimiento llamado de decisión por Formas
Normales.
Las formas normales o canónicas, llamadas así acaso porque el
pensamiento expresado en ellas ofrece mayor claridad, son fórmulas o EBF
construidas solamente con los conectivos lógicos de conjunción y disyunción y bajo
ciertas condiciones.
Existen dos formas normales; la forma normal conjuntiva (que abreviamos de
la siguiente forma: f.n.c.) y la forma normal disyuntiva (que abreviamos f.n.d.).
Decisión en la Lógica Formal
62
Forma Normal Conjuntiva
Una forma normal conjuntiva es una serie continua de conjunciones y
donde los factores de esas conjunciones son sólo disyunciones.
Por ejemplo, consideremos lo siguiente expresión lógica que es una f.n.c.:
(¬ p ∨ q) ∧ (p ∨ ¬ q) ∧ (¬ p ∨ ¬ q)
Forma Normal Disyuntiva
Una forma normal disyuntiva es una serie continua de disyunciones y
donde los factores de esas disyunciones son sólo conjunciones.
Por ejemplo, consideremos lo siguiente expresión lógica que es una f.n.d.:
(p ∧ q) ∨ (p ∧ ¬ q) ∨ (¬ p ∧ q)
Ambas formas normales deben aún cumplir con este otro requisito: no deben
tener negaciones compactas, es decir negaciones que afecten a proposiciones
moleculares o compuestas. La negación puede aparecer solamente en una
forma normal afectando a las proposiciones atómicas o simples.
La diferencia visible entre una y otra forma normal es, como se habrá notado
en los ejemplos dados, que mientras la f.n.c. emplea a la conjunción como conectivo
de mayor alcance y a la disyunción como conectivo de menor alcance, en la f.n.d. se
utiliza a la conjunción como conectivo de menor alcance y a la disyunción como
conectivo de mayor alcance.
Para la transformación de una expresión lógica dada en una forma normal
emplearemos especialmente las reglas que permitan pasar de un conectivo a otro en
la expresión. Muy importantes también serán los teoremas de la distribución,
asociación y conmutación, propiedades éstas, que caracterizan a la conjunción y a la
disyunción. Más adelante iremos incorporando otros teoremas a los ya conocidos y
cuyo uso facilitará la transformación de cualquier expresión o fórmula a una forma
normal.
Para utilizar las formas normales como procedimiento de decisión, deben
seguirse dos pasos generales: transformar primero la fórmula dada en una forma
normal; en segundo lugar interpretar la forma normal para saber si la misma es
tautológica, contradictoria o indefinida.
3.2.1.- LA TRANSFORMACIÓN DE UNA EBF EN FORMA NORMAL
Tomemos el ejemplo más simple:
(p ⇒ q) ∧ (p ∨ q)
Esta expresión no es una forma normal, no coincide con ninguna de la
definiciones de forma normal. Por lo pronto incluye el signo de la implicación,
conectivo que no aceptan las formas normales. Lo primero que realizaremos será
eliminar el mencionado conectivo, convertirlo en alguno de los que permiten las formas
normales.
Decisión en la Lógica Formal
63
1) (p ⇒ q) ∧ (p ∨ q) Fórmula dada
2) (¬ p w q) ∧ (p ∨ q) Definición de "⇒"
El paso dos es una forma normal conjuntiva. Consideremos otro ejemplo simple:
1) (p ⇒ q) ⇒ (p ∧ q) Fórmula dada
2) ¬ (p ⇒ q) ∨ (p ∧ q) Def. de "⇒"
3) ¬ (¬ p ∨ q) ∨ (p ∧ q) Def. de "⇒"
4) (p ∧ ¬ q) ∨ (p ∧ q) T. de De Morgan
La expresión indicada en (4) es una forma normal conjuntiva. Pero puede
suceder que el resultado no sea tan claro, como en los ejemplos vistos, el carácter de
forma normal de la expresión a la que se llego por medio de las transformaciones.
Consideremos el siguiente ejemplo en el cual se muestra un caso de esa situación en
que a pesar de no cumplir en forma aparente con los requisitos de la f.n., la expresión
realmente es una f.n.:
1) p ⇒ (q ⇒ p) Fórmula dada
2) ¬ p ∨ (¬ q ∨ p) Def. de "⇒"
3) ¬ p ∨ ¬ q ∨ p Asociatividad
4) p ∨ ¬ p ∨ q Conmutatividad
La expresión en (4) es una forma normal conjuntiva. Puede objetarse que la misma no
cumple con los requisitos de una f.n., no es una conjunción de disyunciones, pues sólo
se ven disyunciones en ella. La cuestión se aclara si mostramos que la expresión (4)
es idéntica a la siguiente expresión:
(p ∨ ¬ p ∨ q) ∧ (p ∨ ¬ p ∨ q)
Esta fórmula es idéntica en su valor de verdad a (4). Muestra de una forma clara el
aspecto total de una f.n.c. Pero es redundante y reiterativa, ya que el segundo
paréntesis no agrega nada a la fórmula. De igual forma, en lógica, como en
matemática, podemos simplificar y reducir de esta forma la expresión, sin repeticiones
inútiles. En este caso la simplificación puede realizarse gracias al siguiente teorema:
(p ∧ p) ≡ p.
El ejemplo que acabamos de considerar es una f.n.c. de un solo miembro, es
una forma normal degenerada. Como caso límite de esa situación podemos tomar a p,
que es una forma normal.
Consideremos el siguiente ejemplo:
1) (p ⇔ q) ⇒ (p ⇒ q) Fórmula dada
2) [(p ⇒ q) ∧ (q ⇒ p)] ⇒ (p ⇒ q) Def. de "⇔"
3) ¬ [(¬ p ∨ q) ∧ (¬ q ∨ p)] ∨ (¬ p ∨ q) Def. de "⇒"
4) [¬ (¬ p ∨ q) ∨ ¬ (¬ q ∨ p)] ∨ (¬ p ∨ q) T. de De Morgan
5) [(p ∧ ¬ q) ∨ (q ∧ ¬ p)] ∨ (¬ p ∨ q) T. de De Morgan
6) (p ∧ ¬ q) ∨ (q ∧ ¬ p) ∨ (¬ p ∨ q) Asociatividad
Es preciso tener en cuenta que todas las expresiones transformadas son
equivalentes a la original. Es por eso de que las formas normales pueden ser un
método de decisión. A través de ellas podremos determinar si la expresión lógica
original es tautológica, contradictoria o indefinida.
Decisión en la Lógica Formal
64
Deber tenerse en cuenta asimismo, que para obtener un f.n. pueden existir
varios caminos. En el ejemplo anterior (cuyo punto final mostrará una forma normal
disyuntiva), podríamos haber partido de otra definición de bicondicional y seguir un
ordenamiento diferente en las transformaciones. Pero cualquiera sea el camino
seguido, llegaremos siempre a una f.n.c y a una f.n.d., ambas equivalentes. Es decir
cada fórmula tiene una f.n.c. y una f.n.d., pero lo recíproco no es válido, porque una
misma forma normal corresponde a muchas fórmulas.
3.2.2.- INTERPRETACIÓN DE LAS FORMAS NORMALES Y DECISIÓN
Las dos formas normales no sólo se diferencian por el empleo distinto que
hacen de la conjunción y de la disyunción. Cada f.n. revela algo importante de la
expresión original. La f.n.c. nos informa acerca de la verdad de la expresión. Veamos
de qué forma. Consideremos el ejemplo siguiente:
(p ∨ ¬ p) ∧ (q ∨ ¬ q) f.n.c.
tenemos el caso de una conjunción cuyos dos factores o paréntesis son verdaderos. Y
lo son ambos, por simbolizar el clásico Principio Lógico del Tercero Excluido, uno
de los tres principios formulados por la lógica tradicional. Este principio afirma que dos
proposiciones contradictorias no pueden ser ambas falsas: (p ∨ ¬ p), p o no p significa
que una es verdadera o la otra lo es. No existe una tercera posibilidad. Interprétese
con cualquier ejemplo esa fórmula y se verá que es tautológica ("Las mariposas son
canarios" o "Las mariposas no son canarios", "El espacio es infinito" o "El espacio no
es infinito", etc.). Ahora bien, si la conjunción que vimos une dos tautologías, entonces
es verdadero. Pues una conjunción exige, para ser verdadera, que los miembros
unidos por ella sean ambos verdaderos. En este caso se cumple. Pero existe algo
más. Una expresión como:
(p ∨ ¬ p ∨ q)
es igualmente tautológica, por el solo hecho de que p ∨ ¬ p forma parte de ella. En
efecto, cualquiera sea el valor de q, el valor de verdad del conjunto será verdadero. Si
construimos la tabla de p ∨ ¬ p, siempre tendremos verdadero. Si a partir de ahí,
construimos la tabla de (p ∨ ¬ p) ∨ q, como ya existe una columna de dominio total,
cualquiera sea el valor de q, el resultado de su disyunción con una tautología será otra
tautología. Debido a que una disyunción exige para ser verdadera que al menos uno
de sus factores lo sea. Podemos expandir la fórmula, agregarle cuántas proposiciones
queramos (r, s, t, u, etc.) a las anteriores, siempre será un conjunto tautológico. La
tautología del Tercero Excluido trasmitirá su carácter de invariablemente verdadera a
cualquier fórmula que lo incluya y le agregue proposiciones mediante la disyunción:
(p ∨ ¬ p ∨ q ∨ r ∨ t ∨ s), como (p ∨ ¬ p), es también tautología.
En resumen, la conjunción de disyunciones, sin negaciones
compactas (forma normal conjuntiva), es tautológica si cada factor incluye una
variable proposicional y su negación. Por eso decíamos que la f.n.c. nos informaba
acerca de la verdad o no de una expresión lógica, o sea si es o no una tautología. Si la
f.n.c. no tiene una variable proposicional y su negación en cada uno de los factores,
entonces la expresión no será tautológica. Lo importante es que la f.n.c. solo nos
permite decidir si la fórmula de la cual empezamos, es tautológica o no. Pero, como ya
sabemos, existen fórmulas contradictorias y también indefinidas. Una forma normal
disyuntiva nos informará acerca de que si una expresión es contradictoria o no.
Decisión en la Lógica Formal
65
Consideremos el siguiente ejemplo:
(p ∧ q ∧ ¬ p) ∨(¬ p ∧ q ∧ ¬ q)
Se trata de una f.n.d.. Y es contradictoria, porque cada una de las expresiones
que vincula la disyunción incluye una variable proposicional y su negación. Es decir
que ambos factores son falsos, contradictorios. Como se recordará, este era el único
caso en que una disyunción es falsa. Si en la f.n.c. nos basábamos en el Principio del
Tercero Excluido, ahora estamos empleando otro principio lógico no menos
importante, el Principio de la Contradicción.
Este principio afirma que dos proposiciones contradictorias (p y ¬ p) no pueden
ser ambas verdaderas. Si en una conjunción de dos o más variables proposicionales
aparece una proposición y su negación, la fórmula o expresión es automáticamente
contradictoria. Es fácil ver porqué; por ejemplo consideremos (p ∧ q ∧ ¬ p), la cual es
falsa cualquiera sea el valor de verdad de q, pues la presencia de p y de ¬ p en la
expresión hace invariablemente falso a uno de los términos de la conjunción. Y un
término falso en una conjunción es suficiente para que la expresión sea falsa.
En resumen, la disyunción de conjunciones, sin negaciones compactas
(forma normal disyuntiva), es contradictoria si cada factor incluye una variable
proposicional y su negación. Por eso hemos dicho que la f.n.d. nos informa si la
expresión lógica dada es contradictoria o no, nos informa acerca de la falsedad de la
fórmula original. Si la f.n.d. no tiene una variable proposicional y su negación, en todos
sus factores, la expresión original no es falsa, no es contradictoria.
Del análisis realizado hasta ahora con las formas normales, se desprenden dos
interrogantes aún no contestados, a saber:
(a).- Si una f.n.c. no es tautológica, ¿cómo decidir si la expresión es
contradictoria o indefinida? Pues la f.n.c. sólo nos informa si es
tautológica o no la fórmula original o de partida.
(b).- Si una f.n.d. no es contradictoria, ¿cómo podemos determinar si la
expresión es tautológica o indefinida? Pues si la f.n.d. no es
contradictoria, eso significa que la expresión original es, una vez al
menos, verdadera. Pero nos resta saber si es siempre verdadera, o
unas veces si y otras no.
Los dos interrogantes tienen una sola respuesta: en ambos casos es preciso
transformar una forma normal en otra. Si es f.n.c. transformarla en f.n.d. y si es f.n.d.
transformarla en f.n.c. Es decir que para determinar si una forma normal es indefinida,
es preciso transformar esa forma normal en la otra forma normal. El método es claro si
se tiene en cuenta que las dos formas normales nos dan información restringida, es
tautología o contradicción. Y como existe una tercera posibilidad, el carácter indefinido
de la expresión, si realizamos la transformación de una forma normal en otra, ocurrirá
forzosamente alguna de estas posibilidades:
1).- La f.n.c. no es tautológica. Transformada en f.n.d., se observa que no es
contradictoria. Entonces es indefinida.
2).- La f.n.c. no es tautológica. Transformada en f.n.d. cada factor incluye una
variable proposicional y su negación. Entonces es una contradicción.
Decisión en la Lógica Formal
66
3).- La f.n.d. no es contradictoria. Transformada en f.n.c., se observa que no
es tautológica. Entonces es indefinida.
4).- La f.n.d. no es contradictoria. Transformada en f.n.c. cada factor incluye
una variable proposicional y su negación. Entonces es una tautología.
El problema consiste ahora en saber como transformar una f.n.c. en una f.n.d.
y viceversa, para luego decidir si la fórmula es indefinida o no. Esa transformación se
realiza utilizando la Propiedad Distributiva. En los teoremas 11 y 12 de la lista de
teoremas del Capítulo II, podemos ver en qué consiste y a qué reglas se somete la
distribución. El teorema:
[p ∧ (q ∨ r)] ≡ [(p ∧ q) ∨ (p ∧ r)]
afirma que la conjunción (producto lógico) es distributivo respecto de la disyunción
(suma lógica). La misma propiedad la tiene el producto algebraico con respecto a la
suma:
[3 x (4 + 6)] = 30 / [(3 x 4) + (3 x 6)] = 30
Cuando decimos que la conjunción es distributiva respecto de la disyunción,
estamos aceptando que el producto lógico de disyunciones (y por lo tanto también una
f.n.c.) es equivalente a una disyunción de conjunciones(o sea una f.n.d.). Para
efectuar la transformación debemos proceder de la siguiente forma:
(a).- Distribuir cada variable proposicional de un factor con cada
variable proposicional de los factores restantes.
(b).- En esa distribución debe invertirse la ubicación de los conectivos:
la conjunción, que tenía mayor alcance, pasa a tener el alcance
menor, pasa a unir las variables de los nuevos factores. La
disyunción, que tenía el menor alcance, pasa a tener mayor
alcance, a unir los factores entre sí.
Consideremos el siguiente ejemplo:
1) (¬ p ∨ ¬ q) v (p ∨ r) f.n.c.
2) (¬ p ∧ p) ∨ (¬ p ∧ r) ∨ (¬ q ∧ p) ∨ (¬ q ∧ r) Por Distribución
3) (p ∧ ¬ p) ∨ (¬ p ∧ r) ∨ (p ∧ ¬ q) ∨ (¬ q ∧ r) Por Distribución
La expresión (1) es una f.n.c., que como no tiene una variable proposicional y su
negación en cada factor, no es tautología. En (2), por el teorema de la distribución, la
f.n.c es transformada en f.n.d., y aplicamos la propiedad conmutativa en (3) para poder
ver mejor si todos los factores poseen una variable proposicional y su negación. Pero
como observamos que ello se cumple únicamente en el primer factor, la f.n.d. no es
contradictoria. En consecuencia es indefinida. Se cumplió la posibilidad 1.
Veamos ahora el otro teorema de la propiedad distributiva, el que nos permite
transformar una f.n.d. en una f.n.c.:
[p ∨ (q ∧ r)] ≡ [(p ∨ q) ∧ (p ∨ r)]
El teorema afirma que la suma lógica (disyunción) es distributiva con respecto al
producto lógico (conjunción). Dicha propiedad no la posee la suma algebraica o
aritmética:
Decisión en la Lógica Formal
67
{[3 + (2 x 3)] = 9} … {[(3 + 2) x (3 + 3)] = 30}
En cambio la disyunción (suma lógica) acepta la distribución con el producto lógico
(conjunción). Ello puede confirmarse fácilmente mediante la tabla de verdad.
La propiedad distributiva de la disyunción con relación a la conjunción nos
permite transformar una disyunción de conjunciones a una conjunción de
disyunciones. También aquí es preciso distribuir cada variable proposicional de un
factor con cada variable proposicional de los factores restantes e invertir el alcance de
los conectivos.
Consideremos el siguiente ejemplo:
1) (p ∧ q) w (¬ q ∧ ¬ p) f.n.d.
2) (p ∨ ¬ q) ∧ (p ∨ ¬ p) ∧ (q ∨ ¬ q) ∧ (q ∨ ¬ p) Por Distribución
La f.n.d. no es contradictoria y la transformamos en una f.n.c. Como ésta no incluye en
todos sus factores a una variable proposicional y su negación, no es tautológica. Por lo
tanto es una expresión lógica indefinida. Luego se verá que los paréntesis segundos y
tercero de la expresión (2) pueden simplificarse, en un tercer paso. Como ambos son
tautologías, al eliminarlos de la expresión no altera en nada el valor de verdad de la
fórmula total y quedará reducida a la siguiente expresión: (p ∨ ¬ q) ∧ (q ∨ ¬ p).
Debemos tomar en cuenta una variante de la propiedad distributiva:
(p ∧ ¬ q) ∨ (¬ q ∨ p)
Observar que en esta fórmula el conectivo de mayor alcance aparece también en el
segundo factor. En casos como el indicado, el factor se distribuye en bloque , de la
forma dada a continuación:
1) (p ∧ ¬ q) ∨ (¬ q ∨ p) Expresión dada
2) (¬ q ∨ p ∨ p) ∧ (¬ q ∨ p ∨ ¬ q) Por Distribución
La distribución ofrece algunas dificultades cuando se trata de más de dos
miembros. Los ejemplos siguientes indicarán como debemos proceder en cada caso:
1) (p ∨ q) ∧ (¬ p ∨ r) ∧ (¬ q ∨ s) f.n.c.
Su correspondiente f.n.d. es la siguiente expresión:
(p v ¬ p v ¬ q) w (p v¬ p v s) w (p v r v ¬ q) w (p v r v s) w (q v ¬ p v ¬ q) w
(q v ¬ p v s) w (q v r v ¬ q) w (q v r v s)
Se observará que hemos distribuido primero la primera variable proposicional del
primer miembro con la primera del segundo y ambas con las restantes variables del
tercer miembro. Así surgen los dos primeros miembros de la f.n.d.. Luego está
distribuida la primera variable del primer miembro con la segunda del segundo y
ambas con las variables del tercer miembro: de allí los miembros tercero y cuarto de la
f.n.d.. Finalmente se realizo lo mismo con la segunda variable del primer miembro;
fácil es ver que los cuatro últimos miembros de la f.n.d. se diferencian de los cuatro
primeros en que donde éstos tienen p, aquellos tienen q.
2) (p v q) w (r v s) w (¬ p v ¬ r) w (¬ q w s) f.n.d.
Decisión en la Lógica Formal
68
Esta vez tenemos como ejemplo una f.n.d., que tiene un miembro (el último) cuyo
conectivo es el mismo que el de mayor alcance de la fórmula. En casos así, como ya
vimos, se distribuye compactamente dicho miembro:
(5 q w s w p w r w 5 p) v (5 q w s w p w r w 5 r) v (5 q w s w p w s w 5 p) v
(5 q w s w p w s w 5 r) v (5 q w s w q w r w 5 p) v (5 q w s w q w r w 5 r) v
(5 q w s w q w s w 5 p) v (5 q w s w q w s w 5 r) f.n.c.
Aunque aumente el número de variables dentro de cada paréntesis y también la
cantidad de factores, debe distribuirse siguiendo el principio antes señalado: distribuir
cada variable de un paréntesis con cada variable de los restantes paréntesis.
Ahora estamos en condiciones de utilizar las formas normales (disyuntiva y
conjuntiva) como un método o procedimiento de decisión. Decidamos, pues, si la
expresión lógica siguiente es contradictoria, tautológica o indefinida:
1) (p ≡ q) ⇒ (p ⇒ q) Fórmula dada
2) 5 (p ≡ q) w (5 p w q) Def. de "⇒"
3) 5 [(p v q) w (5 p v 5 q)] w (5 p w q) Def. de "≡"
4) [5 (p v q) v 5 (5 p v 5 q)] w (5 p w q) T. de De Morgan
5) [(5 p w 5 q) v (p w q)] w (5 p w q) T. de De Morgan
La expresión (5) aún no es una forma normal. Para continuar con las
transformaciones hasta lograrlo, utilizaremos la propiedad distributiva. Para hacer más
fácil el método, reduciremos la complejidad de la expresión (5) utilizando las letras
mayúsculas R, S, T, etc., como elementos metalógicos para representar fórmulas o
expresiones lógicas cualesquiera. Veamos cómo:
5) [(5 p w 5 q) v (p w q)] w (5 p w q)
( R v S ) w T
Donde (R v S) w T tiene una estructura general idéntica que la expresión (5).
Apliquemos en consecuencia la propiedad distributiva a esta nueva expresión y
reemplacemos luego nuevamente los signos metalógicos por las fórmulas que
representan:
6) [(R v S) w T] ≡ [(R w T) v (S w T)] Por Distributiva
7) [(5 p w 5 q) w (5 p w q)] v [(p w q) w (5 p w q)] Reemplazo
Metalógicos
8) (5 p w 5 q w 5 p w q) v (p w q w 5 p w q) Asociatividad
9) (5 p w 5 p w q w 5 q) v (p w 5 p w q w q) Conmutativa
10) (5 p w q w 5 q) v (p w 5 p w q) Por Simplificación
Hemos obtenido como resultado final una f.n.c., cuyos dos paréntesis incluyen una
variable proposicional y su negación, en consecuencia la fórmula es tautológica.
En el paso (10) hemos simplificado, o sea hemos eliminado las repeticiones
innecesarias. Teníamos dos veces 5 p en el primer miembro y también dos veces q en
el segundo miembro, ambas repeticiones no agregaban nada al valor de verdad de la
expresión del paso (9). La simplificación se hizo en función del teorema que ya
mencionamos en el capítulo II: (p w p) ≡ p. Existen otros teoremas que permiten
simplificar expresiones lógicas. Por ejemplo, cuando existe una tautología conocida
como miembro de una conjunción, dicha tautología puede eliminarse. Por ejemplo:
Decisión en la Lógica Formal
69
(5 p w p) v (q w r)
Podemos simplificar el primer miembro o paréntesis, porque el valor de verdad de ese
conjunto depende únicamente del valor de verdad de (q w r), ya que (5 p w p) es
siempre verdadero. La simplificación se realizo en función del siguiente teorema
lógico:
[p v (q w 5 q)] ≡ p.
Es decir que en una f.n.c. no tautológica podemos simplificar todos aquellos
miembros o factores que incluyan una variable y su negación. En efecto, el valor de la
expresión no se alterará si suprimimos esas tautologías. Por ejemplo:
[(p w 5 q w 5 p) v (q w r) v (r w p w q)] ≡ [q w r) v (r w p w q)]
Algo semejante podemos realizar con las f.n.d. no contradictorias. En ellas podemos
simplificar todos aquellos factores que contengan una variable proposicional y su
negación. El valor de la expresión lógica permanecerá intacto si eliminamos esas
contradicciones. Por ejemplo:
[(p v q v 5 q) w (r v q v s)] ≡ (r v q v s)
Para finalizar, agregaremos nuevos teoremas a la lista anterior (Capítulo II) y
cuyo empleo facilitará la decisión por el método de las formas normales.
(13) (p v p) ≡ p Simplificación de "v"
(14) [p w (q v 5 q)] ≡ p
(15) [p v (q w 5 q)] ≡ p
(16) [(p v q) ⇒ p] ≡ (p ⇒ p) Simplificación de "⇒"
(17) [(p v q) ⇒ q] ≡ (q ⇒ q) Simplificación de "⇒"
(18) [(p v q) w (r v s)] ≡ [(p w r) v (p w s) v (q w r) v (q w s)] Distributiva
(19) [(p v q) w (r w s)] ≡ [(r w s w p) v (r w s w q)] Distributiva
(20) 5 (p ⇔ q) ≡ (p ⇔ 5 q) Bicondicional negado
(21) 5 (p ⇔ q) ≡ (5 p ⇔ q) Bicondicional negado
3.3.- ENUNCIADOS Y FORMAS DE ENUNCIADOS
Para distinguir entre enunciados y formas de enunciados, distinción que hasta
aquí no hemos realizado, utilizaremos la noción de constante proposicional. Una
constante proposicional se simboliza con las letras mayúsculas (letras iniciales A, B,
C, D, etc.) y representa sólo una proposición dentro del contexto. El siguiente ejemplo
Los vegetales tienen clorofila o el cedro no es vegetal
puede representarse mediante constantes proposicionales de la siguiente forma :
Decisión en la Lógica Formal
70
A w 5 B
Pero nos preguntamos, ¿acaso no representamos mediante variables proposicionales
a proposiciones semejantes de la siguiente forma: p w 5 q?; ¿Qué diferencia existe
entre las dos expresiones lógicas A w 5 B y p w 5 q?; ¿Qué distingue a una variable
proposicional de una constante proposicional?
La respuesta es la siguiente: la constante es una proposición. "A", por
ejemplo, representa sólo a "Los vegetales tienen clorofila" dentro del contexto. La
variable "p", en cambio, no representa a esa proposición, sino sólo a su posible valor
de verdad (V o F). Es decir que mientras la constante tiene un sentido (5 B significa
"El cedro no es un vegetal"), la variable no tiene ningún sentido (5 p, por ejemplo,
alude a V o F de la proposición "El cedro no es un vegetal", pero no a su sentido).
Si hacemos la tabla de verdad de (p w 5 q), veremos que existen cuatro
posibilidades para ella. En cambio con A w 5 B no podemos construir la tabla de
verdad, pues sólo tiene una posibilidad: es verdadera (por razones extralógicas). Esto
significa que las constantes proposicionales aluden a realidades, se refieren a ellas.
En cambio una variable proposicional se refiere a posibilidades, a posibles valores de
verdad, sin aludir a realidad alguna porque no tiene significado alguno.
Ahora podemos decir que una forma de enunciado es una fórmula o expresión
lógica EBF, construida con variables proposicionales. Si se reemplazan las variables
por constantes proposicionales, cuidando en todos y en cada caso de sustituir la
misma variable por la misma constante, obtenemos un enunciado. Continuando con la
significación atribuida a A y a 5 B, los ejemplos siguientes muestran enunciados y sus
correspondientes formas:
Enunciados Formas de Enunciados
1) A v B 1) p v q
2) A ⇒ 5 B 2) p ⇒ 5 q
3) 5 A w A 3) 5 p w p
4) B v 5 B 4) p v 5 p
Decimos que cada enunciado es un caso de sustitución de su correspondiente forma
de enunciado. Notemos lo siguiente: el enunciado (2) es falso, porque se trata de un
condicional cuyo antecedente es verdadero y su consecuente falso. Pero su
correspondiente forma de enunciado no es falsa, sino indefinida. Si construimos la
tabla de verdad de p ⇒ 5 q, veremos que tiene tres valoraciones verdaderas y una
falsa. Ello significa que la falsedad del enunciado A ⇒ 5 B, no proviene de que su
correspondiente forma de enunciado sea también falsa (contradicción).
Fácil sería, en efecto, encontrar otra sustitución verdadera de la misma forma
de enunciado: "Si es triángulo, entonces no es cuadrado", por ejemplo. En casos
así decimos que se trata de enunciados indefinidos o contingentes, pues su verdad
o falsedad depende del contenido y no de su forma. El enunciado (4), también es falso
pero por razones distintas que el anterior. Aquí su falsedad proviene de ser un caso de
sustitución de una forma de enunciado contradictorio. No se encontrará, en efecto, un
solo caso de sustitución verdadero de p v 5 p.
Decisión en la Lógica Formal
71
Razonamiento semejante podemos realizar también con los dos enunciados
restantes. El enunciado (1) es verdadero pero contingente, pues su forma de
enunciado es indefinida. Es decir que su verdad depende del contenido, del significado
de sus enunciados componentes, y no de su forma de enunciado. En cambio el
enunciado (3) es verdadero en razón de constituir un caso de sustitución de una forma
de enunciado tautológico.
3.4.- EL RAZONAMIENTO
Hasta este punto nos hemos dedicado a los enunciados y a sus formas. Sobre
la base de lo que hemos estudiado, podremos avanzar hacia la comprensión de lo que
es un razonamiento. Un razonamiento está constituido por enunciados de tal
modo que el último (conclusión) se deriva con necesidad lógica de los
anteriores (premisas).
Así como distinguimos entre enunciados y formas de enunciados, veremos
también que existen razonamientos y formas de razonamientos. Analizaremos los
ejemplos siguientes:
Razonamiento Forma de Razonamiento
V Si Güemes es salteño es argentino 1) p ⇒ q
V Es argentino q
V Luego es salteño ˆ p
V Si Güemes es tucumano es argentino 2) p ⇒ q
V Es argentino q
F Luego es tucumano ˆ p
F Si la ballena es vertebrado vive en la selva 3) p ⇒ q
V Es vertebrado p
F Luego vive en la selva ˆ q
V Si la ballena es mamífero es vertebrado 4) p ⇒ q
V Es mamífero p
V Luego es vertebrado ˆ q
Como podemos observar, el razonamiento está formado por enunciados. En
tanto que la forma de razonamiento está formada por variables proposicionales. Por lo
cual podemos decir, que un razonamiento resulta de sustituir, en una forma de
razonamiento las variables proposicionales por constantes proposicionales,
reemplazando siempre la misma variable por la misma constante.
Los ejemplos (1) y (2) tienen la misma forma de razonamiento. El ejemplo (1)
tiene premisas verdaderas y conclusión verdadera, en tanto que en el ejemplo (2), se
llega a conclusión falsa a cuando hemos partido de premisas verdaderas. Cuando una
forma de razonamiento permite esto último, o sea extraer conclusión falsa de premisas
verdaderas, decimos que se trata de una forma de razonamiento inválida. En
cambio las formas de razonamiento (3) y (4) no permiten la derivación de una
conclusión falsa a partir de premisas verdaderas, porque se trata de formas de
razonamiento válidas. Si intentamos buscar un caso de sustitución de este tipo, donde
exista conclusión falsa a partir de premisas verdaderas, no lo encontraremos.
Decisión en la Lógica Formal
72
Un razonamiento es válido, cuando en un caso de sustitución de una forma
válida de razonamiento. Y es inválido, cuando es un caso de sustitución de una forma
inválida de razonamiento.
En los ejemplos considerados existe algo curioso. La forma de los
razonamientos (1) y (2), que es inválida, permite sin embargo que en ciertos casos de
sustitución, las premisas y conclusión sean verdaderas. Tal cual lo es el caso (1). La
forma de los razonamientos (3) y (4), forma válida, permite que una de las premisas y
la conclusión sean falsas, caso (3). Esto revelaría que la validez o invalidez de las
formas de razonamiento, es en alguna medida independiente de la verdad o falsedad
de las variables proposicionales, que la componen. Lo extraño es que definimos
validez e invalidez de las formas de razonamiento en función de la verdad o falsedad
de las proposiciones componentes.
¿Qué ocurre, pues?. Definimos las nociones de validez e invalidez a pelando a
la relación que guardan premisas y conclusión respecto de sus valores de verdad. Y
ahora afirmamos que la validez o invalidez sería independiente de esos valores, según
parecen mostrar los ejemplos (1) y (3). Y no sólo ese par de afirmaciones parece
contradictoria sino también esta otra: al comienzo dijimos que la lógica es una ciencia
formal, que para nada tiene en cuenta el contenido de las proposiciones. Pero ahora
hemos definido la validez de una forma de razonamiento, como aquella forma que no
permite un caso de sustitución donde haya premisas verdaderas y conclusión falsa. Y
sustituir en una forma de razonamiento es, dijimos, reemplazar variables por
constantes, es decir formas vacías (p, q, r, s, etc.) por constantes con un significado
específico. ¿No es esto una contradicción?. Entre la forma (V, F) y el contenido de las
proposiciones, la lógica como ciencia formal debe optar por la primera, desechar el
contenido. Y aquí, al parecer, hemos realizado lo contrario:
Primero: definimos la validez y la invalidez recurriendo a la sustitución, o
sea al contenido.
Segundo: nos sorprendimos diciendo que la validez y la invalidez de las
formas de razonamiento es independiente de la verdad o
falsedad de las premisas, y de la conclusión, es decir de la
forma de los enunciados componentes.
Un mismo análisis nos permitirá solucionar las dos contradicciones
mencionadas anteriormente. Cuando decimos que los ejemplos (1) y (2) tienen la
misma forma, decíamos algo que necesita de una mayor precisión. La forma general
es la misma, pero consideremos estrictamente por un momento la idea de que la
lógica toma como forma de las proposiciones a V y F. Estos signos pueden ser
reemplazados por otros convencionalmente (0, 1; /, //; etc), ya que los mismos no se
utilizan en su significación gnoseológica. Si nos ubicamos en ese formalismo exigente,
la forma de un enunciado, como por ejemplo, (p w q), asumirá las siguientes
subformas posibles de valores de verdad: (V w V), (V w F), (F w V) y (F w F). Esto es
precisamente lo que muestran las tablas. Ante la forma general de los razonamientos
(1) y (2), podemos análogamente decir que existen en ella subformas posibles:
V ⇒ V F ⇒ V V ⇒ F F ⇒ F
a) V b) V c) F d) F etc.
ˆ V ˆ F ˆ V ˆ V
(a) y (b) son las subformas que corresponden a los razonamientos (1) y (2). Podemos
ahora precisar nuestra definición de validez. No hablaremos de que una forma general
de razonamiento es válida si no tiene sustituciones de constantes proposicionales que
Decisión en la Lógica Formal
73
sean verdaderas en las premisas y falsas en la conclusión. Diremos más bien que una
forma general de razonamiento es válida si no tiene alguna sub forma que
permite la conclusión Falsa (F) a partir de premisas Verdaderas (V).
Esta definición es más formal, pues no hace reposar en el contenido
significativo de las constantes, la noción lógica de validez. De esta forma hemos
contestado a la segunda contradicción mencionadas anteriormente. Veamos ahora
que sucede con la primera contradicción mencionada.
Para comprender mejor la respuesta, nos anticiparemos a algo que se verá
luego con más detalle: toda forma de razonamiento tiene una correspondiente
forma de enunciado. La forma de enunciado que corresponde a la siguiente forma de
razonamiento:
p ⇒ q
q Es: [(p ⇒ q) v q] ⇒ p
ˆ p
Construimos la tabla de verdad de esta forma de enunciado:
p q [(p ⇒ q) v q] ⇒ p
V V V V V V V
V F F F F V V
F V V V V F F
F F V F F V F
Las cuatro subformas de que antes hablamos aparecen en cada línea
horizontal de la tabla; (a) es la primera línea; (b) es la tercera línea; (c) es la segunda
línea y (d) es la cuarta línea.
Recordemos la respuesta a la segunda contradicción: una forma general de
razonamiento es inválida cuando tiene un caso de sustitución de variables cuyo valor
general es V en las premisas y F en la conclusión. La tercer línea de la tabla es un
caso de sustitución de este tipo; su sola presencia basta para invalidar la forma
general de razonamiento. Contestemos ahora a la primera contradicción: dentro de
una forma general válida de razonamiento los valores de premisas y conclusión
pueden ser cualesquiera, menos el caso siguiente: premisas V y conclusión F. Si esto
último se da existirá invalidez. Es decir que una forma general válida de
razonamiento permite entera libertad de combinaciones entre los valores de las
premisas y conclusión (es independiente de esas combinaciones) salvo en este
punto, en que es inflexible: no permitir obtener conclusión F de premisas V.
Notar que si empezáramos de otra definición de validez, como la siguiente:
"una forma de razonamiento es válida si nos garantiza concluir en verdad", tendríamos
que aceptar como válidas las subformas (a), (c) y (d) de la forma general inválida de
razonamiento y también muchas otras formas inválidas de razonamiento.
Decisión en la Lógica Formal
74
3.4.1.- FORMAS DE RAZONAMIENTO Y FORMAS DE ENUNCIADOS
Como vimos, una forma válida de razonamiento acepta solamente estas
relaciones posibles entre premisas y conclusión:
Premisas Conclusión
V V
F V
F F
Una forma inválida, en cambio, permite además la siguiente cuarta posibilidad:
Premisas Conclusión
V F
Nótese que los casos aceptados por la forma válida coincide punto a punto con
el dominio del condicional. En efecto, el condicional es verdadero cuando el
consecuente es verdadero o el antecedente es falso. Y una forma de razonamiento es
válida cuando únicamente tiene sustituciones de variables cuyo valor general es F en
las premisas o V en la conclusión.
Por otro lado el condicional es falso cuando tiene antecedente verdadero y
consecuente falso. Y la forma de razonamiento es inválida cuando tiene al menos un
caso de sustitución de variables proposicionales, cuyo valor general es V en las
premisas y F en la conclusión.
Todo esto quiere decir que el signo "ˆ" colocado entre las premisas y la
conclusión tiene un comportamiento semejante al condicional "|". Esto nos permite,
que al sustituir "ˆ" por "|", encontrar para cualquier razonamiento un enunciado que
le corresponda. Por ejemplo:
Razonamiento Enunciado correspondiente
A ⇒ B
1) B ⇒ C 2) (A ⇒ B) v (B ⇒ C) v (A w B) ⇒ (C w B)
A w B
ˆ C w B
En (2) hemos unido las distintas premisas del razonamiento (1), mediante la
conjunción. Este procedimiento está justificado por una de las formas válidas de
razonamiento que veremos más adelante.
Destaquemos que si bien a todo razonamiento le corresponde un enunciado,
que une las premisas mediante la conjunción y reemplaza "ˆ" por "|", lo recíproco no
es válido: no todo enunciado tiene su correspondiente razonamiento. El siguiente
enunciado (A w B), por ejemplo, no puede ser convertido en razonamiento, no tiene
una proposición que se derive de otra u otras proposiciones. De lo dicho, podemos
concluir en la siguiente regla general: toda forma de enunciado cuyo conectivo de
mayor alcance sea "|", tiene su correspondiente forma de razonamiento.
Consideremos los siguientes ejemplos:
Decisión en la Lógica Formal
75
Forma de Enunciados Forma de Razonamiento
Correspondiente
1) [(p v q) w r] ⇒ p 1) (p v q) w r
ˆ p
2) [(p ⇒ q) v 5 q] ⇒ 5 p 2) p ⇒ q
5 q
ˆ 5 p
3) p ⇒ q 3) p
ˆ q
Podemos preguntarnos ahora, qué relación guarda una forma de razonamiento
con su forma de enunciado correspondiente. La respuesta que obtenemos es la
siguiente: si la forma de enunciado es tautológica, entonces la forma de razonamiento
es válida. Si la forma de enunciado es contradictoria o indefinida, la forma de
razonamiento es inválida. Porque si válida es una forma de razonamiento cuando no
acepta que de premisas verdaderas, se concluya en falsedad, la forma de enunciado
correspondiente sólo puede ser tautológica. Porque ¿qué ocurriría si la forma de
enunciado en cuestión fuese indefinida?.
Como en esta forma de enunciado el conectivo de mayor alcance es "⇒", si su
columna matriz tuviera unas veces V y otras F, ocurriría en aquellos casos donde hay
F precisamente aquello que no consiente una forma válida de razonamiento: que de
premisas (antecedentes en la forma de enunciado) verdaderas se determine una
conclusión (consecuente en la forma de enunciado) falsa.
Con mayor razón, si la forma de enunciado correspondiente a la forma de
razonamiento fuera contradictoria, esa situación inaceptable por la definición de
validez se repetiría en cada caso de avaloración de la forma de enunciado en
cuestión. De manera que, como vimos antes, mientras los enunciados y sus formas
pueden ser tautológicos, indefinidos y contradictorios, los razonamientos y sus formas
son válidos o inválidos.
Forma de Razonamiento Forma de Enunciado
Válida Tautológica
Inválida Indefinida o Contradictoria
Mostremos en un ejemplo lo que venimos diciendo. Para lo cual recurrimos
nuevamente a la tabla de verdad, las cuales permiten también decidir sobre la validez
o invalidez de los razonamientos. Primero es preciso convertir el razonamiento dado a
su correspondiente forma de razonamiento; luego transformarlo a su forma de
enunciado. Y ya sabemos como se trata a una forma de enunciado para decidir sobre
su carácter tautológico, contradictorio o indefinido mediante la tabla. Si el resultado es
una tautología, el razonamiento es válido. Si el resultado del cálculo es contradictorio o
indefinido, el razonamiento y su forma de razonamiento es inválido. Consideremos el
siguiente ejemplo:
Decisión en la Lógica Formal
76
Razonamiento Forma de Formade Enunciado
Razonamiento
Si los árboles cantan son vegetales (V) p ⇒ q [(p ⇒ q) v 5 p] ⇒ 5 q
No cantan (V) 5 p
Luego no son vegetales (F) ˆ 5 q
Un vistazo a los valores de premisas y conclusión nos anticipa desde ya la
invalidez del razonamiento. Pero construyamos la tabla de verdad de la forma de
enunciado correspondiente, para decidir si la invalidez proviene de que la forma de
enunciado sea contradictoria o indefinida.
p q [(p ⇒ q) v 5 p] ⇒ 5 q
V V V F F V F
V F F F F V V
F V V V V F F
F F V V V V V
La matriz de la implicación de mayor alcance es indefinida. La forma de
razonamiento, pues, (lo mismo que el razonamiento) es inválida. Indicamos a
continuación una lista de formas válidas de razonamiento con sus correspondientes
nombres:
1) p ⇒ q Modus Ponens
p
--------
ˆ q
2) p ⇒ q Modus Tollens
5 q
--------
ˆ 5 p
3) p ⇒ q Silogismo Hipotético
q ⇒ r
--------
ˆ p ⇒ r
4) p w q Silogismo Disyuntivo
5 p
--------
ˆ q
5) (p ⇒ q) v (r ⇒ s) Dilema Constructivo
(p w r)
----------------------
ˆ (q w s)
Decisión en la Lógica Formal
77
6) (p ⇒ q) v (r ⇒ s) Dilema Destructivo
5 q w 5 s
-----------------------
ˆ 5 p w 5 r
7) p v q Simplificación
--------
ˆ p
8) p Conjunción
q
-----------
ˆ p v q
9) p Adición
---------
ˆ p w q
3.4.2.- LA DECISIÓN EN EL RAZONAMIENTO
Si, como hemos visto en los apartados anteriores, a todo razonamiento le
corresponde una forma de enunciado, es fácil comprender que los métodos de
decisión aplicados a enunciados permiten decidir también sobre la validez o invalidez
de los razonamientos. Las formas normales, por ejemplo, que permiten decidir sobre si
un enunciado es tautológico, contradictorio o indefinido, también deciden la validez o
invalidez de un razonamiento dado. Sólo debemos considerar la relación entre
razonamiento y enunciado correspondiente: aquel es válido únicamente cuando éste
es tautológico; e inválido cuando el enunciado es indefinido o contradictorio. Dado un
razonamiento cualquiera, pues, si queremos decidir por las formas normales si es
válido o no, tendremos que proceder de la siguiente forma: transformar el
razonamiento en su enunciado correspondiente; aplicar a éste el método de las formas
normales; si el resultado establece que el enunciado es tautológico, el razonamiento
es válido; si el enunciado resulta ser indefinido o contradictorio, el razonamiento es
inválido. El empleo de las formas normales para decidir la naturaleza de un
razonamiento, es particularmente útil cuando el número de proposiciones, que
componen al razonamiento en cuestión, es abultado. En esos casos la decisión por las
tablas requiere una proliferación de columnas de referencia para realizar el cálculo y
eso complica demasiado la decisión.
3.5.- LAS IMPLICACIONES Y DERIVACIONES LÓGICAS
Estudiaremos ahora la implicación lógica y la forma en que puede utilizarse
como base de un razonamiento válido. Hay, por supuesto, razonamientos que no son
válidos y algunos de ellos serán identificados en secciones posteriores. Los
argumentos o razonamientos no válidos se los denominan falacias. Utilizando el
método de la tabla de verdad, se puede distinguir entre razonamientos válidos y
falacias.
Los patrones de razonamiento pueden expresarse de diferentes forma, tal cual
vimos en secciones anteriores. En el idioma español, la conclusión se establece
típicamente después de las premisas, y se presenta mediante palabras tales como:
“por tanto”, “como consecuencia” y “en conclusión”. En los razonamientos
presentados en secciones anteriores, enumerábamos primero todas las premisas, una
Decisión en la Lógica Formal
78
debajo de la otra. Existía una línea horizontal por debajo de la última premisa, y debajo
de esta línea, estaba la conclusión. En el caso del modus ponens, esto tiene el
siguiente aspecto:
1) P ⇒ Q Modus Ponens
P
--------
ˆ Q
Si el esquema de razonamiento es válido, y sólo entonces, utilizaremos el símbolo *4
para separar las premisas de la conclusión. Considerando el ejemplo anterior, la forma
de enunciado válido tendrá el siguiente aspecto:
p , p ⇒ q *4 q
Un razonamiento es válido si la conclusión se deduce lógicamente, siempre
que se cumplan todas las premisas. Esto significa que la conjunción de todas las
premisas implica lógicamente la conclusión. Por lo tanto, si A es la conjunción de
todas las premisas y B es la conclusión, se tiene que demostrar que A ⇒ B es una
tautología. En otras palabras se tiene que demostrar que A /> B o, equivalentemente
que, A *4 B.
3.5.1- IMPLICACIONES LÓGICAS
Cualquier tautología de la forma p ⇒ q se denomina Implicación Lógica. Ya
hemos trabajado bastante con las implicaciones lógicas. Hemos establecido, por
ejemplo, que P ⇒ V y F ⇒ P son expresiones que resultan verdaderas para todos los
valores de verdad de P, lo cual convierte a estas dos expresiones en tautologías. Por
lo tanto P /> V y F /> P. Las implicaciones lógicas son tautologías y cualquier
tautología lógicamente puede ser utilizada como la base de un esquema o forma de
enunciado lógico.
Específicamente si P es una expresión cualquiera p /> V justifica el esquema P /> V.
El esquema o forma de enunciado F /> P puede demostrarse de manera similar.
Las equivalencias lógicas crean implicaciones lógicas, según se indica en el
teorema siguiente:
Teorema 3.5.1.- Si C y D son dos expresiones lógicas y si C ≡ D entonces C />
D y D /> C.
Como aplicación del teorema, consideremos la siguiente forma de enunciado:
(( p ∨ q ) ∧ ( 5 p ∨ q )) ≡ q
Esta equivalencia conduce a la siguiente forma de enunciado e implicación lógica
importante:
(( p º q ) ¸ ( 5 p º q )) ≡> q
Por supuesto, cualquier implicación lógica se puede demostrar mediante el método de
la tabla de verdad.
Decisión en la Lógica Formal
79
Ejemplo 3.5.1.- Demostrar las siguientes formas de enunciados son tautologías
o enunciados válidos p ≡> ( p º q ) y ( p ¸ q ) ≡> p.
(a) Tabla de verdad para p ≡> ( p º q )
p q ( p º q ) p ≡> ( p º q )
V V V V
V F V V
F V V V
F F F V
Tabla 3.5.1
(b) Tabla de verdad para ( p ¸ q ) ≡> p.
p Q ( p ¸ q ) ( p ¸ q ) ≡> p.
V V V V
V F F V
F V F V
F F F V
Tabla 3.5.2
Ambas implicaciones lógicas tienen nombres: se denominan, respectivamente,
la Ley de Adición y la Ley de Simplificación. Consideremos la siguiente expresión,
correspondiente al Silogismo Hipotético, que puede expresarse de la siguiente
forma:
( p ⇒ q ) , ( q ⇒ r ) *4 ( p ⇒ r )
p q r ( p | q ) ( q | r ) Premisas ( p | r ) Válido
V V V V V V V V
V V F V F F F V
V F V F V F V V
V F F F V F F V
F V V V V V V V
F V F V F F V V
F F V V V V V V
F F F V V V V V
Tabla 3.5.3: Tabla de Verdad de Silogismo Hipotético
Decisión en la Lógica Formal
80
Consideremos el caso en el que si todas las premisas son verdaderas, y este
es el caso sólo si p y q son F, entonces la conclusión 5 p es verdadera. La forma de
enunciado correspondiente a un razonamiento como el considerado, se denomina
Modus Tollens.
( p ⇒ q) , 5 q *4 5 p
p q ( p ⇒ q) 5 q Premisas Conclusión
5 p
Válido
V V V F F F V
V F F V F F V
F V V F F V V
F F V V V V V
Tabla 3.5.4: Tabla de verdad de Modus Tollens
3.5.2.- SISTEMAS PARA DERIVACIONES
Existen diferentes sistemas para hacer derivaciones. Todos estos sistemas
tienen las siguientes características en común.
1.- Existe una lista dada de argumentos o formas de razonamientos lógicos
admisibles, llamados Reglas de Inferencia. Esta lista se la conoce con
el nombre de L.
2.- La derivación por si misma es una lista de expresiones lógicas.
Originalmente esta lista esta vacía. Se le pueden añadir expresiones a
ésta si constituyen una premisa o si pueden obtenerse a partir de
expresiones previas, aplicando una de las reglas de inferencia. Este
proceso continua hasta que se alcanza la conclusión.
Si existe una derivación para la conclusión C, dado que A1, A2, . . . ., An son
las premisas y dado que L es el conjunto de reglas de inferencia admisibles, entonces
escribimos:
A1, A2, . . . ., An | L C
Ejemplo 3.5.2: Demostrar el siguiente enunciado
( P | Q ) , ( Q | 5 R ) , ( 5 P | 5 R ) *4 5 R
Decisión en la Lógica Formal
81
Derivación Formal Regla de Inferencia Comentario
1.- ( P | Q ) Premisa
2.- ( Q | 5 R ) Premisa
3.- ( 5 P | 5 R ) Premisa
4.- ( P | 5 R ) 1, 2 SH Silogismo Hipotético entre
filas 1 y 2
5.- 5 R 3, 4 Cs Ley de Casos entre 3 y 4
Nota: La regla de Inferencia conocida como la Ley de Casos está indicada en el
siguiente esquema o enunciado:
( A ⇒ B ) , ( 5 A ⇒ B ) *4 B
Las diferentes Reglas de Inferencias admisibles están indicadas en la sección
3.4.1 y en el Trabajo Práctico Nro. 3 de la guía de Trabajos Prácticos.
Obsérvese que en la mayoría de los sistemas para derivaciones formales, el
conjunto L de reglas de inferencia es fijo. No puede utilizarse ninguna regla de
inferencia a menos que se incluya en L como una regla de inferencia admisible.
Dentro de esas reglas de inferencia tenemos: Ley de Combinación, de Simplificación,
Ley de Adición, Modus Ponens, Modus Tollens, Silogismo Hipotético, Silogismo
Disyuntivo, Ley de Casos, Eliminación e Introducción de Equivalencia y Ley de
Inconsistencia.
3.5.3.- TEOREMA DE LA DEDUCCIÓN
Para demostrar que ( A ⇒ B ) en matemáticas se utilizan con frecuencia el
siguiente argumento informal:
1.- Se supone A y se añade A a las premisas.
2.- Se demuestra B, utilizando A, si es necesario.
3.- Se prescinde de A, lo que significa que A no es necesariamente
verdadera, y se escribe ( A ⇒ B ).
Ejemplo 3.5.3.- Una pareja tiene un niño, y están esperando un segundo hijo.
Demostrar que si el segundo hijo es una niña entonces la pareja
tendrá una niña y un niño.
Sea P “el primer hijo es un niño” y Q “el segundo hijo es una niña” . Queremos
demostrar que Q | P ¸ Q , dado que la premisa es P. De acuerdo con el
método en discusión puede hacerse de la siguiente forma:
1.- P es verdadero, la pareja tiene un niño
2.- Se supone Q; esto es, se supone que el segundo hijo es una niña.
3.- A partir de P y de Q, concluya P ¸ Q por la ley de combinación.
4.- En este momento, se nos permite concluir que Q | P ¸ Q. Q puede
ahora ser licenciada, esto es Q | P ¸ Q es verdadera aun si Q resulta
falsa como resultado: en este caso Q | P ¸ Q es trivialmente
verdadera.
Es clara la razón por la cual es válido este patrón para realizar demostraciones.
Decisión en la Lógica Formal
82
Cuando demostramos A ⇒ B , solamente necesitamos considerar el caso en que A es
verdadera: si A es falsa, A ⇒ B es trivialmente verdadera. Si A es verdadera
entonces puede añadirse a las premisas. Lo que muestra la validez del procedimiento.
Esencialmente, el argumento establece que una hipótesis puede convertirse en un
antecedente de un condicional> Este es el contenido del Teorema de la Deducción,
que se enuncia de la siguiente forma:
Teorema 3.5.3.- Sean A y B dos expresiones y sean A1, A2, A3, . . . , las
premisas. Si B, A1, A2, A3, . . . , juntos implican lógicamente C,
entonces A1, A2, A3, . . . , implican lógicamente B | C.
Junto con este teorema, las reglas de inferencia admisibles, mencionadas
anteriormente, forman un sistema completo de deducción.
Ejemplo 3.5.4.- Utilizar el teorema de la deducción para derivar el Silogismo
Hipotético. Usar el Modus Ponens (MP) como única regla de
inferencia.
Demostrar: P ⇒ Q, Q ⇒ R *4 P ⇒ R
Derivación Formal Regla de Inferencia Comentario
1.- ( P ⇒ Q ) Premisa
2.- ( Q ⇒ R ) Premisa
3.- P Hipótesis Se supone P
4.- Q 1, 3 MP Modus Ponens entre filas 1, 3
5.- R 2, 4 MP Modus Ponens entre filas 2, 4
6.- ( P ⇒ R ) TD (Teorema de la
Deducción)
Se prescinde de P, esto es, P
deja de suponerse verdadero y
se concluye P⇒ R
Ejemplo 3.5.5.- Mostrar que P ⇒ Q, y P ⇒ 5 Q puede utilizarse para la
derivación de 5 P.
Demostrar: P ⇒ Q, P⇒ 5 Q *4 5 P
Decisión en la Lógica Formal
83
Derivación Formal Regla de Inferencia Comentario
1.- ( P ⇒ Q ) Premisa
2.- ( P ⇒ 5 Q ) Premisa
3.- P Hipótesis Se supone P para
derivar una
contradicción.
4.- Q 1, 3 MP Modus Ponens entre
filas 1, 3
5.- 5 Q 2, 3 MP Modus Ponens entre
filas 2, 3
6.- Q ¸ 5 Q 4, 5 C Las líneas 4 y 5
proporcionan la
contradicción deseada
7.- 5 P Negación Puesto que la hipótesis
P conduce a una
contradicción, se permite
concluir que 5 P
Corresponde a una demostración indirecta. En la demostración formal se utiliza la
palabra “Negación” para indicar que 5 P ha sido derivada y que la suposición P se
descarta en lo sucesivo.
3.6.- LA DECISIÓN POR CUADRO SEMÁNTICO
El método del cuadro semántico es un algoritmo relativamente eficiente para la
decisión y su comprobación en el cálculo proposicional. El principio es muy simple,
pues para comprobar la satisfiabilidad debemos buscar siempre un modelo.
Definición 3.6.1 Un literal es una proposición simple o una fórmula atómica o la
negación de la fórmula atómica. Definimos a {p, 5p} como el par
complementario de literales, si y solo si p es una fórmula
atómica.
Definición 3.6.2 Para cualquier tipo de fórmula A, el conjunto {A, 5A} es el par
complementario de fórmulas. A es el complemento de 5A y por
lo tanto 5A es el complemento de A.
Consideremos la siguiente fórmula A = p v (5p w 5p) y sea v una interpretación
arbitraria para A.
* v(A) = V si y solo si tanto v(p) = V y v (5p w 5q) = V
* En consecuencia v(A) = V si y solo si se cumple que :
1.- v(p) = V y v( 5q) = V
Decisión en la Lógica Formal
84
2.- v(p) = V y v( 5p) = V
De esta forma hemos reducido la prueba de satisfiabilidad de A a la prueba de
satisfiabilidad de sus literales.
Recordemos las siguientes definiciones:
Definición 1.- Una fórmula A es satisfactoria, si su valor es verdadero para alguna
interpretación. Una interpretación satisfactoria es denominada como un
Modelo de A. La notación empleada para un modelo es : Ö A
Definición 2.- Una fórmula es Válida si su valor es verdadero para todas las
interpretaciones.
Definición 3.- Una fórmula lógica o proposición compuesta es Insatisfactoria o
Contradictoria, si la misma no es satisfactoria, o sea que es FALSA (F)
para todas sus interpretaciones.
Definición 4.- Una fórmula lógica es Inválida o No Válida o Falsificable, si no es
válida, o sea que su valor es FALSO (F) para alguna interpretación de
sus valores de verdad.
Consideremos la siguiente fórmula:
B = (p w q) v (5p v 5q)
* v(B) = V ssi v(p w q) = V y v(5p v 5q) = V
* En consecuencia v(B) = V si y solo si v(p w q) = V y v(5p) = V y
v(5q) = V.
* En consecuencia v(B) = B si y solo si se cumplen las siguientes condiciones:
1.- v(p) = v(5p) = v(5q) = V o bien
2.- v(q) = v(5p) = v(5q) = V
Como ambos conjuntos de literales contienen pares complementarios, ninguno de
ellos es satisfactorio y en consecuencia podemos concluir que es imposible encontrar
un modelo para B, de modo que B es insatisfactorio.
La búsqueda sistemática nos lleva fácilmente a la simplicidad, si lo
visualizamos de una manera básica o de una forma gráfica obtendremos una
herramienta muy potente y muy simple de utilizar. A través de ello emplearemos el
método del árbol y por descomposición sucesiva de la expresión o fórmula lógica,
podremos analizar la misma.
Lo cual nos conlleva a un conjunto de literales. Si este conjunto contiene a su
vez un conjunto complementario de literales, lo identificaremos marcándolo a través de
una X (insatisfactorio), mientras que un conjunto satisfactorio será marcado a través
de un círculo, de la forma siguiente, F.
Decisión en la Lógica Formal
85
p v (5q w 5p)
9
p , 5q w 5p
b `
p , 5q p , 5p
F X
Figura 3.6.1: Expresión Lógica A
El árbol etiquetado que resulta de esta descomposición y análisis posterior
recibe el nombre de CUADRO SEMÁNTICO. Consideremos la expresión B,
descompuesta a través de las denominadas Reglas ", indicada en la Figura 3.6.2.
(p w q) v (5p v 5q)
9
p w q , 5p v 5q
9
p w q , 5p , 5q
b `
p , 5p , 5q q , 5p , 5q
X X
Figura 3.6.2: Variación de Expresión Lógica B
(p w q) v (5p v 5q)
9
p w q , 5p v 5q
b `
p , 5p v 5q q , 5p v 5q
9 9
p , 5p , 5q q , 5p , 5q
X X
Figura 3.6.3: Variación de Expresión Lógica B
Podemos considerar una variación del cuadro semántico para la expresión B si
utilizamos las denominadas Reglas $, tal cual se indica en la Figura 3.6.3.
Una presentación concisa de las reglas utilizadas para la creación de los
cuadros o marcos semánticos, puede indicarse, si las fórmulas lógicas son clasificadas
tomando en cuenta la negación y el conectivo principal.
Existen dos tipos de reglas de este tipo; las denominadas Reglas " y las denominadas
Reglas $.
1.- Las fórmulas " que son conjuntivas y satisfactorias si y solo si ambas sub
fórmulas "1 y "2 también son satisfactorias.
Decisión en la Lógica Formal
86
" "1 "2
5 5 A A
A1 ¸ A2 A1 A2
5 ( A1 º A2 ) 5 A1 5 A2
5 ( A1 | A2 ) A1 5 A2
5 ( A1 } A2 ) 5 A1 A2
A1 / A2 A1 | A2 A2 | A1
Figura 3.6.4: Reglas de Cuadro Semántico para Fórmulas "
2.- Las fórmulas $ que son disyuntivas y son satisfactorias aún si solo una de las
sub fórmulas $1 y/o $2 es satisfactoria.
$ $1 $2
B1 º B2 B1 B2
5 (B1 ¸ B2) 5 B1 5 B2
B1 | B2 5 B1 B2
B1 } B2 B1 5 B2
5 (B1 / B2) 5 (B1 | B2) 5 (B2 | B1)
Figura 3.6.5: Reglas de Cuadro Semántico para Fórmulas $
CONSTRUCCIÓN DEL CUADRO SEMÁNTICO
* Cada nodo del cuadro semántico T será marcado y etiquetado con un conjunto
de fórmulas. Inicialmente T consiste de un nodo simple, etiquetado con un
conjunto simple {c}. Es cuadro semántico se construye inductivamente de la
siguiente forma :
* Seleccionar una hoja l no marcada sobre el árbol de descomposición. Esta hoja
l es etiquetada por el conjunto de fórmulas U(l), utilizando las siguientes reglas.
* Si U(l) es un conjunto de literales, comprobar si existe un par
complementario de literales del tipo {p, 5 p} en U(l).
-Si es así marcar la hoja como Cerrada X.
-Si no es así marcar la hoja como Abierta F
Decisión en la Lógica Formal
87
* Si U(l) no es un conjunto de literales, elegir una fórmula en U(l), de la
siguiente forma
-Si la fórmula A es una fórmula-", crear un nuevo nodo l' como
hijo del nodo l y etiquetarlo como l' , de la siguiente forma :
U(l') = (U(l) - {A}) ^ ("1, "2)
(En el caso de que A sea 5 5 A, no existe la sub fórmula "2)
-Si la fórmula B es una fórmula-$, crear dos nuevos nodos l' y
l" como hijos de l , Etiquetar a l' con la siguiente fórmula :
U(l') = (U(l) - {B}) ^ ($1)
y etiquetar l" con la siguiente fórmula :
U(l') = (U(l) - {B}) ^ ($2)
La construcción termina cuando todas las hojas del árbol están marcadas con
un símbolo X o bien F.
Definición 3.6.3: Un cuadro cuya construcción ha finalizado se lo denomina
Cuadro Completo. Un cuadro completo se dice que está
Cerrado si todas sus hojas están marcadas con la notación de
cerrado, de otra forma o modo se dice que el cuadro está
Abierto.
Teorema 3.6.1: Sea T un cuadro semántico completo para una fórmula A. La
expresión A es No Satisfactoria si y solo si T es cerrado.
Corolario 3.6.1: La expresión A es una expresión lógica satisfactoria si y solo si
T está abierto.
Corolario 3.6.2: La expresión A es una expresión lógica válida si y solo si el
cuadro semántico para 5 A es cerrado.
Consideremos el siguiente ejemplo. Podemos demostrar que la siguiente expresión
5 (p ¸ 5p) es válida utilizando en el cuadro semántico el conjunto de la Reglas-" y
Reglas-$.
5 5 (p ¸ 5p)
9
p ¸ 5p
9
p , 5p
X
Cerrado para 5 A y Abierto para todo A
Figura 3.6.6: Cuadro Semántico para 5 (p ¸ 5p)
Consideremos otro ejemplo: B = p º (q ¸ 5 q)
Decisión en la Lógica Formal
88
p º (q ¸ 5 q)
b `
p q ¸ 5 q
F 9
q , 5q
X
Figura 3.6.7: Cuadro Semántico de p º(q ¸ 5 q)
3.7.- LA DECISIÓN POR REDUCCIÓN AL ABSURDO
A diferencia de los métodos de decisión considerados hasta ahora, la decisión
por reducción al absurdo no parte de la fórmula dada. Todo lo contrario: parte de la
contradicción de dicha fórmula. Se trata de una prueba indirecta. Es un método que
intenta probar la validez de un razonamiento o la verdad de un enunciado mostrando
que la contradicción de los mismos conduce a una contradicción.
La lógica tradicional y el uso corriente conocen este procedimiento desde hace
mucho tiempo. Recordemos un ejemplo. Aparecida la tesis copernicana, sus
detractores, siguiendo a Aristóteles y Ptolomeo, querían probar la validez de la
siguiente afirmación "El planeta Tierra está inmóvil". Para ello partían de su
negación: "El planeta Tierra no está inmóvil". Aceptaron provisionalmente que la
tesis copernicana era verdadera. Aceptaron que la tierra gira sobre su eje y en torno
del sol. Ahora bien, aceptando esta hipótesis era cuestión de razonar sobre ella hasta
que surgiera una contradicción.
Y esa contradicción fue encontrada fácilmente, no una sino muchas veces: La
Tierra se desintegraría al girar sobre su eje en un día y al estar lanzada a velocidad
tan grande en torno del Sol; las nubes, los pájaros, todo lo que no tiene contacto
directo con la Tierra quedaría atrás vertiginosamente y en dirección contraria a la
dirección del movimiento terrestre. Como estos fenómenos no se observan, como
entran en contradicción con la realidad, se creyó probar que la tesis inicialmente
negada, "La Tierra está inmóvil" era verdadera.
El procedimiento de demostración por reducción al absurdo es formalmente
legítimo. Aunque esta vez sirvió de poco pues no era el aristotelismo, sino la nueva
astronomía de la edad moderna quien estaba en lo cierto.
Tomemos ahora un ejemplo lógico: (p ⇒ q) ⇒ (5 q ⇒ 5 p) (1)
Partiremos de la negación de esta forma de enunciad, para decidir si la misma es
tautológica o no:
5 [(p ⇒ q) ⇒ (5 q ⇒ 5 p)]
Esta fórmula dice que todo lo ubicado dentro del corchete es falso. Y como la fórmula
ubicada dentro del corchete es una implicación, ha de ser falsa sólo si su antecedente
es V y su consecuente es F:
(p ⇒ q) ⇒ (5 q ⇒ 5 p)
V F
Decisión en la Lógica Formal
89
Ahora podemos razonar así: si el segundo miembro es F, ello significa que 5 q es V y
que 5 p es F. Coloquemos esos valores en una segunda línea horizontal:
(p ⇒ q) ⇒ (5 q ⇒ 5 p)
V F
V F
En este caso q será F y p será V. Traslademos estos últimos valores al primer
miembro de la fórmula dada:
(p ⇒ q) ⇒ (5 q ⇒ 5 p)
V F
V F F V F
Pero nótese que si esto es así, ha surgido una situación inadmisible, contradictoria: el
primer miembro (p ⇒ q), que en un primer paso lo considerábamos V, ahora aparece
como F, pues su antecedente es V y su consecuente F. Marcamos, como en la
fórmula precedente, con un subrayado el lugar preciso donde surge contradicción (en
este caso contradicción entre la V de la segunda línea y la F de la tercer, ambas
correspondientes a (p ⇒ q). Ha surgido, pues, una contradicción al negar la fórmula.
Consideremos ahora otro ejemplo diferente: (p ⇒ q) ≡ (q ⇒ p) (2)
Procederemos también aquí como si la fórmula fuese falsa. Ahora bien, un
bicondicional es F cuando uno de sus miembros es F y el otro V. Consideraremos que
el primer miembro es V y el segundo F:
(p ⇒ q) ≡ (q ⇒ p)
V F
Si el primer miembro es V, ello puede deberse, entre otras posibilidades, a que tanto p
como q sean V:
(p ⇒ q) ≡ (q ⇒ p)
V F
V V
Traslademos ahora estos valores de p y q al segundo miembro:
(p ⇒ q) ≡ (q ⇒ p)
V F
V V
V V V V V
Realizado esto, ha surgido una contradicción porque si p y q son V, el segundo
miembro ha de ser V también. Y habíamos considerado que era falso.
¿Qué conclusión podemos extraer de estos dos ejemplos?
¿Concluiremos, como los enemigos de Copérnico y de Galileo, que las proposiciones
originales de que partimos eran verdades absolutas, pues encontramos
Decisión en la Lógica Formal
90
contradicciones en cuanto quisimos negarlas? Para responder adecuadamente es
preciso detenerse en los dos procedimientos. ¿Qué diferencia importante hay entre
ellos?. Nótese que en (1) había una sola forma de hacer falsa la fórmula. Y también
nótese que razonando sobre esa única posibilidad llegamos a la contradicción
apuntada. En cambio en (2) existen varias formas de hacer falsa a la fórmula dada.
Por ejemplo:
(p ⇒ q) ≡ (q ⇒ p)
F V
Razonamos sobre esta posibilidad y veremos que, curiosamente, no surge
contradicción alguna:
(p ⇒ q) ≡ (q ⇒ p)
F V
V F F V
Esto muestra que las fórmulas (1) y (2) tienen distinto carácter: la primera es
tautología (Teorema de la Transposición); la segunda es una fórmula indefinida. Una
tautología negada es una contradicción. Es decir que el tipo de contradicción a que
llegamos en (1) es diferente de la que llegamos en (2). Por cualquiera de los caminos
posibles que razonemos en torno de una tautología negada, llegaremos a una
contradicción. En cambio la negación de una fórmula indefinida es otra fórmula
indefinida; a eso se debe que (2), una vez conduce a una contradicción cuando la
negamos, otras veces no. Bastará, pues, un solo caso donde no se llegue a
contradicción para asegurarnos de que la expresión lógica original no es
tautológica.
Consideremos un tercer ejemplo: (5 p w q) ≡ (p v 5 q) (3)
Comenzaremos, como siempre que aplicamos la prueba indirecta,
considerando falsa a la fórmula. Como se trata de un bicondicional, ello puede ocurrir
de dos maneras: o cuando el primer miembro es F y el segundo V o cuando el primer
miembro es V y el segundo F. Comencemos analizando la primera posibilidad y
razonemos sobre ella:
(5 p w q) ≡ (p v 5 q)
F V
F F V V
Como el primer miembro es una disyunción, será falso sólo cuando ambas
variables sean falsas. Es decir cuando 5 p y q sean F. Pero si esto es así, p y 5 q
serán V. Estos últimos valores los hemos pasado al segundo miembro y no hubo
contradicción alguna. Probemos esta vez con la segunda posibilidad que tiene el
bicondicional de ser F:
(5 p w q) ≡ (p v 5 q)
V F
a) V V F F
b) V F F V
c) F V V F
Decisión en la Lógica Formal
91
Existen tres posibilidades de que el primer miembro, una disyunción,
sea verdadero y también tres de que el segundo miembro, una conjunción, sea F. Las
identificamos como casos (a), (b) y (c). En ninguno de ellos ha surgido alguna
contradicción. Esto significa que la fórmula acepta que se la considere como F en
todos los casos. Si se construye la tabla, para esta fórmula, se verá que es
contradictoria.
Las expresiones (1), (2) y (3) han sido ejemplos diferentes a los cuales hemos
aplicado la prueba indirecta. En (1) vimos que era imposible hacer falsa la fórmula sin
caer en una contradicción: la fórmula era tautológica. En (2) comprobamos que la
fórmula aceptaba unas veces ser considerada como falsa sin caer en contradicciones
y otras veces no: la fórmula era indefinida. En (3) notamos que en ninguno de los
casos en que podíamos considerar como falsa a la fórmula caíamos en contradicción:
la fórmula era contradictoria.
Sin embargo no debemos extraer regla alguna de los ejemplos (2) y (3), pues
aplicando la prueba indirecta no es posible decidir sobre el carácter indefinido o
contradictorio de un enunciado. Lo único que ella permite es determinar con seguridad
si la fórmula es tautológica o no lo es. Y si la prueba indirecta no puede decidir sobre
si un enunciado es indefinido o contradictorio se debe a l siguiente situación: existen
enunciados indefinidos que aceptan ser considerados falsos en todos los casos
posibles sin mostrar contradicción.
Consideremos el siguiente ejemplo: 5 (p w q) ⇒ 5 r (4)
Aplicando la prueba indirecta obtenemos el resultado siguiente:
5 (p w q) ⇒ 5 r
V F
Hemos considerado que el condicional era F. podemos concluir en que
r es V, pero ello de nada nos sirve pues se trata de una variable que no figura en las
premisas y por lo mismo no podemos trasladar su valor al primer miembro como
hicimos en los ejemplos anteriores. Podemos concluir también en la verdad de (p w q).
Y no existe en ello contradicción alguna. Lo único claro es que el enunciado no
es tautológico, pues no ha surgido contradicción. ¿Pero cómo saber si es indefinido o
contradictorio?
Así como la decisión por las formas normales nos indicaba que si llegábamos a
una f.n.c. no tautológica era preciso completar la prueba con la f.n.d., también en
casos como éste es preciso recurrir a otro procedimiento para decidir completamente
el carácter de la fórmula. Este procedimiento consiste en aplicar al mismo enunciado
la denominada Prueba Directa. Esta vez razonaremos sobre la base de que el
enunciado en cuestión es verdadero. No sobre la base de que era falso como en la
prueba indirecta. Y por cierto que con un tratamiento inverso, como es éste con
respecto del anterior, la regla también cambiará: esta vez los casos de contradicción
mostrarán casos de falsedad del enunciado; y los casos de no contradicción indicarán
aquellas situaciones en que la fórmula es verdadera. Apliquemos, pues, la prueba
directa a la fórmula que estamos considerando :
Decisión en la Lógica Formal
92
5 (p w q) ⇒ 5 r
V F VF
Hemos considerado verdadera a la fórmula y no surgió ninguna contradicción.
Esto revela que la fórmula es a veces V, por lo tanto no es contradictoria. Si no era
tautológica, según nos mostró la prueba indirecta y ahora sabemos que tampoco es
contradictoria, inferimos que la fórmula es indefinida.
Si aplicamos la prueba indirecta a los razonamientos, la decisión en torno a su
validez o invalidez es sumamente simple. No se requiere aquí la prueba directa como
complemento de decisión. Porque mientras que en el caso de los enunciados
debíamos decidir entre tres posibilidades (tautología, contradicción e indefinición), los
razonamientos son simplemente válidos o inválidos. Aplicada la prueba indirecta a un
razonamiento bastará un solo caso de adjudicación de valores donde no surja una
contradicción para saber que el razonamiento en cuestión es inválido. Por el contrario,
si en todos los casos aparece contradicción, el razonamiento es válido. Mostraremos
lo dicho con algunos ejemplos:
5 A, A ⇒ B ˆ B (1)
V V F
Nuestro primer paso ha sido asignar valores al razonamiento de tal modo que
sea inválido. Para ello, por nuestra anterior definición de invalidez, suponemos que las
premisas son V y la conclusión es F. Veremos si el razonamiento acepta o no esa
asignación de valores que hemos realizado. Si acepta sin mostrar contradicción, es
inválido. Caso contrario es válido. Nuestro segundo paso consistirá en trasladar el
valor F de B a la segunda premisa y deducir qué valor corresponde en ese caso a A y
5 A:
5 A, A ⇒ B ˆ B
V V F
V F F F F
Como vemos, no ha surgido ninguna contradicción. Es decir que el
razonamiento aceptó tener premisas V y conclusión F, sin mostrar contradicción. Por
lo tanto es inválido. Consideremos otro ejemplo:
A ⇒ B, A v C, C ⇒ D ˆ D v B (2)
V V V F
Como siempre, nuestro primer paso consiste en considerar inválido el
razonamiento dado. Por ello atribuimos V a las premisas y F a la conclusión. Ahora
bien, si la conclusión (D v B) es F, ello puede ocurrir por varias razones. Una de ellas
es que tanto D como B sean F. Consideremos esta posibilidad y veremos si surge
alguna contradicción.
A ⇒ B, A v C, C ⇒ D ˆ D v B (2)
V V V F
F F F F F F F F F
Decisión en la Lógica Formal
93
Una vez que hemos trasladado los valores de B y D a las premisas, ocurrió que
los dos consecuentes de los condicionales eran F. Para considerarlos V a dichos
condicionales, algo que postulamos en el primer paso, tuvimos que hacer también F a
sus respectivos antecedentes (A y C). Pero hecho esto, la segunda premisa acusa
una contradicción: es F y habíamos supuesto que era V.
¿Se ha decidido algo con este segundo paso? Aún no; para que el
razonamiento sea válido es preciso que aparezcan contradicciones en todos los casos
de adjudicación de valores, que permite la falsedad de (D v B). Veamos, en
consecuencia, una segunda posibilidad en (D v B) es F:
A ⇒ B , A v C , C ⇒ D ˆ D v B (2)
V V V F
V V V F F F F F V
Una vez más surgió una contradicción. Sin embargo todavía no podemos
afirmar que el razonamiento sea válido, pues resta una tercera posibilidad en que (D v
B) es F:
A ⇒ B, A v C , C ⇒ D ˆ D v B (2)
V V V F
F F F F V V V V F
También aquí hay contradicción. Como en todos los casos considerados hubo
contradicción, el razonamiento es válido. Es válido porque es imposible hacerlo
inválido sin caer en una contradicción. Es válido porque no pudimos comprobar aquel
supuesto de que partimos: que el razonamiento era inválido. Consideremos un
ejemplo más. Esta vez será un razonamiento cuya correspondiente forma de
enunciado la vimos anteriormente y tuvimos que emplear la prueba directa como
complemento para decidir que era indefinido:
5 (A w B) ˆ 5 C
V F
F V
La asignación de valores que hicimos, muestra que no surge contradicción
alguna: el razonamiento acepta que se lo considere como inválido. Por lo tanto es
inválido.
================================
Decisión en la Lógica Formal
94
3.8.- PROBLEMAS CAPITULO III
1.- Utilizando las propiedades de la lógica formal, simplificar las siguientes
expresiones y/o expresarlas únicamente como conjunciones: determinar las
formas normales conjuntivas (fnc) y las formas normales disyuntivas (fnd):
a) ((p v q) w (p ⇒s)) (b) ((p ⇒ q) ≡ (p w 5q))
(c) ((p ⇔ q) ⇒ (q ⇔ 5p)) (d) ((5p ⇒ q) w (s ⇒ r))
(e) ((p ⇒ 5q) ⇒ (s ⇔ r)) (f) {(p w q) ⇒ [(q ⇔ r) ⇒ (r ⇒ s)]}
2.- Utilizando las propiedades de la lógica formal, simplificar las siguientes
expresiones y/o expresarlas únicamente como conjunciones: determinar las
formas normales conjuntivas (fnc) y las formas normales disyuntivas (fnd):
(a) ((p w q) ⇒ (q w p))
(b) (p ⇒ ((p w q) ⇔ r) (c) (p ⇔ 5p)
(d) (p ⇒ (5p ⇒ q)) (e) ((p ⇒ q) ⇒ (q ⇔ p))
(f) [(p v q) ⇔ q] ⇒ p (g) p ⇒ [q ⇒ (q w p)]
(h) ((p v q) ⇒ (p w r)) (i) [p w (5p v q)] w (5p v 5q)
(j) (p v q) ⇔ [p ⇒ (q w r)]
(k) {p v [q ⇒ [(p v 5p) ⇒ (q w 5q)]]} v (q ⇒ q)
3.- Determinar si los siguientes expresiones lógicas, a través de las fnc y fnd, son
tautologías, contradicciones, o indefiniciones.
(a) (p ⇒ q) ⇒ (5q ⇒ p) (b) 5(p ⇒ q) / (5q v p)
(c) (p w q) ⇔ (p ⇒ q) (d) (p ⇔ q) ⇒ 5(p ⇒ q)
(e) [(p ⇒ q) v 5q] ⇒ 5p (f) [(p ⇒ q) v 5p] ⇒ 5q
(g) [(p ⇒ q) w (q ⇒ p)] (h) p v 5[5(p ⇒ q) w q]
(i) 5[(p w q) ⇔ (p ⇒ q)] ⇔ [5(p w q) ⇔ (p ⇒ q)] (j) p ⇒ (p w q)
4.- Determinar si las expresiones lógicas consideradas en el Problema 1, a través
de las fnc y fnd, son tautologías, contradicciones, o indefiniciones.
5.- Determinar si las expresiones lógicas consideradas en el Problema 2, a través
de las fnc y fnd, son tautologías, contradicciones, o indefiniciones.
6.- Determinar la correspondiente forma de enunciado de las siguientes formas de
razonamiento y determinar si los razonamientos equivalentes son válidos o
inválidos:
(a) [(A ⇒ B) v ((A w B) ⇒ (A v B))] ⇒ (A w B)
(b) ((A v B) v (A ⇔ B)) ⇒ (A w B)
(c) [(A ⇒ (B ⇒ C)) v ((A ⇒ B) ⇒ (A ⇒ C))] ⇒ (B w C)
(d) [A w (5A v B)] v (5A v 5B) v [(A ⇒ B) v 5B] ⇒ 5B
(i) 5[(A w B) ⇔ (A ⇒ C)] v 5(A w B) v (B ⇒ C) ⇒ 5(A w C)
7.- Determinar si las formas de enunciados consideradas en el Problema 1,
utilizando el método de reducción por el absurdo, son tautologías,
contradicciones, o indefiniciones. Luego determinar las formas de
Decisión en la Lógica Formal
95
razonamiento y determinar si el correspondiente razonamiento es válido o
inválido.
8.- Determinar si las formas de enunciados consideradas en el Problema 2,
utilizando el método de reducción por el absurdo, son tautologías,
contradicciones, o indefiniciones. Luego determinar las formas de
razonamiento y determinar si el correspondiente razonamiento es válido o
inválido.
9.- Determinar si las formas de enunciados consideradas en el Problema 3,
utilizando el método de reducción por el absurdo, son tautologías,
contradicciones, o indefiniciones. Luego determinar las formas de
razonamiento y determinar si el correspondiente razonamiento es válido o
inválido.
10.- Sea r (OR exclusivo) la función de verdad definida por la siguiente
proposición:
(p v 5q) w (5p v q)
(a) Probar que r (OR exclusivo) es conmutativo y asociativo.
(b) Probar que las siguientes expresiones son tautologías:
5p ≡ pr 1 ; p r 0 ≡ p ; p r p 0
11.- Mostrar que los siguientes argumentos son válidos usando el concepto de
i) tautología y ii ) contradicción.
a) ( p ∨ q ), 5 p, ( 5 p ∨ r ) /> (q ∨ r )
b) ( p ⇒ q ), ( p ⇒ r ) /> ( p ⇒ ( q ∧ r ))
c) ( p ∨ q ), ( p ⇒ r ), ( q ⇒ r) /> r
12.- Para cada uno de los siguientes argumentos válidos indique cual de las reglas
de inferencia dadas en la Tabla 2 se utilizan:
a)Si el Sr. Juárez o la Sra. Juárez ganan más de $30.000 al año, la familia
Juárez puede pasar sus vacaciones en Hawai. Puesto que yo sé que, o el Sr.
Juárez o su esposa, ganan más de $30.000, concluyo que la familia puede
afrontar sus vacaciones en Hawai.
b) Si Juan descubre que el producto que le vendiste está defectuoso, se
pondrá furioso. Desafortunadamente ha descubierto que el producto está
defectuoso. Por lo tanto Juan va a estar furioso
c) Si José estuvo ayer en el partido, necesitará dormir. José no pudo dormir.
Por consiguiente él no fue al partido.
d) Si está caluroso y húmedo, entonces obviamente está caluroso también.
e) Si no llueve, iré a la quinta. Pero no puedo ir a la quinta. Por consiguiente
lloverá.
Decisión en la Lógica Formal
96
13.- Dar una derivación para los argumentos lógicos siguientes:
a) p, ( p ⇒ ( q ∨ r )) , (( q ∨ r ) ⇒ s ) /> s
b) ( p ⇒ q ) , ( q ⇒ r ) , 5 r /> 5 p
c) p , ( p ⇒ q ) /> ( p ∧ q )
d) ( p ∨ q ) , ( p ⇒ r ) , ( q ⇒ r ) /> r
e) ( p ⇒ q ) , ( p ⇒ 5 q ) /> 5 p
f) ( p ⇒ r ) , ( 5 p ⇒ q ) , ( q ⇒ s ) /> ( 5 r ⇒ q )
g) ( p ⇒ q ) , ( q ⇒ ( r ∧ s )) , ( 5 r ∨ ( 5 t ∨ u)) , ( p ∧ t ) /> u
h) ( p ⇒ ( q ⇒ r )) , ( p ∨ s) , ( t ⇒ q ) , 5 s /> ( 5 r ⇒ 5 t )
14.- Analizar la validez de los siguientes argumentos:
a) Si Rosa obtiene el puesto de supervisor y trabaja mucho, entonces
obtendrá un aumento. Si obtiene el aumento, entonces comprará un
auto nuevo. Ella no ha adquirido un auto nuevo. Por lo tanto, Rosa no
ha obtenido el puesto de supervisor o no ha trabajado mucho.
b) Si Domingo va a la carrera de autos, Elena se enojará mucho. Si Rafael
juega cartas toda la noche, Carmen se enojará. Si Elena o Carmen se
enojan, le avisarán a Verónica ( su abogado). Verónica no ha tenido
noticias de estas dos clientes. En consecuencia ni Domingo fue a las
carreras ni Rafael jugó cartas toda la noche.
15.- Determinar si las formas de enunciados consideradas en el Problema 1,
utilizando el método del cuadro semántico, son tautologías, contradicciones, o
indefiniciones. Luego determinar si el correspondiente razonamiento es válido o
inválido.
16.- Determinar si las formas de enunciados consideradas en el Problema 2,
utilizando el método del cuadro semántico, son tautologías, contradicciones, o
indefiniciones. Luego determinar si el correspondiente razonamiento es válido o
inválido.
17.- Determinar si las formas de enunciados consideradas en el Problema 3,
utilizando el método del cuadro semántico, son tautologías, contradicciones, o
indefiniciones. Luego determinar si el correspondiente razonamiento es válido o
inválido.
Decisión en la Lógica Formal
97
TABLA 2: PRINCIPALES REGLAS DE INFERENCIA
BAB,A ∧≡>
Ley de combinación
BBA
ABA
≡>∧
≡>∧
Leyes de simplificación
BAB
BAA
∨≡>
∨≡>
Leyes de adición
BBA,A ≡>⇒ Modus Ponens
ABA,B ¬≡>⇒¬ Modus Tollens
CACB,BA ⇒≡>⇒⇒ Silogismo Hipotético
AB,BA
BA,BA
≡>¬∨
≡>¬∨
Silogismo disyuntivo
BBA,BA ≡>⇒¬⇒ Ley de casos
ABBA
BABA
⇒≡>⇔
⇒≡>⇔
Eliminación de la
equivalencia
BAAB,BA ⇔≡>⇒⇒ Introducción de la
equivalencia
BA,A ≡>¬ Ley de inconsistencia
.
Algebra de Boole como Sistema Axiomático
98
LÓGICA COMPUTACIONAL
CAPITULO IV
ALGEBRA DE BOOLE COMO UN
SISTEMA AXIOMÁTICO
4.1.- ÁLGEBRA DE BOOLE COMO UN SISTEMA AXIOMÁTICO
4.1.1.- CONCEPTO
Un Sistema Axiomático que conduce al Álgebra de Boole, consiste de los
siguientes elementos definidos acorde a la definición previamente considerada.
A.- Términos Primitivos
Compuesto de un conjunto no vacío de elementos, B = i, y dos funciones o
aplicaciones, denominadas comúnmente como Junta o Suma Lógica (+, w) y
Reunión o Producto Lógico (B , v).
B.- Axiomas
B1: La junta (w) y la reunión (v) son ambas leyes de composición interna
dentro del conjunto B.
œ a, b 0 B → a w b 0 B œ a, b 0 B → a v b 0 B
B2: La junta (w) y la reunión (v) son ambas leyes conmutativas dentro del
conjunto B.
œ a, b 0 B : a w b = b w a œ a, b 0 B : a v b = b v a
B3: La junta (w) y la reunión (v) son ambas leyes asociativas dentro del
conjunto B.
œ a, b, c 0 B: a w (b w c) = (a w b) w c ; a v (b v c) = (a v b) v c
B4: La junta (w) y la reunión (v) son ambas leyes distributivas, cada una de
ellas con respecto de la otra, dentro del conjunto B.
œ a, b, c 0 B: a w (b v c) = (a w b) v (a w c)
a v (b w c) = (a v b) w (a v c)
B5: Existen elementos Neutros dentro de B con respecto a la junta (w) y a la
reunión (v), los que se denotan por 0 y 1 tal que:
œ a, b 0 B: a w 0 = a ; a v 1 = a
Algebra de Boole como Sistema Axiomático
99
B6: Todo elemento de B admite un elemento inverso (complementario), con
respecto a la junta (w) y a la reunión (v), al que se denota por a', tal
que:
œ a, b 0 B: a w a' = 1 ; a v a' = 0
EJEMPLO
El siguiente ejemplo es un modelo del Álgebra de Boole muy particular.
Consideremos el siguiente conjunto:
B = {1, 2, 3, 5, 6, 10, 15, 30} = {x 0 N: x -30}
w / Denota el Mínimo Común Múltiplo (MCM).
v / Denota el Máximo Común Divisor (MCD).
Con elementos neutros 1 y 30 respectivamente.
4.1.2.- PRINCIPIO DE DUALIDAD EN EL ÁLGEBRA DE BOOLE
Denominamos proposición dual, de una proposición del Álgebra de Boole, a la
que se deduce de esta última intercambiando los símbolos de junta (w) y reunión (v) y
también sus elementos neutros 0 y 1.
Este principio establece que el dual de un Axioma o Teorema del Álgebra de
Boole, es también un Axioma o Teorema del mismo sistema axiomático
4.1.3.- TEOREMAS EN EL ÁLGEBRA DE BOOLE
Sea (B, w, v) un Álgebra de Boole, en función de ello demostraremos algunos
de los teoremas básicos.
(1) Idempotencia
œ a 0 B : a v a = a por dualidad a w a = a
a v 1 = a (p/ B5) ⇒ a v (a w a') = a (p/ B6) ⇒
(a v a) w (a v a') = a (p/ B4) | (a v a) w 0 = a (p/ B6) ⇒
a v a = a (p/ B5)
Por el principio de dualidad tenemos que:
(1)' œ a 0 B ⇒ a w a = a
(2) Elemento Neutro
a w 1 = 1
En efecto, por B6, B3, (1)' y B6 tenemos:
a w 1 = a w (a w a') = (a w a) w a' = a w a' = 1
Algebra de Boole como Sistema Axiomático
100
Por dualidad resulta que:
(2)' a v 0 = 0
(3) Ley Involutiva
œ a 0 B | (a')' = a
Aplicando sucesivamente B5, B6, B2, B4, B2, B6, B6, B4, B6 y B5 resulta:
(a')' = (a')' w 0 = (a')' w (a v a') = (a')' w (a' v a) =
= [(a')' w a'] v [(a')' w a] = [a' w (a')'] v [a w (a')'] =
= 1 v [a w (a')'] = (a w a') v [a w (a')'] = a w [a' v (a')'] = a w 0 = a
(4) Ley de De Morgan
(a w b)' = a' v b' y la forma dual correspondiente (a v b)' = a' w b'
Consideremos:
(a w b) v (a' v b') = (a' v b') v (a w b) =
= [(a' v b') v a] w [(a' v b') v b] = [(b' v a') v a] w [(a' v b') v b] =
= [b' v (a' v a)] w [a' v (b' v b)] = (b' v 0) w (a' v 0) = 0 w 0 = 0
O sea:
(a w b) v (a' v b') = 0 (1)
Análogamente, se llega a:
(a w b) w (a' v b') = 1 (2)
De (1) y (2) resulta que:
(a w b)' = a' v b'
La forma dual de la Ley de De Morgan es:
(a v b)' = a' w b'
Ejemplo 4.1.1:
Sea (B, w, v) un álgebra booleana, tal que B = {0, 1}. Podemos representar las
dos operaciones definidas a través del Álgebra de Boole por medio de tablas
denominadas tablas de verdad, de una manera análoga a la lógica proposicional.
w 0 1 v 0 1
0 0 1 0 0 0
1 1 1 1 0 1
Algebra de Boole como Sistema Axiomático
101
Además tenemos que: 0' = 1 y 1' = 0
El álgebra representada en el presente ejemplo es la más simple y al mismo
tiempo la más útil y es la base de toda la tecnología digital binaria, una de cuyas
aplicaciones más importantes es la computación tanto en lo referente al hardware
como al software.
Ejemplo 4.1.2 :
Sea B el álgebra de Boole del Ejemplo 4.3.1, en consecuencia el conjunto
parcialmente ordenado Bn
:
Bn
= {(b1, b2, ....., bn) - bi 0 B para i = 1, 2, ....., n}
es también un Álgebra de Boole. Si consideramos que:
a = (a1, a2, ....., an) 0 Bn
y b = (b1, b2, ....., bn) 0 Bn
entonces:
a w b = (a1 w b1, a2 w b2, ....., an w bn)
a v b = (a1 v b1, a2 v b2, ....., an v bn)
a' = (a1', a2', ....., an')
0Bn = (0, 0, 0, ..., 0) y IBn = (1, 1, 1, ..., 1)
4.1.4.- TABLAS DE VERDAD Y REPRESENTACIÓN CIRCUITAL
Podemos representar las dos operaciones definidas a través del Álgebra de
Boole por medio de tablas denominadas tablas de verdad, de una manera análoga a
la lógica proposicional.
La tabla del AND es: El gráfico de la función AND
es:
a b AND (a v b)
0 0 0
0 1 0
1 0 0
1 1 1
La tabla del OR es: El gráfico de la función OR
es:
a b OR (a w b)
0 0 0
0 1 1
1 0 1
1 1 1
Algebra de Boole como Sistema Axiomático
102
La tabla del NOR es: El gráfico de la función NOR
es:
a b NOR (a w b)’
0 0 1
0 1 0
1 0 0
1 1 0
La tabla del NOT es: El gráfico de la función NOT
es:
a NOT (a)’
0 1
1 0
4.1.5.- LAS FUNCIONES EN EL ÁLGEBRA DE BOOLE Bn
Sea B = {0, 1} y sea Bn
álgebras de Boole tal cual se las definió anteriormente.
Podemos entonces discutir las funciones f de Bn
en B. Para estas funciones f y para
cualquier n-tupla (x1, x2, ....., xn) 0 Bn
, f(x1, x2, ....., xn) es 0 o 1. Estas funciones pueden
verse como funciones de "n variables", donde cada una de ellas sólo toma los valores
0 y 1. Es frecuente expresarlas a través de tablas dando cada n-tupla posible (x1, x2,
....., xn) y el valor correspondiente de la función f. La figura 4.3.4(a) nos muestra una
función f particular de tres variables; o sea, f: B3
→ B. Cualquier distribución posible de
2m
ceros y unos puede ser el conjunto de los valores de alguna función de la siguiente
forma f: Bm
→ B.
La importancia de tales funciones es que, tal como lo muestra la figura 4.3.4 (b)
esquemáticamente, pueden usarse para representar los requerimientos de salida de
un circuito para todos los posibles valores de las entradas. Y así cada xi representa
una entrada al circuito capaz de transportar dos voltajes indicadores (un voltaje para
cero y otro diferente para el uno). La función f representa la respuesta de salida
deseada en todos los casos. Tales requerimientos se presentan al diseñar los pasos
de todas las combinaciones y secuencias de los circuitos para computadora. Como
antes, las tablas de la figura 4.3.4(a) son denominadas a menudo como tablas de
verdad de f, debido a la analogía con la lógica proposicional.
Obsérvese que la especificación de una función f: Bn
→ B es sólo una lista de
los requerimientos del circuito. Esto no da indicación alguna de cómo esos
requerimientos se satisfacen. Una manera importante de generar funciones es
utilizando las denominadas expresiones booleanas, las que pasaremos a detallar a
continuación.
4.1.6.- EXPRESIONES EN EL ÁLGEBRA DE BOOLE Bn
Sea x1, x2, ....., xn un conjunto de n símbolos o variables. Una expresión
booleana E(x1, x2, ....., xn) o un polinomio booleano en x1, x2, ....., xn se define
recursivamente de la siguiente forma:
Algebra de Boole como Sistema Axiomático
103
1.- x1, x2, ....., xn son expresiones booleanas.
2.- Los símbolos 0 y I son expresiones booleanas.
3.- Si E1(x1, x2, ....., xn) y E2(x1, x2, ....., xn) son expresiones booleanas en x1,
x2, ....., xn, entonces también lo son las siguientes expresiones:
E1(x1, x2, ....., xn) v E2(x1, x2, ....., xn)
E1(x1, x2, ....., xn) w E2(x1, x2, ....., xn)
(E1(x1, x2, ....., xn))'
4.- No existirán otras expresiones booleanas; sólo las que se obtengan al
utilizar las reglas mencionadas en los puntos 1, 2 y 3.
Ejemplo 4.1.3: Las siguientes expresiones son booleanas en x, y, z.
E1(x, y, z) = (x w y) v z
E2(x, y, z) = (x w y') w (y v I)
E3(x, y, z) = (x w (y' v z)) w (x v y v I)
E4(x, y, z) = (x w y w z') v (x' v z) v (y' w 0)
Los polinomios comunes en varias variables, tales como x2
y + z4
, xy + yz +
x2
y2
, x3
y3
+ xz4
, etc., suelen interpretarse como expresiones que representan cálculos
algebraicos con números no especificados. Por tanto, están sujetos a las reglas
comunes de la aritmética.
Por consiguiente, los polinomios x2
+ 2x + 1 y (x + 1) (x + 1) se consideran
equivalentes y también lo son x(xy + yz)(x + z) y x3
y + 2x2
y + xyz2
, ya que en cada
caso podemos convertir una o la otra expresión a través de ciertos procesos
matemáticos.
De igual manera, los polinomios o las expresiones booleanas pueden
interpretarse como representaciones de alguna función booleana dentro de alguna
álgebra de Boole determinada. Por ello, esas expresiones están sujetas a las reglas
determinadas para la denominada matemática booleana y dos expresiones se
consideran equivalentes si una puede convertirse en la otra a través de ciertas
manipulaciones booleanas, aplicando todos los axiomas, teoremas, definiciones y
reglas propias del álgebra de Boole.
Por consiguiente, x v (y w z) y (x v y) w (x v z) son equivalentes (a causa de la
propiedad distributiva). Dos expresiones booleanas E1(x1, x2, ..., xn) y E2(x1, x2, ..., xn)
se dice que son equivalentes si es posible convertir una expresión en otra utilizando
un número finito de propiedades del álgebra booleana.
Algebra de Boole como Sistema Axiomático
104
x1 x2 x3 f(x1,x2,x3)
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
(a)
(b)
Figura 4.1.4 - Ejemplo de Función Booleana
Ejemplo 4.1.4: Demostrar que las siguientes expresiones booleanas son
equivalentes:
E1(x, y, z) = (x v y v z') w (x v y' v z')
E2(x, y, z) = x v z'
Para encontrar la solución procedemos de la siguiente forma:
E1(x, y, z) = (x v y v z') w (x v y' v z') = (x v z' v y) w (x v z' v y') =
= (x v z') v (y w y') = (x v z') v I = x v z' = E2(x, y, z)
Ejemplo 4.1.5: Describir la función booleana f: B3
→ B determinada por la
expresión booleana siguiente: E(x1, x2, x3) = (x1 v x2) w (x1 w (x2' v
x3))
fx2
xn
F(x1,…,xn)
Algebra de Boole como Sistema Axiomático
105
x1 x2 x3 f(x1, x2, x3) = (x1 v x2) w (x1
w (x2' v x3))
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Figura 4.1.5: Ejemplo de Expresión y Función Booleana
La función booleana f: B3
→ B se describe al sustituir todas los 23
triplos
ordenados de valores de B para x1, x2, x3. La tabla de verdad para esa función es la
indicada en la Figura 4.3.5.
Hemos discutido las funciones booleanas generales f: Bn
→ B, y se mostró
cómo algunas de estas funciones surgen de expresiones booleanas. Estas últimas son
muy importantes ya que pueden expresarse por completo en términos de las funciones
w, v, y'. Así, estas funciones podrán expresarse esquemáticamente en un diagrama
lógico, utilizando los símbolos de las compuertas digitales. Estos símbolos constituyen
los módulos de construcción básicos para los circuitos digitales, por lo cual una función
dada por una expresión booleana contiene una descripción de los circuitos que la
pueden implementar.
4.2.- IMPLEMENTACIÓN DE FUNCIONES BOOLEANAS
En la sección anterior examinamos las funciones de Bn
en B, donde B es el
álgebra de Boole {0, 1}. Se observó que tales funciones pueden representar
requerimientos de entrada y salida para modelos de muchos y prácticos circuitos de
computadoras. También se indico que, si la función está dada por alguna expresión
booleana, es posible construir un diagrama lógico con ella y así modelar la
implementación de la función. En esta sección se mostrará que todas las funciones de
Bn
en B están dadas por expresiones booleanas y, por lo tanto, los diagramas lógicos
pueden construirse para cualquiera de esas funciones. Este análisis ilustra el método
de encontrar una expresión booleana que produce una función dada.
Teorema 4.2.1.- Si f: Bn
→ B y S(f) = {b 0 Bn
- f(b) = 1}, tendremos las siguientes
hipótesis:
Sean f, f1 y f2 tres funciones de Bn
en B.
(a)Si S(f) = S(f1) c S(f2), entonces f(b) = f1(b) w f2(b) œb 0 B.
(b)Si S(f) = S(f1) 1 S(f2), entonces f(b) = f1(b) v f2(b) œb 0 B.
Algebra de Boole como Sistema Axiomático
106
Demostración:
(a) Sea b 0 Bn
. Si b 0 S(f), entonces por la definición de S(f), f(b) =
1 . Ya que S(f) = S(f1) c S(f2), o b 0 S(f1) o b 0 S(f2) o ambas. En
cualquier caso, f1(b) w f2(b) = 1. Ahora si b ó S(f), entonces f(b)
= 0. Además, se deberá tener que b ó S(f1), y que b ó S(f2), por
lo cual f2(b) = 0 y f1(b) = 0. Esto significa que f1(b) w f2(b) = 0. Por
consiguiente, para todas las b 0 Bn
, f(b) = f1(b) w f2(b).
(b) Esta parte se prueba de manera análoga a la de (a).
Ejemplo 4.2.1: Sea f1: B2
→ B producida por la expresión E(x, y) = x', y sea f2: B2
→ B producida por la expresión E(x, y) = y'. Entonces las tablas
de verdad de f1 y f2 se indican en la figura 4.3.1 (a) y (b),
respectivamente.
x y f1(x,y) x y f2(x,y) x y f(x,y)
0 0 1 0 0 1 0 0 1
0 1 1 0 1 0 0 1 1
1 0 0 1 0 1 1 0 1
1 1 0 1 1 0 1 1 0
(a) (b) (c)
Figura 4.2.1. - Ejemplos de Funciones de Boole
Sea f: B2
→ B la función cuya tabla de verdad se indica en la Figura 4.2.1(c).
Esta claro que S(f) = S(f1) c S(f2), ya que f1 es 1 en los elementos (0,0) y (0,1)
de B2
, f2 es 1 en los elementos (0,0) y (1,0) de B2
, y f es 1 en los elementos
(0,0), (0,1) y (1,0) de B2
. Por el Teorema 4.5.1, f = f1 w f2, por lo cual la
expresión de Boole que produce f es x' w y'.
Ejemplo 4.2.2: Sea f: B2
→ B la función cuya tabla de verdad se indica en la
Figura 4.2.2(a). Esta función es igual a 1 sólo en el elemento
(0,1) de B2
, o sea, S(f) = {(0,1)} producida por la expresión. Por
lo tanto, f(x, y) = 1 sólo cuando x = 0 y y = 1. Esto también es
verdadero para la expresión E(x, y) = x' v y, por la cual f produce
esta expresión. La siguiente tabla de verdad muestra la
correspondencia entre las funciones que son 1 sólo en un
elemento y las expresiones booleanas que producen estas
funciones.
Algebra de Boole como Sistema Axiomático
107
S(f) Expresión x y f(x,y) x y z f(x,y,z)
{(0,0)} x' v y' 0 0 0 0 0 0 0
{(0,1)} x' v y 0 1 1 0 0 1 0
{(1,0)} x v y' 1 0 0 0 1 0 0
{(1,1)} x v y 1 1 0 0 1 1 1
1 0 0 0
(a) 1 0 1 0
1 1 0 0
1 1 1 0
(b)
Figura 4.2.2 - Tablas de Verdad del Ejemplo 4.2.2
La función f: B3
→ B cuya tabla de verdad en la Figura 4.2.2 (b) tiene S(f) =
{(0,1,1)}, esto es, f es igual a 1 sólo cuando x = 0, y = 1 y z = 1. Esto también se
cumple en la expresión booleana x' v y v z, que por tanto deberá producir f. Si b 0 Bn
,
entonces b es una sucesión (c1, c2, .....,cn) de longitud n, donde cada ci es cero o uno.
Sea Eb la expresión booleana ã1 v ã2v ... v ãn, donde ãk = ak cuando ck = 1 y ãk = ak'
cuando ck = 0. A esta expresión se la denomina minitérmino.
Estas expresiones booleanas obtenidas a través de la disyunción de
minitérminos son denominadas formas canónicas o formas normales. Existen dos
formas normales: la forma normal disyuntiva o disyunción de minitérminos y la
forma normal conjuntiva o conjunción de maxitérminos.
Teorema 4.2.2.- Cualquier función f: Bn
→ B está producida por una expresión
booleana.
Sea S(f) = {b1, b2, ....., bk}, y para cada i, sea fi: Bn
→ B la función definida por:
fi(bi) = 1 ; fi(b) = 0 si b … bi
Entonces S(fi) = {bi}, por lo cual S(f) = S(f1) c S(f2)c ... c S(fn) y según el
teorema 4.4.1,
f = f1 w f2 w ..... w fn
Por la explicación anterior, cada f está producida por un minitérmino Ebi. En
consecuencia f está producida por la expresión booleana:
Eb1 w Eb2 w ..... w Ebn
y con esto último se comprueba la prueba.
El teorema anterior tiene su dual. En este caso la función f se expresa de la
siguiente forma:
Algebra de Boole como Sistema Axiomático
108
f ( x1, x2, . . . , xn ) = M 1 ¸ M 2 ¸ . . . ¸ M k
Cada elemento M j, denominado maxitérmino es de la forma:
M j = y 1 w y 2 w . . . . w y n
donde y j es x j o x’ j. Cada maxitérmino es obtenido de la función en aquellas
interpretaciones donde la misma toma el valor 0.
Ejemplo 4.2.3: Examinar la función f1: B3
→ B cuya tabla de verdad se indica en
la Figura 4.4.3. Ya que S(f) = {(0,1,1), (1,1,1)}, el teorema 4.4.2
demuestra que f está producida por la siguiente expresión
E(x, y, z) = E(0,1,1) w E(1,1,1) = (x' v y v z) w (x v y v z).
Esta expresión, sin embargo, no es la expresión booleana más
simple que produce a f. Al utilizar las propiedades del álgebra de
Boole, obtenemos:
(x' v y v z) w (x v y v z) = (x' w x) v (y v z) = I v (y v z) = y v z
Por lo tanto, f es producida por la expresión simple obtenida, o
sea y v z.
x y z f(x, y, z)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
Figura 4.2.3 - Tabla de Verdad correspondiente al Ejemplo 4.2.3
Ejemplo 4.2.4. : Las siguientes expresiones son booleanas en x, y, z.
E1(x, y, z) = (x w y) v z
x
y
z
x ∨ y
(x ∨ y) ∧ z
Algebra de Boole como Sistema Axiomático
109
E2(x, y, z) = (x w y') w (y v I)
E3(x, y, z) = (x w (y' v z)) w (x v yv I)
E4(x, y, z) = (x w y w z') v (x' v z) v (y' w 0)
y
z
(x ∨ y ∨ z´) ∧ (x´ ∧ z) ∧ (y´
∨ 0)
(x ∨ y ∨ z´)
y´
∨ 0
x´ ∧ z
x
0
z
y
z
(x ∨ (y´ ∧ z)
(x ∨ (y´ ∧ z)) ∨ (x ∧ y ∧ 1)
y´
y´ ∧ z
x
1 x ∧ y ∧ 1
x
y
1
x ∨ y´
(x ∨ y) ∨ (y ∧ 1)y´
y ∧ 1
Algebra de Boole como Sistema Axiomático
110
Ejemplo 4.2.5: Demostrar que las siguientes expresiones booleanas son
equivalentes:
E1(x, y, z) = (x v y v z') w (x v y' v z')
E2(x, y, z) = x v z'
Para encontrar la solución procedemos de la siguiente forma:
E1(x, y, z) = (x v y v z') w (x v y' v z') = (x v z' v y) w (x v z' v y') =
= (x v z') v (y w y') = (x v z') v I = x v z' = E2(x, y, z)
Ejemplo 4.2.6: Describir la función booleana f: B3
6 B determinada por la
expresión booleana siguiente: E(x1, x2, x3) = (x1 v x2) w (x1 w (x2' v
x3))
x1 x2 x3 f(x1, x2, x3) = (x1 v x2) w (x1
w (x2' v x3))
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Ejemplo de Expresión y Función Booleana
y
x
y´
x ∧ y´
Algebra de Boole como Sistema Axiomático
111
La función booleana f: B3
→ B se describe al sustituir todas los 23
triplos ordenados de
valores de B para x1, x2, x3.
La tabla de verdad para la función es la indicada en la Figura anterior.
4.3.- MAPA DE KARNAUGH
El proceso de escribir una función como una combinación de disyunciones,"o",
de minitérminos y de simplificar la expresión resultante se puede sistematizar de
diversas maneras. Mostraremos a continuación un procedimiento gráfico que utiliza lo
que se conoce como Mapa de Karnaugh. Este procedimiento es fácil de usar,
recurriendo a medios humanos, con funciones del tipo f: Bn
6 B, si n no es demasiado
grande. Se indicará el método para n = 2, 3 y 4. Si n es muy grande o si se desea un
algoritmo programable, se deberán elegir otras técnicas.
y' y
0 0 0 1 x' x'v y' x'v y
1 0 1 1 x x v y' x v y
(a) (b)
Figura 4.3.1 - Ejemplo de Mapa de Karnaugh (n = 2)
Examinemos el primer caso donde n = 2; así que f es una función de dos
variables, digamos x e y. En la Figura 4.3.1 (a) se muestra una matriz de 2 x 2 de
"cuadrados", donde cada uno contiene una posible entrada b de B2
. En la Figura 4.3.1.
(b) se ha reemplazado cada entrada b con el minitérmino correspondiente Eb. Las
etiquetas de los cuadrados son sólo para referencia. En el futuro no se mostrarán las
etiquetas, pero se deberá recordar las ubicaciones. En la Figura 4.5.1 (b), se observa
x1 x1 ∧ x2
x2
x3
x´2
x´2
x1
x´2 ∧ x3
x1 ∨ (x´2 ∧ x3)
(x1 ∧ x2) ∨ (x1 ∨ (x´2 ∧ x3))
Algebra de Boole como Sistema Axiomático
112
que la variable x aparece siempre en el primer renglón como x' y siempre en el
segundo renglón como x. Las filas se etiquetaron de acuerdo a lo indicado
previamente y de una manera similar se etiquetarán las columnas.
Ejemplo 4.3.1: Sea f: B2
→ B la función cuya tabla de verdad se muestra en la
Figura 4.3.2 (a). En la Figura 4.3.2 (b) se han arreglado los
valores de f en los cuadrados apropiados y se mantienen las
etiquetas en las filas y columnas. El arreglo de 2 x 2 de ceros y
unos que resulta se denomina Mapa de Karnaugh de f. Ya que
S(f) = {(0,0), (0,1)}, la expresión correspondiente de f es la
siguiente: (x' v y') w (x' v y) = x' v (y' w y) = x'.
El resultado del ejemplo 4.3.1 es típico. Cuando los valores 1 de una función f:
B2
→ B llenan por completo una fila o una columna, la etiqueta de la columna o la fila
dan la expresión booleana de f. Por supuesto, ya se sabe que los valores 1 de f llenan
sólo un cuadrado, entonces f está producida por el minitérmino correspondiente. Es
posible demostrar que cuanto más grande sea el rectángulo de valores 1 de f, más
pequeña será la expresión de f.
x y f(x, y) y' y
0 0 1 x' 1 1
0 1 1 x 0 0
1 0 0
1 1 0
(a) Tabla de Verdad f (b) Mapa de Karnaugh de f
Figura 4.3.2 - Correspondiente al Ejemplo 4.3.1
Por último, si los valores 1 de f no están en un rectángulo, se podrán descomponer
estos valores dentro de la unión de rectángulos (probablemente sobreponiéndolos).
Entonces, por el teorema 4.2.1, la expresión booleana de f puede encontrarse
calculando las expresiones correspondientes de cada rectángulo y combinándolas con
símbolos "w'.
Ejemplo 4.3.2: Examinar la función f: B2
→ B cuya tabla de verdad se muestra
en la Figura 4.3.3 (a). En la Figura 4.3.3 (b) se indica el mapa de
Karnaugh de f y los valores 1 descompuestos dentro de los dos
rectángulos indicados. La expresión de la función que tiene unos
(1) en el rectángulo horizontal es x'. La función cuyos 1's están
en el rectángulo vertical corresponde a la expresión x' w y'. En
la Figura 4.3.3 (c) se muestra una descomposición diferente de
los valores 1 en los rectángulos. Esta descomposición también
es correcta, pero dará una expresión más compleja y' w (x' v y).
Se observa que la descomposición en rectángulos no es única y
que se deberá intentar utilizar los rectángulos más grandes
posibles.
Algebra de Boole como Sistema Axiomático
113
x y f(x, y) y' y y' y
0 0 1 x' 51* 1* x' *1* *1*
0 1 1 x *1* 0 x *1* 0
1 0 1
1 1 0
(a) (b) (c)
Figura 4.5.3 - Corresponde al Ejemplo 4.3.2
Ahora le toca el turno a una función f: B3
→ B, que se considerará una función
de x, y, z. Se procederá como en el caso de dos variables y se construirá un "cubo" de
2 por lado que contenga los valores de f. Para trabajarlos, las figuras de tres
dimensiones son difíciles de dibujar y usar; esta idea no será generalizada. En vez de
esto, se utilizarán rectángulos de 2 x 4. En las Figuras 4.3.4 (a) y 4.3.4 (b),
respectivamente, se muestran las entradas (de B3
) y los minitérminos
correspondientes a cada cuadrado en cada rectángulo.
0 0 0 1 1 1 1 0
0 0 0 0 0 0 1 0 1 1 0 1 0
1 1 0 0 1 0 1 1 1 1 1 1 0
(a)
Figura 4.3.4 - Función de tres variables
y' y' y y
x' x' v y' v z' x' v y' v z x' v y v z x' v y v z'
x x v y' v z' x v y' v z x v y v z x v y v z'
z' z z z'
(b)
Figura 4.3.4 - Función de tres variables
Examínese las áreas rectangulares mostradas en la Figura 4.3.5. Si los valores
1 para una función f: B3
6 B llenan por entero uno de los rectángulos, entonces la
expresión booleana de esta función es una de las seis expresiones x, y, z, x', y', o z',
como se indica en la Figura 4.3.5.
Algebra de Boole como Sistema Axiomático
114
$$$
$
$$$
$
$$
$$
$$
$$
$$$
$
$$$
$
$$
$$
$$
$$
La región sombreada es y'. La región sombreada es y.
(a) (b)
$$$
$
$$$
$
$$$
$
$$
$$
$$$
$
$$$
$
$$$
$
$$
$$
La región sombreada es z'. La región sombreada es z.
(c) (d)
$$$
$
$$$
$
$$$
$
$$$
$
$$$
$
$$$
$
$$
$$
$$
$$
La región sombreada es x'. La región sombreada es x.
(e) (f)
Figura 4.3.5.
Examínese la situación indicada en la Figura 4.3.5 (a). El teorema 4.2.1 (a)
demuestra que f puede calcularse por la disyunción (junta) de todos los minitérminos
correspondientes a los cuadrados de la región con el símbolo w. Por consiguiente, f
está producida por:
(x' v y' v z') w (x v y' v z') w (x' v y' v z) w (x v y' v z) =
= ((x' w x) v (y' v z')) w ((x' w x) v (y' v z)) =
= (1 v (y' v z')) w (1 v (y' v z)) =
= (y' v z') w (y' v z) =
= y' v (z w z') = y' v 1 = y'
Un cálculo similar indica que las otras cinco regiones están correctamente
etiquetadas.
Las seis regiones básicas de la Fig. 4.3.5 son sólo algunas de las expresiones
booleanas que necesitan ser consideradas. Esto se debe a que se usaron para
etiquetar la Figura 4.3.4 (b) y se mantuvieron como etiquetas para todos los mapas de
Algebra de Boole como Sistema Axiomático
115
Karnaugh de las funciones de B3
en B . El teorema 4.2.1 (b) dice que si los valores uno
de una función f : B3
6 B forman exactamente la intersección de dos o tres de las seis
regiones básicas, entonces una expresión booleana de f puede calcularse combinando
las expresiones de estas regiones básicas con símbolos v.
y' y' y y y' y' y y
x' 1 0 0 0 x' 0 1 1 0
x 1 0 0 0 x 0 0 0 0
z' z z z' z' z z z'
(a) (b)
y' y' y y y' y' y y
x' 1 0 0 1 x' 0 0 0 0
x 0 0 0 0 x 0 1 0 0
z' z z z' z' z z z
(c) (d)
Figura 4.3.6
Por tanto, si los valores uno de la función f son como los que muestra la Figura
4.3.6, entonces se encontrarán intersecado las regiones que se muestran en las
Figuras 4.3.5 (a) y 4.3.5 (b). La expresión booleana de f es pues y' v z'. Derivaciones
similares pueden darse para las otras tres columnas. Si los valores uno de f son como
los de la Figura 4.3.6 (b), se encontrarán intersecado las regiones de las Figuras 4.3.5
(c) y 4.3.5 (e), por lo cual una expresión booleana para f es z v x'. De la misma
manera es posible calcular la expresión de cualquier función cuyos valores uno llenen
dos cuadrados adyacentes y horizontales. Existen ocho funciones, así si se considera
nuevamente el rectángulo que se convierte en un cilindro. En consecuencia, se incluirá
el caso donde los valores uno de f son como los muestra la Figura 4.3.6 (c). La
expresión booleana resultante es z' v x'.
Si se intersecan tres de las regiones básicas y la intersección no es vacía, ésta
deberá ser un solo cuadrado y la expresión booleana resultante será un minitérmino.
En la Figura 4.3.6 (d) los valores uno de f forman la intersección de las tres regiones
mostradas en las Figuras 4.3.5 (a), 4.3.5 (c) y 4.3.5 (f). El minitérmino correspondiente
es y' v z v x. Por consiguiente, no es necesario recordar la colocación de los
minitérminos en la Figura 4.3.4 (b), sino poder reconstruirlo.
Algebra de Boole como Sistema Axiomático
116
Se ha visto cómo calcular una expresión booleana de cualquier función
considerada como f : B3
→ B, cuyos valores uno forman un rectángulo de cuadrados
adyacentes de longitud 2n
x 2m
, n= 1, 2; m = 1, 2. En general, si el conjunto de valores
uno de f no forma un rectángulo, se podrá escribir este conjunto con la unión de tales
rectángulos. Entonces, una expresión booleana de f se calcula combinando las
expresiones asociadas a cada rectángulo con los símbolos w. Esto es verdadero por el
teorema 4.2.1 (a). La explicación anterior demuestra que, cuando mayor sea el
rectángulo que se escoja, más simple será la expresión booleana resultante.
Por último, sin comentarios adicionales, se presenta en la Figura 4.3.9 la
distribución de las entradas y las etiquetas correspondientes de los rectángulos para el
caso de una función f : B4
→ B, considerada como una función de x, y, z, w. También
aquí, se consideran la primera y la última columnas como adyacentes y el primer y
último renglón como adyacentes; se deben buscar rectángulos con lados cuya longitud
sea alguna potencia de 2, o sea de longitud 1, 2 o 4.
Ejemplo 4.3.3 : Examinar la función f cuya tabla de verdad y su correspondiente
mapa de Karnaugh se indican en la Fig.4.3.7. La colocación de
los unos pude derivarse localizando las entradas
correspondientes de la Fig.4.3.3(a). Una descomposición de los
valores 1 de f se indican en la Fig.4.3.7 (b). En esta figura se ve
que la expresión booleana de f es la siguiente:(y' v z') w (x' v y')
w (y v z).
x y x f(x,y,z)
0 0 0 1
0 0 1 1 y' y' y y
0 1 0 0 x' 1 1 1 0
0 1 1 1 x 1 0 1 0
1 0 0 1 z' z z z'
1 0 1 0 (b)
1 1 0 0
1 1 1 1
(a)
Figura 4.3.7 - Ejemplo 4.3.3
Algebra de Boole como Sistema Axiomático
117
Ejemplo 4.3.4: La Figura 4.3.8 muestra la tabla de verdad y el mapa de
Karnaugh correspondiente a una función f. La descomposición
en rectángulos mostrada en la Figura 4.4.8 (b) explica la idea de
que la primera y la última columna se consideran adyacentes.
Así pues, los símbolos se dejan "abiertos", lo que significa que
se juntan en un rectángulo de 2 x 2, que corresponde a z'. La
expresión booleana resultante es : z' w (x v y).
x y x f(x,y,z)
0 0 0 1
0 0 1 0 y' y' y y
0 1 0 1 x' 1 0 0 1
0 1 1 0 x 1 0 1 1
1 0 0 1 z' z z z'
1 0 1 0 (b)
1 1 0 1
1 1 1 1
(a)
Figura 4.3.8 - Ejemplo 4.3.4
0 1 11 10 z' z' z z
0 0 1 11 10 x' y'
1 100 101 111 110 x' y
11 1100 1101 1111 1110 x y
10 1000 1001 1011 1010 x y'
w' w w w
(a) (b)
Figura 4.3.9
Algebra de Boole como Sistema Axiomático
118
Ejemplo 4.3.5: La Figura 4.4.10 muestra el mapa de Karnaugh de una función
determinada f: B4
→ B. Los valores uno son colocados
considerando la localización de las entradas en la Figura 4.3.9
(b). Por consiguiente, f (0101) = 1, f (0001) = 0, etc.
El cuadrado del centro de 2 x 2 representa la expresión booleana w v y.
Las cuatro esquinas también forman cuadrados de lado 2 ya que las
aristas derecha e izquierda y las aristas superior e inferior se
consideran adyacentes. Desde un punto de vista geométrico, se puede
ver que, si se gira el rectángulo horizontalmente, se obtendrá un
cilindro. Luego, cuando además se gire verticalmente, se obtendrá un
toro o una "cámara" (cámara de un neumático). En esta cámara, las
cuatro esquinas forman un cuadrado de lado 2 que representa la
expresión booleana siguiente: w' v y'.
z' z' z z
x' 1 0 0 1 y'
x' 0 1 1 0 y
x 0 1 1 0 y
x 1 0 0 1 y'
w' w w w'
Figura 4.3.10
De lo anterior se deduce que la descomposición previa produce la
siguiente expresión booleana para la función f.
(w v y) w (w' v y')
Ejemplo 4.3.6 : En la Figura 4.3.11 se muestra el mapa de Karnaugh de una
función f : B4
6 B. La descomposición de los valores uno en un
rectángulo de lados 2n
, como lo muestra la figura, sirve también
de la propiedad de "enrollamiento" de los renglones superior e
inferior. La expresión resultante para f es:
(z' v y') w (x'v y'v z) w (x v y v z v w)
Algebra de Boole como Sistema Axiomático
119
z' z' z z
x' 1 1 1 1 y'
x' 0 0 0 0 y
x 0 0 1 0 y
x 1 1 0 0 y'
w' w w w'
Figura 4.3.11
El primer término viene del cuadrado de 2 x 2 formado por la junta del
rectángulo de 1 x 2 de la esquina superior izquierda y el rectángulo de 1
x 2 de la esquina inferior izquierda. El segundo viene del rectángulo de
1 x 2 de la esquina superior derecha y el último es un minitérmino
correspondiente del cuadrado aislado.
Ejemplo 4.3.7: CIRCUITO PARA SEMISUMADOR
x y SUMA ACARREO
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
y
x ∧ y
x
c = x ∧ y
x ∨ y
x
y
s = (x ∨ y) ∧ (x ∧ y)´
Algebra de Boole como Sistema Axiomático
120
Ejemplo 4.3.8 : Expresión booleana implementada como una forma normal
conjuntiva, a través de maxitérminos
Ejemplo 4.3.9: Ejemplos de Compuertas Lógicas NAND, NOR y OR Exclusiva.
x
y
(x ∧ y)´
x
y
(x ∨ y)´
Compuerta NAND Compuerta NOR
x
y
x ⊕ y
Compuerta OR- EXCLUSIVA
z
x
w
x´
x´ ∨ w
x ∧ y
y ∨ (x ∧ z)
(y ∨ (x ∧ z)) ∧ (x´ ∨ w)
y
z
(x ∨ y ∨ z´) ∧ (x´ ∧ z) ∧ (y´
∨ 0)
(x ∨ y ∨ z´)
y´
∨ 0
x´ ∧ z
x
0
z
Algebra de Boole como Sistema Axiomático
121
4.4.- MÉTODO QUINE - MCCLUSKY
El Mapa de Karnaugh es solo aplicable con posibilidades concretas con
respecto a fórmulas lógicas con cuatro o menos variables. El método de Quine -
McClusky está basado en un algoritmo de propósitos generales basado en los mismos
principios, adecuado para ser implementado en un programa de computadora y para
ser utilizado con cualquier número de variables.
El método opera en dos etapas distintas, primero agrupando términos (visto
efectivamente para todas las cajas de unión en la técnica de Karnaugh), luego la
selección de los términos esenciales y por último la eliminación de los términos
redundantes (seleccionar el conjunto mínimo de cajas para cubrir exactamente el
conjunto requerido de una variable o entrada).
Como un ejemplo ilustrativo, produciremos una representación funcional
mínima para la función booleana de tres variables, especificada por la siguiente tabla
de verdad.
p q r función
1 1 1 1
1 1 0 1
1 0 1 0
1 0 0 0
0 1 1 1
0 1 0 0
0 0 1 1
0 0 0 0
La forma normal disyuntiva para esta función booleana es:
( 5 p v 5 q v r ) w ( 5 p v q v r ) w ( p v q v 5 r ) w ( p v q v r )
Denominamos a cada una de las combinaciones de variables de entrada para lo cual
la variable de salida es igual a 1 (uno), como los minitérminos de la función. Son los
elementos básicos de una expresión completa de una FND. Debemos buscar
efectivamente dos de estos minitérminos que difieran solamente en una variable, esta
variable deberá aparecer negada en un minitérmino y no negada en otro. Estos dos
minitérminos deberán ser combinados con esta variable omitida, ya que si g
representa el resto de los términos, se cumple que:
( g v p ) w ( g v 5 p )
Para diferir en solo una variable, uno de los términos debe tener exactamente un
conectivo de negación más que el otro término (aunque esto no es una condición
suficiente). Para encontrar términos que difieren con respecto a otro término en una
Algebra de Boole como Sistema Axiomático
122
variable, debemos comparar cada término con aquellos que tienen un conectivo de
negación de más o uno de menos.
4.4.1.- ETAPAS EN LA MINIMIZACIÓN DE QUINE - MCCLUSKY
Etapa 1. Escribimos primero todas las combinaciones de variables de entrada
que representan a un minitérmino (aquellos cuyo valor de la variable de
salida es 1).
p q r
1 1 1
1 1 0
0 1 1
0 0 1
Etapa 2.1. Numeramos los minitérminos considerados de acuerdo a la cantidad de
números 1 que existen en el minitérmino. Ello nos permitirá observar los
términos que pueden ser combinados para producir un combinación
simple. Dibujamos líneas para separar los grupos que contengan
cantidades diferentes de números 1. Dentro de cada grupo el
ordenamiento es irrelevante, sin embargo se utiliza normalmente el
ordenamiento binario.
fila p q r números de 1
1 1 1 1 tres 1
2 1 1 0 dos 1
3 0 1 1 dos 1
4 0 0 1 uno 1
Etapa2.2. Luego combinamos filas de grupos o secciones adyacentes, de la tabla
anterior, que difieran un elemento solo en una columna; dos filas deben
ser idénticas en cada columna excepto en una para poder realizar la
combinación. Escribimos una nueva fila como la combinación de otras
dos de la tabla anterior, pero reemplazando los valores diferentes (una
combinación de 0 y 1) por un asterisco. En una columna extra
indicamos las filas que han sido combinadas.
Algebra de Boole como Sistema Axiomático
123
fila p q r combinación números de 1
5 1 1 0 filas 1 y 2 dos 1
6 0 1 1 filas 1 y 3 dos 1
7 0 0 1 filas 3 y 4 uno 1
No podemos combinar las filas 2 y 4. Cada fila debe contener exactamente un
asterisco. Reordenar la nueva tabla de acuerdo al número de 1 que existan en cada
fila. Borrar de la primera tabla todas las filas que son generadoras de nuevas filas. En
este caso todas las filas de la primera tabla deben ser borradas. Cualquier fila restante
debe representar entradas que no pueden combinarse con entradas adyacentes, por
lo cual deberá aparecer completa en la fórmula final.
Etapa 2.3. Si ahora existen dos nuevas filas que difieran en solo una variable,
combinarlas de la misma forma establecida en la Etapa 2.2. Las filas a
combinar deberán coincidir en la posición de cualquier asterisco, y
diferir exactamente una variable, tomando el valor 1 de una fila y el
valor 0 de otra fila. La nueva tabla consistirá de filas con exactamente
dos asteriscos. En este caso no es posible una mayor simplificación. En
situaciones más complejas, esta operación (realizar combinaciones
reemplazando el valor de la variable con asteriscos, ordenar todas las
lineas que contengan un asterisco extra de acuerdo al número de 1 que
contiene y ver por nuevas combinaciones) se repetirá hasta que no sea
posible realizar combinaciones.
Las tres lineas en la tabla anterior, cada una conteniendo un asterisco,
representan a los siguientes términos de dos variables respectivamente,
cada uno de ellos es la combinación de dos minitérminos.
( p v q ) ( q v r ) ( 5 p v r )
Etapa 3. Eliminar los términos innecesarios. Es necesario seleccionar un número
mínimo de términos para cubrir todas las filas, cada una de las cuales
representa a un número 1 en la tabla de verdad original. Tenemos un
minitérmino para cada uno de los números 1de la función, desde el
tope, y los términos reducidos se indican al costado en orden
descendente. En cada fila, indicamos con una x el minitérmino cubierto
por el término reducido.
111 110 11 1
11* x x
C11 x x
0*1 x x
Cualquier fila correspondiente a un término sin estrellas contendrá una simple x,
cualquier fila correspondiente a un término con una estrella contendrá dos xs,
Algebra de Boole como Sistema Axiomático
124
cualquier fila correspondiente a un término con dos estrellas contendrá tres xs, y así
sucesivamente.
Si cualquier columna contiene una sola x, entonces tal término reducido debe
ser incluido en la fórmula final (el primero y el tercero, en este ejemplo), ya que no
existe otra forma de cubrir el minitérmino correspondiente a dicha columna. Todas las
otras columnas que cubren términos reducidos pueden ser eliminados de la fórmula
final , incluyendo la columna con una sola x, ya que todos estos minitérminos están
cubiertos. En el ejemplo considerado debemos, por lo tanto, incluir el término 11* para
cubrir la columna 110 y también para cubrir la columna 110. También necesitamos el
término 0*1 para incluir la columna 011 y también cubre la columna 001. Todas las
columnas (minitérminos) están cubiertos y no deben incluirse más términos reducidos.
El término C11 es innecesario.
Estos dos términos nos muestran que la fórmula más simple para representar
la función booleana de partida, puede construirse de los términos p v q
correspondiente al término 11* y 5 p v r representa al término 0*1. La fórmula final
obtenida es:
( p v q ) w ( 5 p v r )
Ejemplo 4.4.1. Consideremos la siguiente función booleana:
p q r s función
1 1 1 1 1
1 1 1 0 1
1 1 0 1 0
1 1 0 0 0
1 0 1 1 1
1 0 1 0 0
1 0 0 1 1
1 0 0 0 1
0 1 1 1 1
0 1 1 0 0
0 1 0 1 0
0 1 0 0 1
0 0 1 1 1
0 0 1 0 0
0 0 0 1 1
0 0 0 0 0
Algebra de Boole como Sistema Axiomático
125
Etapa 1. Escribimos los minitérminos:
p q r s
1 1 1 1
1 1 1 0
1 0 1 1
1 0 0 1
1 0 0 0
0 1 1 1
0 1 0 0
0 0 1 1
0 0 0 1
Etapa 2.1. Numeramos y ordenamos los minitérminos de acuerdo a la cantidad de
números 1 en cada minitérmino.
fila p q r s cantidad
de 1
1 1 1 1 1 cuatro 1
2 1 1 1 0 tres 1
3 1 0 1 1 tres 1
4 0 1 1 1 tres 1
5 0 0 1 1 dos 1
6 1 0 0 1 dos 1
7 1 0 0 0 uno 1
8 0 1 0 0 uno 1
9 0 0 0 1 uno 1
Etapa 2.2. La próxima etapa es la de combinar filas de grupos adyacentes que
difieren sólo en una columna o posición.
Algebra de Boole como Sistema Axiomático
126
fila p q r s combinaciones cantidad
de 1
10 1 1 1 Ú filas 1 y 2 tres 1
11 1 Ú 1 1 filas 1 y 3 tres 1
12 Ú 1 1 1 filas 1 y 4 tres 1
13 Ú 0 1 1 filas 3 y 5 dos 1
14 1 0 Ú 1 filas 3 y 6 dos 1
15 0 Ú 1 1 filas 4 y 5 dos 1
16 0 0 Ú 1 filas 5 y 9 uno 1
17 1 0 0 Ú filas 6 y 7 uno 1
18 Ú 0 0 1 filas 6 y 9 uno 1
Todas las filas excepto la fila 8 de la tabla de Etapa 2.1 pueden ser eliminadas. La fila
8 (0100) debe retenerse para su eventual inclusión como un término de cuatro
variables.
5 p v q v 5 r v 5 s
Etapa 2.3. Nuevamente combinamos filas de grupos adyacentes, donde los
asteriscos deben encontrarse en la misma posición, y las filas deben
diferir en una sola entrada 0 y 1.
fila p q r s combinaciones cantidad
de 1
19 Ú Ú 1 1 filas 11 y 15
filas 12 y 13
dos 1
20 Ú 0 Ú 1 filas 13 y 18
filas 14 y 16
uno 1
Cada una de estas filas se encontraron de dos formas distintas; un control muy útil
para trabajar adecuadamente. Todas las filas con un simple asterisco, excepto las filas
10 y 17 de la Etapa 2.2, pueden ser eliminadas de nuestro estudio.
En este caso en particular, no es posible una simplificación mayor. Ninguna de
las filas de dos asteriscos difiere en una sola entrada. Podemos en consecuencia
trabajar únicamente con las siguientes filas con su correspondiente término reducido:
fila 8 (Sin asteriscos, término de cuatro variables)
filas 10 y 17 (un asterisco, términos de tres variables)
filas 19 y 20 (dos asteriscos, términos de dos variables)
Algebra de Boole como Sistema Axiomático
127
Etapa 3. La próxima etapa es la de eliminar los términos innecesarios, dentro de
estos cinco. Para lo cual construimos la siguiente tabla:
1111 1110 1011 1001 1000 0111 0100 0011 0001
**11 x x x x
*0*1 x x x x
111* x x
100* x x
0100 x
En este caso observamos que son necesarios estos 5 minitérminos, ninguno puede
ser omitido; el primer minitérmino es esencial para la columna 6, el segundo para la
columna 9, el tercero para la columna 2, el cuarto para la columna 5 y el quinto para la
columna 7. La fórmula final obtenida es la siguiente:
( r v s ) w ( 5 q v s ) w ( p v q v r ) w ( p v 5 q v 5 r ) w ( 5 p v q v 5 r v 5 s )
4.5.- PROBLEMAS CAPITULO IV
1.- Utilizando los axiomas del Sistema Axiomático de Russel, probar si las
siguientes expresiones lógicas son teoremas o no del mencionado sistema:
(a) p ⇒ (q ⇒ p) (b) ((p ⇒ q) ≡ (p w 5q))
(c) ((p ⇔ q) ⇒ (q ⇒ 5p)) (d) ((5p ⇒ q) w (s ⇒ r))
(e) ((p ⇒ 5q) ⇒ (s ⇒ r)) (f) {(p w q) ⇒ [(q ⇔ r) ⇒ (r ⇒ s)]}
2.- Utilizando los axiomas del Sistema Axiomático de Hilbert, probar si las
siguientes expresiones lógicas son teoremas o no del mencionado sistema:
(a) ((p w q) ≡ (q w p))
(b) (p ⇒ q) ≡ (5q ⇒ 5p) (c) (p ≡ p)
(d) (5p ⇒ (p ⇒ q)) (e) ((5p ⇒ p) ⇔ p)
(f) [(p v q) ⇒ r] ⇒ [p ⇒ (q ⇒ r)] (g) p ⇒ [q ⇒ (q w p)]
(h) ((p ⇒ q) ⇒ [(q ⇒ r) ⇒ (p ⇒ r)] (i) [p w q] ≡ 5 (5p v 5q)
(j) (p ⇒ q) ⇒ [(r ⇒ s) ⇒ ((p v r) ⇒ (q v s))]
(k) p ≡ (p v p)
3.- Verifique los axiomas que definen al Álgebra de Boole en el conjunto de los
enteros divisores de 6 adonde están definidas las operaciones “máximo común
divisor” (M) y “mínimo común múltiplo” (m).
4.- Los axiomas del Álgebra de Boole también se cumplen cuando los elementos
en cuestión son conjuntos y las operaciones son las conocidas “unión” e
“intersección” entre conjuntos. Suponiendo que A, B y C son subconjuntos de
Algebra de Boole como Sistema Axiomático
128
un universo U y siendo ∅ el conjunto vacío, diga Verdadero o Falso,
justificando su respuesta:
a) A ∪ ( B ∩ C ) = ( A ∪ B ) ∩ C
b) A ∪ ( B ∩ C ) = ( A ∪ B ) ∩ ( A ∪ C )
c) Si U = { a, b, c, d } y A = { a, b, c }, entonces } = { a, d }
d) ( A ∪ i ) ∩ } = i
e) B ∪ ( B’ ∩ U ) = ( A ∪ A’)
5.- Un contacto, tal como una llave común de luz eléctrica, presenta dos estados
“cerrado” o “abierto”. Los mismos suelen identificarse con los símbolos 1 y 0,
respectivamente, pero con un significado cualitativo “todo-nada” , “si-no” o “V-
F”, éste último por su relación con la lógica clásica. En el conjunto de
contactos, se definen las operaciones “combinar contactos en paralelos” o
“combinar contactos en serie”. Verifique que dicho conjunto es un Álgebra de
Boole.
6.- Demostrar directamente que no existen álgebras booleanas que tengan tres
elementos.
7.- Demostrar que en un álgebra booleana, para cualquier a y b, se cumple que:
a = b si y solo si (a v b') w (a' v b) = 0.
8.- Demostrar que en una álgebra booleana, para cualquier a , b y c se cumplen
las siguientes expresiones lógicas de Boole:
(a) (a v b) w (a v b') = a (b) b v (a w (a' v (b w b'))) = b
(c) ((a w c) v (b' w c))' = (a' w b) v c' (d) (a v b v c) w (b v c) = b v c
(e) (a v b) w (a v b v c) w (b v c) w (a v c) = c
(f) a w (b v c) = b v (a w c)
9.- Sea el conjunto B = { 0, 1 }con º, ¸ definidas mediante las siguientes tablas:
∨ 0 1 ∧ 0 1
0 0 1 0 0 0
1 1 1 1 0 1
Demostrar que B es un Álgebra de Booleana
10.- Demostrar los teoremas más importantes que se deducen de los axiomas que
definen al Álgebra de Boole.
(a) a ∨ 1 = 1 a ∧ 0 = 0
(b) a ∨ a = a a ∧ a = a
(c) a ∨ ( a ∧ b ) = a a ∧ ( a ∨ b ) = a
(d) a ∨ ( b ∨ c ) = ( a ∨ b ) ∨ c a ∧ ( b ∧ c ) = ( a ∧ b ) ∧ c
(e) ( a ∨ b ) ‘ = a ‘ ∧ b ‘ ( a ∧ b ) ‘ = a ‘ ∨ b ‘
11.- Escriba los duales de los siguientes enunciados y demuestre alguno de ellos
Algebra de Boole como Sistema Axiomático
129
usando los axiomas y/o propiedades que se cumplen en toda Álgebra
Booleana.
(a) ( x ∨ y ) ∧ ( x ∨ 1 ) = ( x ∨ x ) ∧ ( y ∨ y )
(b) ( x ∨ 0 ) ∨ ( 1 ∧ x’) = 1
(c) x ∨ ( x ’ ∧ y ) = x ∨ y
(d) Si x ∨ y = x ∨ z y x’ ∨ y = x’ ∨ z ., entonces y = z
(e) x ∧ y’= 0 si y solo si x ∧ y = x
12.- Demuestre las siguientes igualdades usando los axiomas y/o propiedades de
un Álgebra Booleana:
(a) ( x ∧ y ) ∨ ( x’ ∨ z )’= x ∧ ( y ∨ z’)
(b) ( x’ ∧ y’) ∨ ( x’ ∧ y ) ∨ ( x ∧ y ’) = ( x’ ∨ y’ )
(c) x ∧ (( y’ ∧ z ) ∨ x )’= y ∨ z’
(d) [( a ∨ b ∨ c ) ∧ ( b ∨ c )]’= b’ ∧ c’
(e) [( a ∨ c ) ∧ ( b’ ∨ c )]’ = ( a’ ∨ b ) ∧ c’
(f) [(a ∨ b ) ∧ a’]’ ∨ b = 1
(g) [( a ∧ b ) ∨ a’]’ ∧ b = 0
(h) Si ( a ∨ b ) = b , entonces a’ ∨ b = 1
(j) Si ( a ∧ b ) = a , entonces a ∧ b’ = 0
13.- Represente las siguientes funciones booleanas por medio de un circuito
combinatorio y por medio de su tabla de verdad (o tabla lógica). ¿Cuántos
circuitos y cuantas tablas poseen una función booleana?
(a) z = f (a, b, c) = a ∨ ( b’ ∧ c )
(b) z = f (a, b, c) = ( a ∧ b’) ∨ ( a ∧ c’)
(c) z = f (a, b, c) = a ∧ (b’ ∨ c) ∧ (a’ ∨ b)
(d) z = f (a, b, c) = ((a ∨ b)’ ∨ (a’ ∧ c))’
14.- Suponga 3 variables A, B y C
(a) Diga cuáles de las siguientes expresiones son minitérminos
(b) Diga cuáles de las siguientes expresiones son maxitérminos
15.- Encuentre las formas normales de las siguientes funciones dadas por su tabla:
A C B+ + A C B+ + A C B. +
A A C+ + A B C+ + A B C+ +
A B C. . A C C. . A B B. +
A B C. . A B C. . A B C. .
Algebra de Boole como Sistema Axiomático
130
a) b) c) d)
x y f(x, y) x y f(x, y) x y f(x, y) x y f(x, y)
0 0 1 0 0 1 0 0 0 0 0 0
0 1 0 0 1 1 0 1 1 0 1 0
1 0 0 1 0 0 1 0 1 1 0 1
1 1 1 1 1 0 1 1 1 1 1 0
e) f)
x y z f(x, y, z) x y z f(x, y, z)
0 0 0 1 0 0 0 0
0 0 1 0 0 0 1 1
0 1 0 0 0 1 0 1
0 1 1 1 0 1 1 0
1 0 0 0 1 0 0 0
1 0 1 1 1 0 1 0
1 1 0 0 1 1 0 1
1 1 1 1 1 1 1 0
16.- (a) Encuentre la Forma Normal Disyuntiva o Disyunción de Minitérminos de
las siguientes funciones booleanas usando técnicas algebraicas:
1.
2.
3.
4.
5.
(b) Encuentre la Forma Normal Conjuntiva o Producto de Maxitérminos
de las siguientes funciones booleanas usando técnicas
algebraicas:
6.
7.
8.
9.
F A B C A B C( , , ) .= +
( )ACBACBAF ++= ).(),,(
BCBCABCBAF ).(),,( ++=
F A B C D A C B D( , , , ) ( ).= + +
F A B C A B AB AC( , , ) ( ( ))= + + +
F A B B B A( , ) .= +
( )( )F A B C B B C A C( , , ) . .= + +
( )( )F A B C D A B C D A B( , , , ) .= + + + +
( )F A B C A B A C B C( , , ) . . . .= +
Algebra de Boole como Sistema Axiomático
131
17.- Examinar la siguiente expresión booleana:
E(x, y, z) = x v (y w z')
Si B = {0, 1}, calcular la tabla de verdad de la función siguiente: f: B3
→ B
definida por E.
Construir un diagrama lógico que implemente la función f previamente
obtenida.
18.- Examinar la siguiente expresión booleana: E(x, y, z) = (x w y) v (z w x')
Si B = {0, 1}, calcular la tabla de verdad de la función siguiente: f: B3
→ B
definida por E.
Construir un diagrama lógico que implemente la función f previamente
obtenida.
19.- Examinar la siguiente expresión booleana: E(x, y, z) = (x v y') w (y v (x' w y))
Si B = {0, 1}, calcular la tabla de verdad de la función siguiente: f: B3
→ B
definida por E.
Construir un diagrama lógico que implemente la función f previamente
obtenida.
20.- En los siguientes problemas, construir los mapas de Karnaugh para las
funciones cuyas tablas de verdad se dan a continuación:
1.- x y f(x, y) 2.- x y f(x, y)
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 1 0 1
1 1 1 1 1 0
Utilizando el mapa de Karnaugh encontrar una expresión booleana para la
función booleana.
21.- En los siguientes problemas, construir los mapas de Karnaugh para las
funciones cuyas tablas de verdad se dan a continuación. Encontrar una
expresión booleana para la función booleana
Algebra de Boole como Sistema Axiomático
132
1.- x y z f(x,y,z) 2.- x y z f(x,y,z)
0 0 0 1 0 0 0 0
0 0 1 1 0 0 1 1
0 1 0 0 0 1 0 1
0 1 1 0 0 1 1 1
1 0 0 1 1 0 0 0
1 0 1 0 1 0 1 0
1 1 0 1 1 1 0 0
1 1 1 0 1 1 1 1
22.- En los siguientes problemas, construir los mapas de Karnaugh para las
funciones cuyas tablas de verdad se dan a continuación:
1.- x y z w f(x,y,z,w) 2.- x y z w f(x,y,z,w)
0 0 0 0 0 0 0 0 0 1
0 0 0 1 0 0 0 0 1 0
0 0 1 0 1 0 0 1 0 1
0 0 1 1 0 0 0 1 1 0
0 1 0 0 0 0 1 0 0 0
0 1 0 1 0 0 1 0 1 1
0 1 1 0 1 0 1 1 0 1
0 1 1 1 0 0 1 1 1 0
1 0 0 0 0 1 0 0 0 0
1 0 0 1 0 1 0 0 1 0
1 0 1 0 0 1 0 1 0 0
1 0 1 1 1 1 0 1 1 0
1 1 0 0 0 1 1 0 0 1
1 1 0 1 0 1 1 0 1 0
1 1 1 0 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 0
Algebra de Boole como Sistema Axiomático
133
Utilizando el mencionado mapa de Karnaugh encontrar una expresión
booleana para la función booleana indicada.
23.- En los siguientes casos se dan los mapas de Karnaugh de las funciones y se
muestra una descomposición de los valores uno en los rectángulos. Escribir las
expresiones booleanas que surjan de estos mapas y descomposiciones.
1.- y' y' y y 2.- z' z' z z
x' 1 1 1 1 x' 1 1 0 1 y'
x 1 0 0 1 x' 1 1 0 1 y
z' z z z' x 0 0 0 0 y
x 1 0 0 1 y'
w' w w w'
3.- y' y' y y
x' 1 1 0 1
x 0 1 0 1
z z z z'
24.- En los ejercicios de los problemas Nro. 10 y 11, determinar las
correspondientes expresiones booleanas mínimas que surjan de las funciones
dadas utilizando el Método de Quine McClusky.
=========================
Lógica de Predicados
134
LÓGICA COMPUTACIONAL
CAPITULO V
CALCULO DE PREDICADOS
5.1.- INTRODUCCIÓN
La lógica es un agregado potente a nuestra colección de paradigmas para
resolver problemas. De la misma forma que otros paradigmas, la lógica tiene al mismo
tiempo ventajas seductivas como desventajas incómodas.
Por el lado positivo, las ideas de la lógica, que han madurado durante varios
siglos, son concisas y comprendidas universalmente, como lo es el Latín. Más aún,
hasta épocas recientes, los lógicos han enfocado en probar cosas acerca de lo que
podemos hacer con el conocimiento. Consecuentemente, cuando el dominio de un
problema es atacado con éxito por la lógica, como lo es en la matemática, estamos
con suerte, pues podemos conocer los límites de lo que podemos realizar con lo que
nos está permitido. Por el lado negativo, la lógica puede ser como una cama de
Procusto, pues concentrarnos sobre la lógica puede llevarnos a concentrarnos sobre la
matemática de la lógica desviando nuestra atención de las técnicas valorizadas de
resolver problemas que resisten el análisis matemático.
Para comprender mejor estos puntos, introducimos la notación, la idea de
demostración y las reglas de inferencia, tal como las del modus ponens, modus
tolens, y resolución, que hacen posible crear nuevas expresiones a partir de las
existentes. Luego, utilizando resolución, exploraremos la demostración por
refutación y resolución de prueba de teoremas. Introduciremos los denominados
operadores en la lógica haciendo posible la planificación basada en la lógica, pero
que crea dificultades. Por ejemplo, debe existir un modo de identificar las expresiones
que persisten cuando se aplican varias operaciones. Esto es conocido como el
problema del marco.
Finalmente, mientras que la resolución de la demostración de teoremas es
potente, algunas veces el mejor camino es la demostración utilizando propagación
comprimida. Este último método facilita las justificaciones, haciendo posible separar
suposiciones simplificadas, sin peligro para mantener ciertas a las expresiones.
5.1.1.- REGLAS DE INFERENCIA
Sabemos que algo es un pájaro, si ese algo tiene plumas o si vuela o si pone
huevos. Estos hechos pueden expresarse a través de reglas antecedente-consecuente
de la siguiente forma:
Lógica de Predicados
135
Regla 13 If el animal tiene plumas
then es un pájaro
Regla 14 If el animal vuela
pone huevos
then es un pájaro
5.1.2.- LA LÓGICA TIENE NOTACIÓN TRADICIONAL
En la lógica, para expresar el sentido de una regla antecedente-consecuente
concernientes a pájaros y plumas, necesitamos una forma para capturar la idea de que
algo tiene plumas y de que algo es un pájaro. Esto es realizado utilizando predicados,
los predicados son funciones que mapean objetos, como argumentos, en
VERDADERO o FALSO. Por ejemplo, con la forma normal de interpretar los
predicados Plumas y Pájaros y el objeto Albatros, podemos decir, informalmente, que
las siguientes expresiones son expresiones VERDADERAS:
Plumas (Albatros)
Pájaro (Albatros)
Consideremos ahora que queremos significar cuando decimos que también es
VERDAD la siguiente expresión:
Plumas (Canario)
Evidentemente, canario es un símbolo que representa a algo que tiene plumas, debido
a que satisface el predicado Plumas. De esta forma tenemos una compulsión sobre
que puede hacer un Canario. Podemos expresar otras compulsiones y otros
predicados como por ejemplo, Volar y Poner Huevos. De hecho, podemos limitar las
cosas que canario puede nominar sobre aquellas cosas que satisfacen ambos
predicados conjuntamente, diciendo que las siguientes expresiones son ambas
VERDAD:
Volar (Canario)
Poner Huevos (Canario)
Existe un modo más tradicional para expresar esta idea. Simplemente combinamos la
primera expresión con la segunda expresión y decimos que la combinación es
VERDAD:
Volar (Canario) y Poner Huevos (Canario)
Por supuesto, podemos decir también que debemos interpretar a Canario como el
nombre de algo que satisface a uno de ambos predicados. Esto es realizado utilizando
la siguiente combinación:
Volar (Canario) o Poner Huevos (Canario)
Lógica de Predicados
136
Los lógicos prefieren una notación diferente. O sea escribimos v para representar a y
(and) y escribimos w para representar a o (or).
Podemos en consecuencia escribir las mismas cosas de antes de la forma en
que los lógicos lo harían:
Volar (Canario) ∧ Poner Huevos (Canario)
Volar (Canario) ∨ Poner Huevos (Canario)
Cuando las expresiones son unidas a través de ∧, decimos que forman una
conjunción y cada parte forma conjuncto. Del mismo modo, cuando las expresiones
están unidas a través de ∨, forman una disyunción y cada parte de forma un
disyuncto. Debemos notar que estos operadores son los denominados conectivos
lógicos de la lógica formal y mapean combinaciones de VERDAD y FALSO a VERDAD
y FALSO.
Además de los conectivos de conjunción y disyunción, existen otros dos
conectivos importantes, a saber: uno de ellos es la negación y que es representado a
través del siguiente símbolo 5, y el otro es la implicación y representado por ⇒.
Consideremos el siguiente ejemplo:
5 Plumas (Susana)
Para que esto sea VERDAD, Susana debe representar algo para lo cual Plumas
(Susana) no es VERDAD. O sea que Susana debe ser algo para lo cual el predicado
Plumas no es satisfecho. Si utilizamos ⇒, podemos escribir expresiones que se
parecen a una de las reglas antecedente-consecuente, comenzamos con el siguiente
ejemplo:
Plumas (Susana) ⇒ Pájaro (Susana)
decimos que el valor de la expresión es VERDAD dependiendo de que puede
representar Susana. Una posibilidad permitida es que Susana sea algo para lo cual
tanto Plumas (Susana) y Pájaro (Susana) son VERDAD.
Implicación E2 E2
E1 ⇒ E2 V F
E1 V V F
E1 F V V
Lógica de Predicados
137
Conjunción E2 E2
E1 ∧ E2 V F
E1 V V F
E1 F F F
Disyunción E2 E2
E1 ∨ E2 V F
E1 V V V
E1 F V F
Negación E V F
5 E 5 E F V
Tabla 5.1: Tablas de Verdad de Conectivos
Naturalmente, la definición de ⇒ también permite que tanto Plumas (Susana) y
Pájaro (Susana) son ambos FALSO. Curiosamente, otra posibilidad, permitida por la
definición de ⇒, es que Plumas (Susana) es FALSO y Pájaro (Susana) es VERDAD.
Si Plumas (Susana) es VERDAD y Pájaro (Susana) es FALSO, sin embargo, entonces
la expresión compuesta considerada es FALSO.
Quizás es tiempo de ser más preciso acerca de los conectivos considerados
(negación, disyunción, conjunción e implicación) antes de que sea demasiado tarde.
Pensando en ellos como funciones, es fácil definirlos listando los valores aprobados
para cada combinación posible de argumentos. Ello está indicado en la Figura 5.1
utilizando diagramas que se denominan Tablas de Verdad.
Debemos hacer notar que los conectivos tienen una Precedencia Aceptada.
El símbolo ¬ tiene mayor precedencia que el conectivo de disyunción, ∨, de forma tal
que podemos escribir ¬ E1 ∨ E2, significando con ello la siguiente expresión evitando
de esta forma la posible confusión con otra expresión : (¬ E1) ∨ E2, sin ningún tipo de
confusión con la expresión (¬ E1 ∨ E2).
La precedencia aceptada es primera la negación, seguido por la conjunción y la
disyunción y por último la implicación. Es una muy buena costumbre el utilizar
paréntesis, para obtener claridad en las expresiones y evitar la ambigüedad.
Lógica de Predicados
138
Observar que los valores de la tabla correspondiente a la implicación, son los
mismos que los valores de verdad en la correspondiente tabla de la expresión
siguiente: ¬ E1 ∨ E2 y podemos decir que ambas expresiones son equivalentes.
(E1 ⇒ E2) ≡ ¬ E1 ∨ E2
Consideremos algunas propiedades de los conectivos dentro de la lógica de
predicados (E representa a un predicado dentro de esta lógica).
Propiedad Conmutativa (E1 º E2) ≡ (E2 º E1)
(E1 ¸ E2) ≡ (E2 ¸ E1)
Propiedad Distributiva E1 ¸ (E2 º E3) ≡ (E1 ¸ E2) º (E1 ¸ E3)
E1 º (E2 ¸ E3) ≡ (E1 º E2) ¸ (E1 º E3)
Propiedad Asociativa E1 º (E2 º E3) ≡ (E1 º E2) º E3
E1 ¸ (E2 ¸ E3) ≡ (E1 ¸ E2) ¸ E3
Leyes de De Morgan 5 (E1 º E2) ≡ (5 E1) ¸ (5 E2)
5 (E1 ¸ E2) ≡ (5 E1) º (5 E2)
y finalmente la doble negación 5 (5 E1) ≡ (E1)
5.1.3.- CUANTIFICADORES DETERMINAN QUE ELEMENTOS SON CIERTOS
Las reglas antecedentes – consecuente, que se están considerando, son
VERDAD para todos los elementos posibles dentro de un universo de discurso
determinado. Para señalar que una expresión lógica es Universalmente VERDAD
necesitamos utilizar un símbolo que significa la expresión Para Todo, ∀, como así
también una variable que representa a todos los elementos posibles dentro de un
universo de discurso determinado. En los siguientes ejemplos al considerar la
expresión,"cuando es VERDAD", decimos que cualquier elemento que tiene plumas es
un pájaro:
∀x [Plumas(x) ⇒ Pájaro(x)]
Igual que cualquier otra expresión, la misma puede ser VERDAD o FALSO. Si la
misma es VERDAD, una expresión œ significa que tendremos un valor de VERDAD
cuando substituimos cualquier objeto por la variable x dentro de los corchetes. Por
ejemplo si la expresión œx[Plumas(x) | Pájaro(x)] es VERDAD, entonces ciertamente
la siguiente interpretación Plumas(Canario) | Pájaro(Canario) es VERDAD y lo es
Lógica de Predicados
139
también en el siguiente caso Plumas(Susana) | Pájaro(Susana).
Cuando una expresión está rodeada por los corchetes asociados a un
cuantificador, decimos que la expresión se encuentra dentro de la Extensión (Scope)
del cuantificador. En consecuencia la expresión Plumas(x) ⇒ Pájaro(x) es una
Extensión del cuantificador œx[... ].
Ya que las expresiones VERDADERAS que comienzan con el cuantificador
universal nos dicen algo acerca de todas las substituciones posibles de variables por
objetos dentro de la correspondiente extensión, decimos que la expresión se
encuentra Cuantificada Universalmente.
Algunas expresiones, sin embargo, no siempre son VERDAD, sino que lo son
solo en algunos casos. La lógica también considera estos casos. Ellos son escritos
utilizando otro cuantificador representado por el símbolo › y tiene el siguiente
significado Existe al Menos y es utilizado de la siguiente forma :
›x [Pájaro(x)]
Cuando esta expresión es VERDAD, significa que existe al menos un elemento que
cuando es substituido por la variable x, hace que la expresión dentro de los corchetes
sea VERDAD. Quizás la expresión Pájaro (Canarios) es VERDAD, de cualquier modo,
algo parecido a Pájaro (Canario) es VERDAD. Expresiones que utilizan el cuantificador
(›), denominado Cuantificador Existencial, se dicen que están cuantificadas
existencialmente.
5.1.4.- VOCABULARIO DE LA LÓGICA DE PREDICADO
Un problema dentro de la lógica es la existencia de una gran cantidad de
expresiones de un vocabulario, para mantener a la lógica de un modo integro. Por
referencia observemos la Figura 5.2.
OBJETOS VARIABLES FUNCIONES
A x Apoyar
⇓ ⇓ ⇓
PREDICADOS TÉRMINOS
Sobre
⇓ ⇓
FORMULAS ATÓMICAS
Sobre(A, x) ⇒ NEGACIÓN
¬ Sobre(A, x)
⇓ ⇓
CONECTIVOS LITERALES CUANTIFICADORES
5,v,w,⇒, ⇔ ›,œ
⇓ ⇓ ⇓
Lógica de Predicados
140
FORMULAS BIEN
FORMADAS (FBF)
œX [Sobre(A, x) ⇒ Igual(x, Apoyo(x))]
⇓
ORACIONES
CLAUSULAS
ETC.
Figura 5.2. : Vocabulario de la Lógica de Predicados
En función de la Figura 5.2, podemos expresar un conjunto de definiciones
acerca de los elementos del vocabulario de la lógica de predicados, a saber:
* Los objetos de un Dominio son Términos.
* Las Variables que representan a los objetos de un dominio son
Términos.
* Las Funciones son Términos. Los argumentos y las imágenes de las
funciones son objetos de un determinado dominio.
Los términos son los únicos elementos que aparecerán como argumentos de los
diferentes predicados sobre un dominio o conjunto de dominios dados.
* Fórmulas Atómicas son definidos como predicados individuales con
sus correspondientes argumentos.
* Literales son definidos como fórmulas atómicas y fórmulas atómicas
negadas.
* Fórmulas Bien Formadas, o bien FBF, son definidas recursivamente
de la siguiente forma:
* Los literales son fórmulas bien formadas (FBF).
* Fórmulas Bien Formadas conectadas a través de conectivos son
también FBF.
* Fórmulas Bien Formadas afectadas por cuantificadores son
también FBF.
Para las FBF existen algunos casos especiales que deben ser considerados, a saber:
* Una Fórmula Bien Formada en la cual todas sus variables, si existen,
están dentro de una extensión del correspondiente cuantificador, es
definida como una Oración. La siguiente expresión es una oración
œx [Plumas(x) ⇒ Pájaro(x)]
Plumas (Albatros) ⇒ Pájaro (Albatros)
Variables como x que aparecen dentro de la extensión del correspondiente
cuantificador se denominan Variables Ligadas. Variables que no son ligadas se las
identifica como Variables Libres.
La siguiente expresión no es una oración, debido a que contiene una variable
libre, la variable y:
Lógica de Predicados
141
œx [Plumas(x) ∨ ¬ Plumas (y)]
Debemos hacer notar que permitimos variables solo para representar objetos.
Está prohibido utilizar variables para representar predicados. Estamos tratando en
consecuencia con las lógicas denominadas de Cálculo de Predicados de Primer
Orden. En una segunda instancia tenemos el Cálculo de Predicados de Segundo
Orden donde se permiten que las variables representen a los predicados. En cambio
una lógica o Cálculo Proposicional no se permiten variables de ninguna clase.
Una Fórmula Bien Formada que está formada por disyunciones de literales
recibe la denominación de Cláusula.
5.2.- ESTRUCTURA RELACIONAL DE UNA LÓGICA DE PREDICADO
La lógica proposicional nos permite razonar acerca de o con proposiciones. Sin
embargo no existe una forma para razonar acerca de las relaciones existentes entre
las entidades individuales en algún universo de discurso. Como así tampoco existe un
modo para expresar afirmaciones generales aplicadas a conjuntos en casos similares.
Consecuentemente los lógicos han desarrollado lógicas más expresivas denominadas
lógicas de predicados.
Tales lógicas pueden ser utilizadas para describir y razonar acerca de partes
del universo visualizado como Estructuras Relacionales, donde la denominada
estructura relacional consiste de un conjunto de entidades E, un conjunto de
relaciones definidas sobre E y un conjunto de funciones sobre E. Las entidades en un
subconjunto de E son conocidas como Entidades Distinguidas. Una definición más
formal de la estructura relacional de la lógica de predicados, es la siguiente:
U = (E, N, R, H)
donde definimos a cada uno de los componentes de la siguiente forma :
(a) E es un conjunto de entidades o términos {e1, e2, ...., en}, denominado
como el dominio de la estructura U.
(b) N es el conjunto de las entidades distinguidas {n1, n2, ...., nn}, de forma
tal que N es un subconjunto de E.
(c) R es un conjunto de relaciones {r1, r2, ...., rn} definidas sobre el conjunto
de entidades E.
(d) H es un conjunto de funciones {h1, h2, ...., hn} definidas sobre el conjunto
de entidades E.
Consideremos el siguiente ejemplo de una estructura relacional:
E ≡ Conjunto de todas las entidades que constituyen la Universidad.
N ≡ {Susana, Roberto, Guillermo, Veinte, Treinta, Cuarenta,
Cincuenta, Sesenta}
R ≡ {Novios, Edad}
Lógica de Predicados
142
H ≡ {Doble}
Definiendo las correspondientes relaciones y función de la siguiente forma:
Novios = {(Susana, Roberto), (Roberto, Susana)}
Edad = {(Susana, Veinte), (Roberto, Treinta), (Guillermo, Cuarenta)}
Doble(Veinte) = Cuarenta
Doble(Treinta) = Sesenta
Las relaciones y funciones en una estructura relacional puede ser Arity (o sea, que
puede tener varios números de argumentos). Por ejemplo Novios tiene un arity de 2
(dos). Doble tiene un arity de 1 (uno) y es denominada como una función de un solo
argumento.
5.2.1.- RELACIONES Y PREDICADOS
Las matemáticas en general y la ciencia de computación en particular deben
ser capaces de expresar y manipular fórmulas lógicas con valores de conjuntos
diferentes de los pertenecientes al conjunto de valores de Boole {V, F}. En particular,
son esenciales conjuntos infinitos tales como el conjunto de los números enteros Z.
Recordemos que cualquier relación n-aria R es un subconjunto del Producto
Cartesiano D1 x D2 ..... x Dn, donde cada Di es un conjunto. Por ejemplo:
* PR(x) - el conjunto de todos los números primos:
{2, 3, 5, 7, 11, 13, 17, ....}
* SQ(x, y) - el conjunto de pares ordenados (x, y), de forma tal que y
es el cuadrado de x.
{(1,1),(2,4),(3,9),(4,16), .....}
Una relación también puede ser formalizada como una función Booleana sobre
n-tuplas:
Definición 5.2.1: Sea D un conjunto de elementos. R es una relación n-aria en el
Dominio D si R es una relación sobre Dn
.
Sea R una relación n-aria sobre un dominio D. El predicado R asociado con la
relación R, está dado por la siguiente expresión:
R (d1, ......, dn) = T si y solo si {d1, ......, dn} ∈ R
Por ejemplo:
SQ(2, 1) = F
SQ(2, 2) = F
Lógica de Predicados
143
SQ(2, 3) = F
SQ(2, 4) = V
es el predicado correspondiente a la relación SQ antes definida, puesto que es cierto
que 4 es el cuadrado de 2, mientras que no lo son 1, 2, 3. De la misma forma:
PR(1) = F
PR(2) = V
PR(3) = V
PR(4) = F
puesto que 2 y 3 son primos mientras que 1 y 4 no lo son.
Esta correspondencia es trivial pero proporciona el ligamento necesario para la
formalización lógica de las matemáticas. Todas las fórmulas lógicas, interpretaciones,
pruebas, etc.; que fueron desarrolladas para el cálculo proposicional pueden ser
aplicados al cálculo de predicados. La presencia de un dominio sobre el cual los
predicados son interpretados, complica considerablemente los detalles técnicos pero
no los conceptos básicos. Se deben realizar extensiones tanto a sintaxis como a la
semántica de las fórmulas o expresiones lógicas. El plan de ataque es el siguiente:
* Para evitar continuas referencias al dominio, se introducen
cuantificadores en la definición de una fórmula, para permitir expresar
que una expresión sintácticamente pura de una declaración, que es un
predicado, es verdadera para algún o para todos los elementos del
conjunto.
* En el cálculo proposicional, una interpretación consiste solo en la
asignación de valores de verdad a los símbolos proposicionales o
proposiciones. En el cálculo de predicados, una interpretación incluye la
elección de un dominio y una asignación de relaciones a los símbolos
de predicado.
* La construcción del cuadro semántico será extendido. Ya que los
dominios pueden ser infinitos, la construcción del cuadro puede no
terminar y en consecuencia no existir un procedimiento de decisión que
satisfaga en el cálculo de predicados. Sin embargo, si el cuadro es
cerrado, la fórmula puede no ser cumplida y lo inverso también.
* Los sistemas axiomáticos del tipo Hilbert y Gentzen pueden ser
definidos en el cálculo de predicados. De este modo mientras un
fórmula válida es demostrable, y mientras podamos construir una
prueba de la fórmula, dando una fórmula arbitraria, no podremos decidir
si la misma es válida y en consecuencia demostrable.
* Antes de definir resolución, introducimos funciones sobre el dominio, en
adición a los predicados valorizados de acuerdo a los valores de
verdad. Estas funciones son necesarias a causa de la operaciones
matemáticas tales como la multiplicación:
(x > 0 v y > 0) ⇒ (x * y > 0)
Aquí es introducido un importante concepto: "La Interpretación de Herbrand".
Ello permite el desarrollo de la teoría del cálculo de predicado para un dominio
canónico, o sea, un dominio uniforme en lugar de considerar la idiosincrasia de
cada dominio individual. Además, las interpretaciones de Herbrand son
Lógica de Predicados
144
definidas sintácticamente en términos de los símbolos del cálculo de predicado,
simplificando de esta forma la teoría.
* En ausencia de un procedimiento de decisión, no estudiaremos la complejidad
de los algoritmos para el cálculo de predicados. En lugar de ello, veremos
ciertas clases restringidas, las que nos darán procedimientos de decisión.
5.3.- SINTAXIS DE LENGUAJES DE PREDICADOS DE PRIMER ORDEN
La sintaxis de un lenguaje de predicados de primer orden está definida a través
de una gramática cuyos símbolos terminales incluyen los siguientes conjuntos:
(a) Un conjunto de Símbolos de Predicados, expresados de la siguiente
forma:
P = {p1, p2, p3, .... }
(b) Un conjunto de Variables Individuales, expresados de la siguiente
forma:
Var = {v1, v2, v3, .... }
(c) Un conjunto de Constantes Individuales, expresadas de la siguiente
forma:
Cons = {c1, c2, c3, .... }
(d) Un conjunto de Símbolos de Función, expresados de la siguiente
forma:
F = {f1, f2, f3, .... }
(e) Un conjunto de conectivos lógicos que incluyen a la negación,
conjunción, disyunción, implicación o condicional y a la equivalencia o
doble implicación, representados a través del siguiente conjunto de
símbolos:
S = { ¬, ∧, ∨, ⇒, ⇔}
(f) Un conjunto de cuantificadores: Cuantificador Universal, œ, y el
Cuantificador Existencial, ›.
(g) Conjunto de Símbolos de puntuación: Paréntesis (, ) y otros.
La sintaxis de la lógica de predicado de primer orden es definida muy a
menudo utilizando un subconjunto de conectivos lógicos y un solo cuantificador. El
resto de los conectivos y el otro cuantificador, son definidos como abreviaturas.
Independientemente del conjunto elegido, el mismo debe estar completo en el sentido
de que todos los otros conectivos y cuantificadores deben estar definidos en términos
de los conectivos y cuantificadores elegidos. Por ejemplo, si se eligen a œ y ¬,
Lógica de Predicados
145
entonces el cuantificador existencial puede definirse de la siguiente forma:
›x A(x) ≡ ¬ (œx) ¬ A(x)
donde A(x) es una fórmula determinada y x es una variable lógica. De la misma forma
podemos definir la implicación en la lógica de predicados:
(A(x) ⇒ B(x)) ≡ ¬ A(x) ∨ B(x)
Definimos dentro de esta sintaxis, al conjunto de Términos de un predicado de primer
orden:
(a) Todas las constantes individuales son términos.
(b) Todas las variables individuales son términos.
(c) Si t1, t2, t3, .... tn son términos y f es una función n-aria, entonces
tenemos que f(t1, t2, t3, .... tn) es un término.
El conjunto de fórmulas atómicas está definido de la siguiente forma:
(d) Si t1, t2, t3, .... tn son términos y p es un símbolo de un predicado n-ario,
entonces tenemos que la siguiente expresión p(t1, t2, t3, .... tn) es una
fórmula atómica.
El conjunto de las denominadas FORMULAS BIEN FORMADAS (FBF) para
un lenguaje de predicados de primer orden está dado por los siguientes enunciados:
(a) Si A es una fórmula atómica, entonces A es una FBF.
(b) Si A y B son FBF, entonces tenemos que las siguientes expresiones
son también FBF:
(A) , ¬ A , A ∨ B
A ∧ B , A ⇒ B , A ⇔ B
∀x A donde x ∈ Var , ∃x A donde x ∈ Var
(c) Las únicas FBF son aquellas obtenidas por un número finito de
aplicaciones de las reglas antes indicadas.
Por facilidad de lectura, las letras x, y, z, w serán utilizadas para representar variables
individuales, cadenas tales como "Sally" son utilizadas para representar constantes
individuales, las letras P, Q, R o cadenas del tipo "Tiene" son utilizadas para
representar predicados y las letras f, g, h o cadenas tales como "Doble" son utilizadas
para representar símbolos de función.
Ejemplo 5.3.1: Como ejemplo de un lenguaje en la lógica de predicados de
primer orden, consideremos la siguiente definición informal de la
sintaxis de un lenguaje lógico denominado L1 :
(a) Símbolos de Predicado = {Edad, Novios}, donde ambos son binarios.
Lógica de Predicados
146
(b) Variables = {x, y, z}
(c) Constantes = {Susana, Roberto, Guillermo, 20, 30, 40, 50, 60}
(d) Conectivos = {¬, ∧, ∨, ⇒, ⇔}
(e) Cuantificador = {∀, ∃}
(f) Puntuación = {( , ) , [ , ] }
(g) Símbolos de Función = {Doble}
El conjunto de términos del lenguaje L1 es el siguiente conjunto:
{Susana, Roberto, Guillermo, 20, 30, 40, 50, 60, x, y, z, doble (20), doble (Susana),
doble(x), doble (doble (30)), etc.... }
Las fórmulas atómicas y las FBF de L1 están definidas de acuerdo a las reglas dadas
anteriormente. Ejemplos de FBF de L1 son :
(a) Novios (Susana, Roberto)
y lo leemos de la siguiente forma : "Susana está de novia con Roberto".
(b) Edad (Susana, 20)
y se lee como "Susana tiene la edad de 20".
(c) Edad (Guillermo, doble (20))
y se lee "Guillermo tiene una edad que es el doble de 20".
(d) 5 Novios (Susana, Guillermo)
y lo leemos como "Susana no está de novia con Guillermo".
(e) ∀x ∀y [Novios (x, y) ⇒ Novios (y, x)]
y lo leemos de la siguiente forma : "Para todo x y para todo y, si x está
de Novio con y, entonces y está de novio con x". Esto define la simetría
del predicado Novios.
(f) ∃x Edad(x, 40), y lo leemos "Existe un x cuya edad es de 40 años".
(g) Edad (x, y), y lo leemos de la siguiente forma: "x tiene la edad y".
Las fórmulas (a) a (f) son denominadas fórmulas Cerradas, ya que ellas no contienen
variables libres (las variables, si las hay, están ligadas por uno u otro cuantificador). La
fórmula (g) es una fórmula Abierta. Si A es una fórmula, entonces la extensión de la
ocurrencia de un cuantificador, tal como qx en qx A, es A (donde q = ∀ o q = ∃). Una
Ocurrencia de una variable x en A está Ligada si y solo si está inmediatamente
después de un cuantificador o si se encuentra en la extensión de la ocurrencia de un
cuantificador. La ocurrencia de una variable que no está ligada decimos que es Libre.
5.3.1.- FORMULAS DE PREDICADOS
Lógica de Predicados
147
Ahora trataremos de formalizar y ampliar la notación empleada en el punto
anterior con respecto a la sintaxis de un Lenguaje de Lógica de Predicados de Primer
Orden. Las nuevas denominaciones no reemplazan a las anteriores sino que pueden
utilizarse cualquiera de ellas.
Sea {P, A, X} el conjunto de símbolos denominados Símbolos de Predicado,
Constante y Variables, respectivamente. Por convención, las siguientes letras
minúsculas, posiblemente con subíndices, denotarán a los anteriores conjuntos:
P = {p, q}
A = {a, b}
X = {x, y}
Las fórmulas de predicados son definidas por la siguiente gramática:
argumento ::= x para cualquier x 0 X
argumento ::= a para cualquier a 0 A
lista_argumento ::= argumento
lista_argumento ::= argumento, lista_argumento
fórmula atómica ::= p(lista_argumento) para cualquier p 0 P
fórmula ::= verdad - falso - fórmula atómica
fórmula ::= (5 fórmula)
fórmula ::= (cuantificador variable fórmula)
fórmula ::= (fórmula operando fórmula)
operando ::= ∨ * ∧ * ⇒ * ⇐ * ⇔
cuantificador ::= ∃* œ
Definición 5.3.1 œ es el cuantificador universal y se lee de la siguiente forma :
"para todo". › es el cuantificador existencial y se lee de la
siguiente forma :"al menos existe un".
Para una fórmula Cuantificada, tal como (œxA), x es denominada la variable
cuantificada o la variable vinculada y A es denominado como la extensión (scope)
de la variable cuantificada. Los cuantificadores (incluyendo la variable cuantificada)
son operadores que tienen la misma precedencia que la negación. La siguiente
fórmula:
(œx ((5(›y p (x, y)) w (5(›y p (y, x)))))
y que puede ser escrita de la siguiente forma:
œx (5›y p (x, y) w 5›y p (y, x))
Tomamos del cálculo proposicional la definición de los árboles de formación y el
concepto de inducción de la estructura de una fórmula. Algunos ejemplos de fórmulas
en el cálculo de predicado, ejemplificamos a continuación:
1.- œxœy(p(x, y) ⇒ p(y, x))
Lógica de Predicados
148
p debe ser interpretada como una relación simétrica semejante a la
relación de "igualdad", de la siguiente forma :
(x = y) ⇒ (y = x)
2.- œx›y p(x, y)
Si p es interpretada como una función, entonces p debe ser total.
3.- ›x›y(p(x) v 5p(y))
Esta fórmula solo puede ser cierta en un dominio con al menos dos
elementos.
4.- œx p(a, x)
Expresa la existencia de un elemento especial. Por ejemplo, si p es
interpretado como la relación "#", entonces la fórmula es cierta para a
= 1 en el dominio de los enteros positivos, porque 1 es menor o igual a
cada elemento del dominio. Sobre el dominio de todos los enteros
(positivos y negativos), la fórmula no es cierta o verdadera.
5.- œx(p(x) v q(x)) ≡ (œx p(x) v œx q(x))
La fórmula es válida. Seleccionemos un elemento arbitrario d del
dominio, Entonces p(d) v q(d) es verdadero, lo que implica que p(d) es
verdadero, como así también lo es q(d). Como d es arbitrario, entonces
œxp(x), œxq(x) son verdaderos.
6.- ›x(p(x) w q(x)) ≡ (›x p(x) w ›x q(x))
También es una fórmula válida por un argumento dual para "œ" y "v".
7.- œx(p(x) ⇒ q(x)) ⇒ (œx p(x) ⇒ œx q(x))
Es una fórmula válida.
8.- (œx p(x) ⇒ œx q(x)) ⇒ œx(p(x) ⇒ q(x))
Corresponde a la fórmula inversa del ejemplo #7 y no es válida.
Antes de definir interpretaciones, debemos definir el concepto de sustitución de
constantes por variables. Existen dificultades técnicas similares a las encontradas en
los lenguajes de programación, como Pascal, que permite definir variables locales
dentro del ámbito de un procedimiento. Formalizamos esta propiedad como una
definición de sustitución en los predicados.
Definición 5.3.2: Sean A una fórmula, x una variable y a una constante. La
siguiente expresión A [x ⇐ a], representa la sustitución de a
por x y está definida por la inducción:
* Si A es una fórmula atómica, A [x ⇐ a] es obtenida
reemplazando cada ocurrencia de x en A (si existe) por a.
* Si A = 5A1 , A [x ⇐ a] = 5A1[x ⇐ a].
* Si A = A1 op A2 , A [x ⇐ a] = A1[x ⇐ a] op A2[x ⇐ a].
* Si A = œxA1 , A [x ⇐ a] = A. Similar para A = ›xA1.
Lógica de Predicados
149
* Si A = œyA1 para y … x, A[x ⇐ a] = œyA1[x ⇐ a]. Similar
para A = ›yA1.
Debemos hacer notar la distinción existente entre la sustitución para la variable
cuantificada y la sustitución para cualquier otra variable. La variable cuantificada es
análoga a la declaración de una variable local en un procedimiento en Pascal y es tal
que ningún asignamiento global tiene efecto. La sustitución por cualquier otra variable
es análoga a la sustitución global a una variable que no ha sido redeclarada como una
variable local.
Definición 5.3.3: Si A [x ⇐ a] … A, entonces x es denominada variable libre de
A.
La siguiente notación:
A(x1, ..... , xn)
indica que las variables libres de la fórmula A están en {x1, ..... , xn}. (Usualmente todas
estas variables son libres en A.)
Si la fórmula no tiene variables libres, es denominada una fórmula cerrada. Si
{x1, ..... , xn} son todas variables libres de A, es cierre universal de A está dado por:
œx1 ..... œxn A
y el cierre existencial está dado por:
›x1 ..... ›xn A
Por ejemplo, si A(x, y) = p(x, y) tiene dos variables libres {x, y}, ›y p(x, y) tiene una
sola variable libre {x} y œx›y p(x, y) es cerrado. El cierre universal de A(x, y) es œxœy
p(x, y) y el cierre existencial es ›x›y p(x, y).
Lema 5.3.4 Si A es cerrada, entonces A [x ⇐ a] también es cerrada.
Demostración: Por inducción sobre la estructura de A. Si A es atómica y
cerrada, no tiene variables tal que A [x ⇐ a] = A es cerrada por
suposición. Las etapas de inducción para las conectivas
proposicionales son inmediatas, como lo es el caso donde A es
una cuantificación de la variable x sustituida.
Supongamos que el lema es cierto para A1 y tenemos que A = œyA1
para y ≠ x. Pero A = œyA1 es cerrada por suposición, por lo tanto x no
está libre en A1 y en A1[x ⇐ a] = A1 por definición de variable libre. Por
lo tanto:
A [x ⇐ a] = œyA1[x ⇐ a] = œyA1 está cerrada. &
Definición 5.3.5: Sea A = œx A(x) una fórmula cuantificada y sea a una constante,
Lógica de Predicados
150
entonces A [x ⇐ a], denotada como A(a) es una instancia de
œx A(x). La operación de sustituir una constante específica por
una variable cuantificada es denominada instanciación.
Definición 5.3.6: Sea A una expresión, sea x una variable y sea t un término.
Entonces St
x
A representa la expresión que se obtiene al
sustituir todas las apariciones de x en A por t. St
x
A es
denominada como una particularización (un caso , un
ejemplo) de A, y se dice que t es un caso (instancia) de x.
Ejemplo 5.3.2: Sean a, b y c constantes individuales, sean P y Q símbolos de
predicado, y sean x e y variables. Calcular:
Sa
x
(P(a) ⇒ Q(x))
Sb
y
(P (y) ∨ Q (y))
Sa
y
Q(a)
Sa
y
(P(x) ⇒ Q(x))
Solución: Sa
x
(P(a) ⇒ Q(x)) es (P(a) ⇒ Q(a)), y Sb
y
(P(y) ∨ Q(y)) es (P(b) ∨ Q(b)).
Dado que Q(a) no contiene ningún y, al sustituir todos los casos de y
por a se tiene que Q(a) queda intacto, lo cual significa que:
Sa
y
Q (a) = Q (a)
Sa
y
(P(x) ⇒ Q(x)) = (P(x) ⇒ Q(x))
Sa
x
Es una operación que puede aplicarse a los predicados; por lo tanto, no es un
predicado en sí mismo y esto hace que Sa
x
A sea una meta expresión.
5.4.- SEMÁNTICA DEL LENGUAJE DE PREDICADOS DE 1er ORDEN
5.4.1.- INTERPRETACIONES
Una interpretación de una frase debe contener información suficiente para
determinar si la frase es falsa o verdadera. Para estudiar esto, consideremos una frase
concreta, tal como “han pagado todos los clientes”. ¿Qué se necesita para
determinar si esta frase es verdadera? Evidentemente, necesitamos saber quienes
son los clientes, o sea, necesitamos un universo de discurso. En segundo lugar, es
necesario saber quién ha pagado y quién no. Esto quiere decir que necesitamos
alguna forma de asignación del predicado “ha pagado”. Como segundo ejemplo,
consideremos la frase: “y ha solicitado el objeto X”. Para averiguar si esta frase es
verdadera, es preciso una vez más definir el universo de discurso, tal como por
ejemplo, todos los clientes de una empresa de comercialización. Además tenemos que
saber quién es y, y es preciso tener una asignación del predicado “ha solicitado X”.
Estos dos ejemplos sugieren un cierto número de elementos de los cuales hay que
disponer para tener una interpretación. Formalmente una interpretación de una
expresión lógica contiene los siguientes componentes:
Lógica de Predicados
151
1. Tiene que existir un universo de discurso.
2. Para cada individuo, tiene que existir una constante individual que se refiera
exclusivamente a ese individuo en particular y a ningún otro.
3. Hay que asignar a cada variable libre una constante individual exclusiva.
4. Tiene que existir una asignación para cada predicado que se utilice en la
expresión, incluyendo los predicados de paridad 0, que representan
proposiciones.
Para expresar las aseveraciones acerca de las estructuras relacionales de
primer orden, U, es necesario asociarlas con lenguajes de primer orden. Para hacer
esto, es necesario definir un lenguaje L de modo tal que asignemos a cada relación n-
aria en U, a un predicado n-ario en L, cada función n-aria en U a cada símbolo de
función en L y cada entidad distinguible en U a cada constante en L. La función que
define estas asignaciones es denominada una Interpretación.
Debe quedar en claro que podemos asociar el lenguaje L1 con la estructura
relacional U1, definiendo una interpretación γ1, tal que :
γ1 (Susana) = SUSANA
γ1 (Roberto) = ROBERTO
γ1 (Novios) = NOVIOS
γ1 (20) = VEINTE
Para facilitar la definición de interpretación, extenderemos el concepto de
fórmula para permitir fórmulas en un dominio.
Definición 5.4.1: Sea D un dominio. Una fórmula sobre D está definida como
antes excepto que los elementos de D reemplazan constantes
de un conjunto !.
Por ejemplo, correspondiendo a la fórmula œx p(a, x) en el cálculo de predicado,
tenemos la fórmula œx p (0, x) en el dominio ù de los números naturales. La expresión
œx p(0, x) es también una fórmula en el dominio Z de los números enteros. La
expresión œx p(", x) es una fórmula en el dominio S de las cadenas de caracteres,
donde " es la cadena nula.
Definición 5.4.2: Sea A una fórmula de forma tal que {p1, ..., pn} son todos
predicados y {a1, ..., an} son todas constantes que aparecen en
A. Decimos en consecuencia que una Interpretación I es una
tripla de la siguiente forma:
(D, {R1, ..., Rn}, {d1, ..., dn})
que consta de los siguientes elementos:
Lógica de Predicados
152
* Un dominio no vacío D.
* Una asignación de la relación n-aria Ri sobre D para cada predicado n-
ario pi.
* Una asignación de un elemento dj 0 D para cada constante aj.
Las siguientes expresiones son interpretaciones de la fórmula œxp(a, x) :
* I1 = (ù, {#}, {0})
* I2 = (ù, {#}, {1})
* I3 = (Z, {#}, {0})
* I4 = (S, {f}, {"})
en las cuales hemos utilizado el operador de menor o igual para las relaciones binarias
y el operador de inclusión para la relación de subcadenas.
Examinemos ahora las posibles interpretaciones de œx P(x), donde P es el
predicado “ha pagado”. Para encontrar esta interpretación, se necesita una lista de
clientes, que proporciona el universo de discurso requerido. Supongamos que existen
sólo tres clientes, Juan, Manuel y Silvia. Abreviaremos estos nombres en la forma J, M
y S, respectivamente. Estas abreviaturas corresponden a las constantes individuales.
A continuación, se necesita una asignación para P(x). Si tanto Juan como Manuel han
pagado pero Silvia no, entonces la asignación se da en la siguiente forma, expresada
como una Tabla de Valores de Verdad:
J M S
P(x) V V F
A través de esta tabla podemos determinar el valor de verdad de la expresión œx P(x).
Evidentemente es falsa. En nuestra interpretación œx P(x) solo es verdadera si P (J),
P(M) y P(S) son todas ellas verdaderas, lo cual no es cierto. Silvia no ha pagado, por
lo tanto P(S) es falso.
Ahora formularemos lo que significa, en general, que una expresión como œx
P(x) sea verdadera. Para la interpretación, seleccionaremos un dominio finito que
consta de los n individuos a1, a2, a3, . . . , an . œx P(x) sólo es verdadero si P(a1),
P(a2), P(a3), . . . , P(an) son todos verdaderos. Por lo tanto, œx P(x) esta dado por:
œx P(x) = P(a1) v P(a2) v P(a3) v . . . v P(an) (5.4.1)
La parte izquierda de esta expresión habría sido exactamente la misma si
hubiéramos empleado una variante de œx P(x) tal como œy P(y) o œz P(z) . Esto
muestra que las variantes son equivalentes lógicamente. Obsérvese que P(a1), P(a2),
P(a3), . . . , P(an) sólo tienen dos valores posibles V y F, y esto hace que las
expresiones P(a1), P(a2), P(a3), . . . , P(an) sean proposiciones. En este sentido, se
Lógica de Predicados
153
puede decir que las interpretaciones en universos finitos transforman las expresiones
de cálculo de predicado en proposiciones.
Dada la interpretación que se expresa mediante la tabla de verdad anterior, es
fácil decidir si ›x P(x) es verdadero si existe al menos un x para el cual es válido P(x).
En la interpretación dada P(J) es verdadero, y esto basta para hacer que ›x P(x) sea
verdadero. Existe un cliente, Juan, que ha pagado. En el dominio de los n individuos
a1, a2, a3, . . . , an podemos encontrar una expresión para el cuantificador existencial.
›x P(x) es verdadero en toda la interpretación que haga verdadero a P(a1), o P(a2), o
P(a3), o . . . , o P(an). Por lo tanto:
›x P(x) = P(a1) w P(a2) w P(a3) w . . . w P(an) (5.4.2)
Por ejemplo, utilizando las expresiones (5.4.1) y (5.4.2) podemos demostrar la validez
de una expresión para cualquier dominio finito. Consideremos la siguiente expresión
5œx P(x)
5œx P(x) = 5 (P(a1) v P(a2) v P(a3) v . . . v P(an))
= 5 (P(a1)) w 5 (P(a2)) w 5 (P(a3)) w . . . w 5 (P(an))
= ›x 5 P(x)
Ejemplo 5.4.1: Analicemos la interpretación de la siguiente frase “Hay alguien
que admira a todo el mundo”. El universo de discurso consta
de tres personas Juan, María y Ricardo. El predicado en
cuestión es Q; esto es, Q(x, y) significa que “x admira a y”, la
tabla siguiente nos da una asignación para el predicado
mencionado. A partir de esta tabla, se ve que Juan admira a
María y a Ricardo, que María sólo admira a Juan y que Ricardo
admira a María y a si mismo. Para averiguar si la frase
planteada es cierta o no, lo mejor es traducirla al cálculo de
predicados. “Hay alguien” se puede expresar como ›x.
Juan María Ricardo œy Q(x, y) ›y Q(x, y)
Juan F V V F V
María V F F F V
Ricardo F V V F V
œx Q(x, y) F F F
›x Q(x, y) V V V
Como primer paso escribimos la siguiente expresión:
›x x admira a todo el mundo
La frase “x admira a todo el mundo” se puede traducir ahora en la forma œy Q(x, y).
Lógica de Predicados
154
Como resultado, “Hay alguien que admira a todo el mundo” se puede expresar de
la siguiente forma:
›x œy Q(x, y)
Para averiguar si esta frase es cierta, buscaremos primero el valor de verdad de œy
Q(x, y). Para la interpretación dada esta sub expresión es falsa, independientemente
del valor de x, por lo tanto, œy Q(x, y) es falsa para todo x: no existe un valor de x para
el cual œy Q(x, y) sea verdadero y consiguientemente ›x œy Q(x, y) es falso a los
efectos de la interpretación considerada.
Obsérvese que las dos expresiones de predicados œy ›x Q(x, y) y ›x œy Q(x,
y) son diferentes. œy ›x Q(x, y) dice que para todo el mundo existe una persona que
él (o ella) admira, lo cual es cierto a los efectos de la interpretación dada. Para ver
esto, consideremos la siguiente expresión ›x Q(x, y). Esta expresión es verdadera
para todo x; es verdadera para los valores de x = Juan, x = María y x = Ricardo. Esto
significa que œx ›y Q(x, y) es verdadero para la interpretación dada. Con esta misma
interpretación, sin embargo, ›x œy Q(x, y) es falsa, tal como se mostró anteriormente.
Por lo tanto, el valor de verdad puede cambiar si se intercambian los cuantificadores
universal y existencial.
Aún cuando los cuantificadores existencial y universal no se puedan
intercambiar, se nos permite intercambiar los cuantificadores universales, y lo mismo
sucede con los cuantificadores existenciales. Esto se indica mediante las leyes
siguientes:
œx œy Q(x, y) = œy œx œy Q(x, y)
›x ›y Q(x, y) = ›y ›x Q(x, y)
5.4.2.- VALUACIONES (VALORIZACIÓN)
Una valorización, valuación o asignación de un valor, es una función que
asigna entidades de una estructura relacional a las variables del lenguaje asociado L1.
Por ejemplo consideremos la valorización "1, definida de la siguiente forma:
"1(x) = GUILLERMO
"1(y) = ROBERTO
"1(z) = VEINTE
Definición 5.4.3: Sea A una fórmula cerrada Definimos a v(A), como el valor de
A , bajo una interpretación I , obtenida reemplazando primero
cada constante aj de A por el elemento del dominio dj asignado
y que pertenece a I y luego por inducción sobre la estructura de
A:
• Si A = pi(c1, ...., cn) es una fórmula atómica, entonces v(A) = V si y solo si se
Lógica de Predicados
155
cumple que:
{c1, ...., cn} 0 Ri
donde Ri es la relación asignada por I a pi.
• V (5 A1) = V si y solo si v( A1) = F .
• V (A1 w A2) = V si y solo si v( A1) = V o v( A2) = V y de la misma forma
procederemos para cualquier otro conectivo Booleano.
• V (œxA1) = V si y solo si para todo c 0 D, v (A1[x ⇐ c]) = V .
• V (›xA1) = V si y solo si para algunos c 0 D, v (A1[x ⇐ c]) = V .
En otras palabras, primero utilizamos las asignaciones de los elementos del
dominio a los símbolos constantes (si existe alguno) para transformar la fórmula en
una fórmula sobre D. Luego usar la definición inductiva, la cual reduce la computación
del valor de A a preguntas acerca de las siguientes fórmulas atómicas pi(c1, ...., cn). La
fórmula atómica es V si y solo si esta secuencia de elementos del dominio está en la
relación Ri asignada por la interpretación.
5.4.3.- VALORES SEMÁNTICOS/NOTACIONES
Los valores semánticos o notaciones de una expresión A con respecto a una
estructura U, una interpretación γ y una valorización α es denotada a través de la
siguiente notación:
[A]U, (, "
por ejemplo con respecto a U1, (1, "1 tenemos que :
(a) [Susana] (1, "1 = SUSANA
(b) [x] (1, "1 = GUILLERMO
(c) [Doble(20)] (1, "1 = CUARENTA
Debemos resaltar que en (c), la notación de una expresión de una función es una
entidad en la estructura relacional asociada. En general, el valor semántico de una
expresión de una función de la forma siguiente f(t1, t2, t3, .... tn), donde t1, t2, t3, .... tn son
términos, está dado por :
[ f ] (, "([ t1 ] (, ", . . . , [ tn ] (, ")
o sea que el valor semántico de una expresión función f(t1, t2, t3, .... tn) es obtenido
aplicando la función que está representada por (o sea es el valor semántico de) f para
los argumentos que son denominados por t1, t2, t3, .... tn.
5.4.4.- CUMPLIMENTACIÓN DE FORMULAS
Lógica de Predicados
156
La satisfacción o cumplimentación de una fórmula A del lenguaje L a través de
una estructura relacional U con respecto a una interpretación ( y a una valorización ",
está representada por:
U ⎥= A [(, "]
y está definida de la siguiente forma :
(a) Si p(t1, t2, t3, .... tn) es una fórmula atómica en L entonces :
U ⎥= p(t1, t2, t3, .... tn) ssi ([ t1 ] (, ", . . . , [ tn ] (, ") 0 [ p ] (, "
O sea que U satisface una fórmula atómica p(t1, t2, t3, .... tn) con respecto a una
interpretación ( y a una valorización " si y solo si (e1, e2, e3, .... en) 0 r, donde
r es la relación asignada a p por (, y ei es la entidad asignada a ti por (, o ".
(b) Si A y B son FBF y si x es una variable de L entonces tenemos que:
(1) U ,= [A] [(, "] ssi U ,= A [(, "]
(2) U ⎥= 5 A [(, "] ssi no es el caso de U ⎥= A [(, "]
(3) U ⎥= A ∧ B [(, "] ssi U ⎥= A [(, "] y U ⎥= B [(, "]
(4) U ⎥= A ∨ B [(, "] ssi U ⎥= A [(, "] o U ⎥= B [(, "]
(5) U ⎥= A ⇒ B [(, "] ssi U ⎥= 5 A [(, "] o U ⎥= B [(, "]
(6) U ⎥= A ⇔ B [(, "] ssi U ⎥= A ⇒ B [(, "] y U ⎥= B ⇒ A [(, "]
(7) U ⎥= ∃x A [(, "] ssi existe una entidad e en U tal que U ⎥= A [(, "'] ,
donde "' es idéntica a " excepto que "' (x) = e mientras que " (x)
puede serlo.
(8) U ⎥= ∀x A [(, "] ssi para toda entidad e en U tal que U ⎥= A [(, "'] ,
donde "' es idéntica a " excepto que "' (x) = e mientras que " (x)
puede serlo.
La satisfacción de una expresión o fórmula a través de una estructura
relacional, con respecto a una interpretación, no depende de todos los argumentos de
una validación, sino solamente de aquellos argumentos que son variables libres en la
fórmula considerada.
Lógica de Predicados
157
5.4.5.- VERDAD Y MODELOS
Definición 5.4.4: A es verdadera en I, o I es un modelo para A, si el valor
v(A) = V bajo I. Notación: I ⎥= A o bien U ⎥= A [(, "] .
Retornando a la fórmula A = œx p (a, x) y dentro del conjunto de interpretaciones
definido a continuación, tenemos:
* I1 ⎥= A ya que para todo n 0 N, (0, n) 0 #, o de la forma que se
escribe usualmente 0 # n.
* I2 no ⎥= A ya que no es verdadero que para todo n 0 N, 1 # n. Si n = 0
entonces 1 Ü 0.
* I3 no ⎥= A .O sea, que para no d tenemos (Z, #, d) ⎥= A., debido a que
no existe un entero más chico.
* I4 ⎥= A ya que por la definición usual de subcadenas, la cadena nula ""
es una subcadena de cada cadena.
Definición 5.4.5: Una expresión o fórmula es válida si es verdadera en todas las
interpretaciones. Para expresar que una expresión o fórmula A
es valida, escribimos de la siguiente forma ⎥= A.
Definición 5.4.6: Una expresión o fórmula A es suficiente si para alguna
interpretación I, se cumple que I ⎥= A, A es válido (notación ⎥=
A) si se cumple que para todas las interpretaciones I, I ⎥= A.
Las definiciones de falsedad, insuficiencia, equivalencia lógica e implicación lógica son
similares a las desarrolladas en el cálculo o lógica proposicional.
A = œx p(a, x)
es suficiente ya que I1 ⎥= A y es falsa ya que I3 no ⎥= A. Notar que aún cuando las
asignaciones de p y a son las mismas, el cambio del dominio falsifica a la fórmula. Una
fórmula válida es, por ejemplo, la siguiente:
œx p(x) ⇒ p(a)
Suponer que la fórmula anterior no es válida, debe existir entonces una interpretación
(D, {R}, {d}) tal que v(œx p(x)) = V y v(p(a)) = F. Por la definición inductiva de v, para
todo c ∈ D, v(p(c)) = V, o sea que tenemos que c ∈ R. En particular, ya que d ∈ D, d ∈
R, entonces v(p(d)) = V contradiciendo con la expresión v(p(d)) = F.
Notemos que la siguiente fórmula:
›x p(x) ⇒ p(a)
Lógica de Predicados
158
no es válida ya que es posible encontrar una interpretación de forma tal que se cumpla
que v(p(d')) = V y v(p(d)) = F para algún valor que cumpla con d' ≠ d.
Finalmente, consideremos una fórmula no cerrada tal como la siguiente:
p(x) w q(y)
no es posible asignar valores de verdad a fórmulas no cerradas. En lugar de ello,
debemos considerarlas como relaciones. Dando valores de dominio d1 y d2 para x e y,
el valor de p(d1) w q(d2) podrá ser calculado. Este proceso es similar al de asignar
valores del dominio a constantes en la definición de una interpretación.
Definición 5.4.7: Si B es una expresión o fórmula, entonces diremos que toda
interpretación que haga que B produzca V satisface a B. Toda
interpretación que satisface a B se denomina un modelo de B.
Si B tiene un modelo, entonces se dice que B es viable.
Definición 5.4.8: Una fórmula o expresión B que no tenga ningún modelo se
denomina una expresión contradictoria.
Definición 5.4.9: Una expresión o fórmula con variables libres
A(x1, ...., xn)
es suficiente si solo si existe una interpretación I y una asignación de valores del
dominio (d1, ...., dn) a las variables libres, tal que se cumpla:
v (A(d1, ...., dn)) = V
No existe la necesidad de complicar el tratamiento teórico incluyendo fórmulas
no cerradas, debido al siguiente teorema:
Teorema 5.4.7: Una fórmula no cerrada A(x1, ...., xn) es suficiente si y solo si lo
es un cierre existencial:
›x1, ...., ›xn A(x1, ...., xn)
Es válida si y solo si lo es un cierre universal:
œx1, ...., œxn A(x1, ...., xn) &
5.5.- EQUIVALENCIA LÓGICA Y SUBSTITUCIÓN
En el cálculo proposicional dos fórmulas son lógicamente equivalentes A <=>
A' si su valor es el mismo bajo todas las interpretaciones. Si A es una subfórmula de B
y A <=> A' , entonces B <=> B'[A <=> A']. En el cálculo de predicado se mantienen
definiciones y teoremas equivalentes, pero existen dificultades técnicas ocasionadas
por las variables libres. Más que complicar la presentación, restringimos el uso de la
substitución a fórmulas que tengan el mismo conjunto de variables libres. En este
Lógica de Predicados
159
caso:
A(x1, ...., xn) / A'(x1, ...., xn)
si y solo si:
œx1 ....œxn A(x1, ...., xn) / œx1 ....œxn A'(x1, ...., xn)
y el teorema justifica la substitución generalizada fácilmente.
La noción de validez nos permite definir la implicación lógica y la equivalencia
lógica en la forma siguiente:
Definición 5.5.1: Sean A y B dos expresiones o fórmulas Decimos que A es
lógicamente equivalente a B si A <=> B es válida. En este
caso escribimos A ≡ B. Además, decimos que A implica
lógicamente a B, o que A ≡> B, si la expresión A ⇒ B es válida
Tal como en el cálculo proposicional, se pueden utilizar las equivalencias
lógicas para manipular fórmulas, y se pueden utilizar las implicaciones lógicas como
base para unos argumentos correctos. Tal como en el cálculo proposicional,
escribiremos A1, A2, . . . , An ⎥= C, si A1, A2, . . . , An en conjunto implican lógicamente
a C.
La ley siguiente la utilizaremos como ejemplo. Sin embargo esta ley es muy
importante.
œx (P ⇒ Q(x)) / P ⇒ œx Q(x) (5.5.1)
Aquí P es una proposición constante y Q es un predicado. Para demostrar la
expresión anterior (5.5.1) utilizaremos la ley de los casos. Dado que P es o bien
verdadera o bien falsa, esto significa que en lugar de utilizar la expresión dada, se
puede demostrar la validez de las dos fórmulas siguientes:
œx (V ⇒ Q(x)) / V ⇒ œx Q(x) (5.5.2)
œx (F ⇒ Q(x)) / F ⇒ œx Q(x) (5.5.3)
Estas dos equivalencias son válidas. Dado que V⇒ Q(x) es Q(x), el lado izquierdo de
(5.5.2) se reduce a œx Q(x). Por una razón similar el lado derecho de (5.5.2) se reduce
a œx Q(x) y es evidente que œx Q(x) / œx Q(x) es verdadera. Además la expresión
(5.5.3) es verdadera, porque ambos lados son siempre verdaderos F ⇒ œx Q(x) es
trivialmente verdadero por definición de implicación lógica. En conclusión la expresión
(5.5.1) es válida independientemente de que P sea verdadero o falso.
Las expresiones válidas del cálculo de predicados también se pueden
transformar en esquemas, salvo que hay que prestar especial atención a las variables
libres y ligadas. Para demostrar esto, consideremos la expresión (5.5.1). En esta
fórmula, podemos sustituir a P por cualquier expresión, siempre y cuando esta
expresión no contenga a x como variable libre, y esta sustitución no afecta a su
Lógica de Predicados
160
validez. Por ejemplo, supongamos que P representa “brilla el sol”. Q representa
“hace buen tiempo” y H(x) representa “x es feliz”. Entonces se tiene, a partir de
(5.5.1), que:
œx ((P v Q)⇒ H(x)) / (P v Q) ⇒ œx H(x)
Por tanto si es cierto que ”para todo el mundo que si brilla el sol y hace buen
tiempo, entonces son felices, se puede concluir que si brilla el sol y hace buen
tiempo, entonces todo el mundo es feliz”.
La figura 5.5.1 contiene una lista de fórmulas válidas en el cálculo de
predicado. Ya que la validez de A / B es la misma que la equivalencia A <=> B, la
lista está dada en esta forma de modo tal que las fórmulas que no son equivalentes en
ambas direcciones, también pueden ser listadas.
Figura 5.5.1 - Fórmulas Válidas en el Cálculo de Predicados
œx A(x) ≡ 5›x 5A(x)
›x A(x) ≡ 5œx 5A(x)
œx A(x) ⇒ ›x A(x)
›x œy A(x, y) ⇒ œy ›x A(x, y)
œx œy A(x, y) ≡ œy œx A(x, y)
›x ›y A(x, y) ≡ ›y ›x A(x, y)
›x (A(x) w B(x)) ≡ (›x A(x) w ›x A(x))
œx (A(x) v B(x)) ≡ (œx A(x) v œx A(x))
(œx A(x) w œx B(x)) ⇒ œx (A(x) w B(x))
›x (A(x) v B(x)) ⇒ (›x A(x) ∧ ›x B(x))
œx (A(x) ≡ B(x)) ⇒ (œx A(x) ≡ œx B(x))
œx (A(x) ≡ B(x)) ⇒ (›x A(x) ≡ ›x B(x))
(›x A(x) w B) ≡ ›x (A(x) w B)
(œx A(x) w B) ≡ œx (A(x) w B)
(›x A(x) v B) ≡ ›x (A(x) v B)
(œx A(x) v B) ≡ œx (A(x) v B)
œx (A ⇒ B(x)) ≡ (A ⇒ œx B(x))
œx (A(x) ⇒ B) ≡ (›x A(x) ⇒ B)
›x (A(x) ⇒ B(x)) ≡ (œx A(x) ⇒ ›x B(x))
(›x A(x) ⇒ œx B(x)) ⇒ œx (A(x) ⇒ B(x))
œx (A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ œx B(x))
œx (A(x) ⇒ B(x)) ⇒ (›x A(x) ⇒ ›x B(x))
œx (A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ ›x B(x))
El resto de esta sección motiva y explica alguna de las fórmulas más
importantes de esta lista. Consideremos las siguientes fórmulas:
œx A(x) ≡ 5›x 5A(x)
›x A(x) ≡ 5œx 5A(x)
Lógica de Predicados
161
muestran que cualquier cuantificador puede ser definido en términos del otro
cuantificador. Ello puede ser utilizado en desarrollos teóricos para reducir el número de
casos que deben ser tratados. Otras fórmulas importantes que relacionan a los
cuantificadores, son las indicadas a continuación:
œx A(x) ⇒ ›x A(x)
›xœy A(x, y) ⇒ œy›x A(x, y)
La inversa de la última fórmula no es válida, tal como puede comprobarse a través de
la interpretación (Z, {≤}). Los cuantificadores existenciales son distributivos para la
disyunción y los cuantificadores universales son distributivos para la conjunción.
œx(A(x) v B(x)) ≡ (œx A(x) v œx B(x))
›x(A(x) w B(x)) ≡ (›x A(x) w ›x B(x))
pero solo es válido en una dirección para los cuantificadores existenciales sobre la
conjunción y para los cuantificadores universales sobre la disyunción.
(œx A(x) w œx B(x)) ⇒ œx(A(x) w B(x))
›x(A(x) v B(x)) ⇒ (›x A(x) v ›x B(x))
Para la dirección contraria o inversa a la indicada anteriormente, consideremos la
interpretación sobre cualquier dominio de al menos dos elementos definida de la
siguiente forma:
v(A(d)) = V
para exactamente un elemento d 0 D y además:
v(B(d')) = V
para exactamente un valor d' 0 D, d … d'. Por lo tanto:
v(›x A(x) v ›x B(x)) = V
pero tenemos que:
v(›x(A(x) v B(x))) = F
Para el cuantificador universal podemos obtener un construcción similar a la indicada
anteriormente.
Si una subfórmula no contiene variables libres, entonces los cuantificadores
sobre tal variable pueden ser pasados libremente a través de la subfórmula:
(›x A(x) w B) ≡ ›x(A(x) w B)
Lógica de Predicados
162
recordando que cuando una variable no es libre debe cumplirse la siguiente condición
B[x ⇐ d] = B. De forma tal que:
(A(x) w B)[x ⇐ d] ≡ A(x)[x ⇐ d] w B [x ⇐ d] ≡ A(x)[x ⇐ d] w B
a partir de la cual obtenemos la equivalencia.
Fórmulas similares para la implicación pueden obtenerse a partir de las
fórmulas para la disyunción reemplazando la implicación por la disyunción equivalente
y observando la alteración de los cuantificadores a medida que la negación pasa a
través de ellos:
œx(A(x) ⇒ B) ≡
œx(5A(x) w B) ≡
œx5A(x) w B ≡
5›x A(x) w B ≡
›x A(x) ⇒ B
Las fórmulas para implicación no son siempre obvias y deber ser estudiadas muy
cuidadosamente.
›x(A(x) ⇒ B(x)) ≡ (œx A(x) ⇒ ›x B(x))
(›x A(x) ⇒ œx B(x)) ⇒ œx(A(x) ⇒ B(x))
siguiendo las fórmulas para '›' sobre 'w' y 'œ' sobre 'v', respectivamente.
Consideremos la siguiente expresión:
œx(A(x) w B(x)) ⇒ (œx A(x) w ›x B(x))
es una fórmula muy interesante que conecta cuantificadores universales y
existenciales. Transformando el consecuente en una implicación:
5œx A(x) ⇒ ›x B(x)
podemos además probar su validez. Sea I una interpretación arbitraria de forma tal
que se cumpla lo siguiente:
v(5œx A(x)) = V
entonces
v(›5x A(x)) = V
tal que d sea algún elemento de dominio en D 0 I tal que v(5A(d)) = V. A partir del
antecedente de la fórmula:
œx(A(x) w B(x))
Lógica de Predicados
163
obtenemos lo siguiente
v(A(d) w B(d)) = V
Lo anterior conjuntamente con v(5A(d)) = V implica que v(B(d)) = V a partir de lo cual
concluimos con la siguiente validación:
v(›x B(x)) = V
A partir de la fórmula anterior, podemos derivar varias fórmulas de distribución
utilizando la implicación:
œx (A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ œx B(x))
œx (A(x) ⇒ B(x)) ⇒ (›x A(x) ⇒ ›x B(x))
œx (A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ ›x B(x))
5.6.- CUADROS SEMÁNTICOS
Antes de presentar la construcción formal de los cuadros semánticos para el
cálculo de predicados, debemos construir informalmente varios cuadros para estudiar
las dificultades con las que debemos tratar. Recordemos que un cuadro es una
búsqueda sistemática para un contra-ejemplo. Lo que debemos realizar es extender la
búsqueda para un contra-ejemplo e incluir la búsqueda para fórmulas cuantificadas.
El primer ejemplo es la negación de una fórmula válida:
œx(p(x) ⇒ q(x)) ⇒ (œx p(x) ⇒ œx q(x))
Aplicando dos reglas-" a fórmulas de la forma 5(A ⇒ B), podemos obtener el siguiente
conjunto de fórmulas para las cuales no se pueden aplicar más reglas de cuadros
proposicionales:
œx(p(x)⇒ q(x)), œx p(x), 5œx q(x)
La fórmula 5œx q(x) es equivalente a ›x5q(x), tal que si queremos crear un contra-
ejemplo, debemos instanciar la fórmula con algún elemento de dominio concreto
siendo substituido por x. Más allá de inventar algún dominio artificial, usaremos el
conjunto de los símbolos constantes como un dominio. Sea a ∈ A, establecido para un
elemento de dominio y extendido al cuadro con un nuevo nodo cuya etiqueta
reemplaza la fórmula cuantificada con la siguiente instanciación:
œx(p(x) ⇒ q(x)), œx p(x), 5q(a)
Las dos primeras fórmulas son cuantificadas universalmente, de forma tal que
imponen requerimientos sobre cada elemento del dominio propuesto. Por lo tanto,
instanciamos cada uno de ellos para el elemento de dominio a, que hemos introducido.
En dos etapas obtenemos lo siguiente:
Lógica de Predicados
164
œx(p(x) ⇒ q(x)), œx p(x), 5œx q(x)
⇓
œx(p(x) ⇒ q(x)), p(a), 5q(a)
⇓
p(a) Y q(a), p(a), 5q(a)
Aplicando la regla-$ a la implicación, nos da inmediatamente un cuadro cerrado. En
este primer ejemplo, las extensiones del método del cuadro semántico parecen ser
directo.
Figura 5.6.1: Cuadro Semántico para una Fórmula Satisfecha
5 (œx(p(x) w q(x)) ⇒ (œx p(x) w œx q(x)))
⇓
œx (p(x) w q(x)), 5 (œx p(x) w œx q(x))
⇓
œx (p(x) w q(x)), 5œx p(x), 5œx q(x)
⇓
œx (p(x) w q(x)), 5œx p(x), 5q(a)
⇓
œx (p(x) w q(x)), 5p(a), 5q(a)
⇓
p(a) w q(a), 5p(a), 5q(a)
⇓ ⇓
p(a), 5p(a), 5q(a) q(a), 5p(a), 5q(a)
X X
Tratemos ahora de construir un cuadro semántico de la negación de la
siguiente fórmula:
œx (p(x) w q(x)) ⇒ (œx p(x) w œx q(x))
la cual es satisfecha pero no es válida (Figura 5.6.1). Tenemos un cuadro cerrado,
pero para una fórmula que no es válida. ¿Qué hemos realizado en forma errónea?. La
respuesta es que a no tendría que haber sido elegido como un elemento de dominio
para la instanciación de 5œx p(x), si ya fue elegido para 5œx q(x). En realidad la
fórmula es verdadera en todas las interpretaciones sobre dominios de un único
elemento. Cuando creamos elementos de dominio para fórmulas existenciales,
debemos elegir un nuevo elemento cada vez. Si elegimos una constante diferente, la
quinta línea del cuadro es:
œx (p(x) w q(x)), 5p(b), 5q(a)
Reemplazando el cuantificador universal con a, obtenemos la siguiente línea del
cuadro semántico:
p(a) w q(a), 5p (b), 5 q(a)
Lógica de Predicados
165
Ahora debemos instanciar la fórmula universal con b, ya que debe ser cierta para
todos los elementos del dominio, pero desafortunadamente, la fórmula ha sido ya
utilizada en la construcción del cuadro. Para evitar esto, las fórmulas universales
nunca deben ser borradas de la etiqueta de un nodo. Ellas permanecen como reservas
de posibles interpretaciones para cada nueva constante (elemento de dominio) que es
introducida.
De este modo el resultado de la última instanciación con a, será:
œx (p(x) w q(x)), p(a) w q(a), 5 p (b), 5 q (a)
seguido por:
œx (p(x) w q(x)), p(a) w q(a), p(b) w q (b), 5 p(b), 5 q(a)
Dejamos como ejercicio la extensión del cuadro utilizando reglas-$, y para demostrar
que exactamente una rama del cuadro está abierta, definimos el modelo:
v (p (a)) = v (q (b)) = V
v (p (b)) = v (q (a)) = F
De esta forma existe un contra-ejemplo a la negación de la fórmula, o sea que, la
fórmula es falsa, lo que es equivalente a decir que la fórmula no es válida.
Una posible objeción a este procedimiento, es que podemos crear más
elementos de dominio que los necesarios. Sin embargo, aún si se han creado
"demasiados" elementos del dominio, las relaciones pueden ser definidas para tratar a
todos los elementos de manera idéntica:
p(a1) = p(a2) = p(a3) = .... = V
q(a1) = q(a2) = q(a3) = .... = F
Luego, busquemos un modelo para la fórmula A = A1 v A2 v A3, donde:
A1 = œx›y p(x, y)
A2 = œx5p(x, x)
A3 = œxœyœz(p(x, y) v p(y, z) ⇒ p(x, z))
Obviamente, las primeras dos etapas pueden ser reglas-" para descomponer la
conjunción para obtener el conjunto de fórmulas:
A1, A2, A3
Ahora tenemos un problema menor, ya que debemos instanciar las fórmulas
cuantificadas universalmente, pero no se han introducido constantes por intermedio de
las fórmulas existenciales. Recalcamos que la definición de una interpretación requiere
que el dominio no sea un conjunto vacío, de forma tal que podemos elegir
arbitrariamente un elemento a1, el cual se encuentra en el dominio. La construcción del
cuadro continua a través de la instanciación de A1 para obtener la siguiente
subfórmula ›yp(a1, y) y luego realizar la instanciación de la fórmula existencial con una
Lógica de Predicados
166
nueva constante (Figura 5.4). Notar que ya que A1 es universal, la misma es copiada
en la etiqueta de un nuevo nodo.
Figura 5.6.2: Cuadro Semántico para A1 v A2 v A3
œx ›y p(x, y), A2, A3
⇓
œx ›y p(x, y), ›y p(a1, y), A2, A3
⇓
œx ›y p(x, y), p(a1, a2), A2, A3
Continuando, la nueva constante a2 debe ser utilizada para instanciar nuevamente a
A1 (Figura 5.6.2). Este proceso no finalizará. En lugar de ello, creamos una secuencia
de finalización de elementos de dominio a1, a2, .... de forma tal que p(ai, ai+1) debe ser
verdadero. También podemos instanciar A2 o A3 con cualquier constante que no cierre
o finalice al cuadro semántico. En tal caso tenemos un cuadro que no cierra ni termina
y al cual lo definimos como un modelo infinito, o sea, un modelo con un dominio
infinito. De hecho, (ù, {<}) es un modelo para la fórmula A.
Figura 5.6.3: Cuadro Semántico para A1 v A2 v A3, continuación
œx ›y p(x, y), p(a1, a2), A2, A3
⇓
œx ›y p(x, y), p(a1, a2), A2, A3
⇓
œx ›y p(x, y), p(a2, a3), p(a1, a2), A2, A3
Teorema 5.6.1: La fórmula A = A1 v A2 v A3 no tiene modelos finitos.
Demostración: Supongamos que A tiene un modelo finito. Entonces es posible
construir una rama abierta para el cuadro. En algún punto
cuando instanciamos ›y p(ai, y) debemos elegir una constante
que represente a los mismos elementos de dominio tal como aj
para j # i para obtener la fórmula .
Si j = i, p(ai, ai), producirá el cierre del cuadro cuando se está instanciando a A2 con ai
para dar 5 p(ai, ai).
Si j < i , entonces tendremos:
p(aj, aj+1), p(aj+1, aj+2), .... , p(ai-1 , ai)
están alrededor del nodo etiquetado. Desde p(aj, aj+1) y p(a1, aj+2), por instanciación de
A3 y utilizando las reglas-$, obtenemos p(aj, aj+2). Repitiendo el proceso, p(aj, ai)
Lógica de Predicados
167
eventualmente será obtenida en el nodo etiquetado. Pero conjuntamente con p(aj, aj)
obtenido por la instanciación original ocasiona el cierre del cuadro cuando es
instanciado A2.
Debemos desarrollar la maquinaria teórica para tratar con dominios infinitos.
Podemos concluir también que la construcción de un cuadro semántico no es un
procedimiento de decisión para validar el cálculo de predicado. Podemos no conocer
nunca si una rama que no está cerrada define realmente un modelo infinito o si será
eventualmente cerrada, por ejemplo, en una secuencia de un millón de aplicaciones de
la reglas del cuadro. Por supuesto, esto no prueba que no exista un procedimiento de
decisión para el cálculo de predicado, solo que el método del cuadro semántico no es
un procedimiento de decisión.
Una complicación final en la construcción de la tabla semántica está dada por la
fórmula:
A1 v A2 v A3 v œx (q(x) v 5 q(x))
tal que
A1, A2, A3, œx (q(x) v 5 q(x))
En el cálculo proposicional, las fórmulas siempre simplifican, tal que cada fórmula en la
etiqueta de un nodo eventualmente tiene una regla aplicada a ella. Sin embargo, una
vez que requerimos que fórmulas cuantificadas universalmente no sean borradas,
podemos finalmente aplicar reglas a A1 y nunca rodearla utilizando la cuarta
subfórmula, la cual cierra inmediatamente el cuadro. De esta manera, una
construcción semántica es necesaria para asegurar qué reglas serán eventualmente
aplicadas a todas las fórmulas etiquetando un nodo del cuadro.
La presentación formal de la construcción de un cuadro semántico para el
cálculo de predicados está dado a través de dos etapas. Las primeras reglas son
presentadas para los cuantificadores universales y existenciales y proporcionan
además la estabilidad. Luego se describe la construcción sistemática del cuadro y es
utilizada para proporcionar integridad al procedimiento. Como en el caso proposicional,
generalizamos las reglas en dos tipos diferentes: reglas-( para las fórmulas
universales y reglas-* para fórmulas existenciales (Figuras 5.6.4 y 5.6.5). Recalcar la
notación para la construcción de los cuadros semánticos.
Un nodo n sobre el árbol está etiquetado con un conjunto de fórmulas U(n). Si
la hoja I contiene literales complementarios, la rama está cerrada. De otro modo se
selecciona alguna rama abierta en una fórmula A y se aplica una regla que depende
de la estructura de A. Las reglas -" y -$ se mantienen como antes. Si A es una fórmula
cuantificada, existen dos casos nuevos para agregar, a saber:
Lógica de Predicados
168
Construcción del Cuadro Semántico
* Si A es una fórmula ( (tal como œx A1(x)), crear un nuevo nodo l' como un hijo de l
y etiqueta l' con:
U(l') = U(l) c {((a)}
donde a es alguna constante que aparece en U(l).
* Si A es una fórmula * (tal como ›x A1(x)), crear un nuevo nodo l' como un hijo de l
y etiqueta l' con:
U(l') = (U(l) - {A}) c {*(a)}
donde a es alguna constante que no aparece en U(l).
Final de la Construcción
( ((a)
œxA(x) A(a)
5›xA(x) 5A(a)
Figura 5.6.4: Reglas de Cuadro para Fórmulas Universales
* *(a)
›xA(x) A(a)
5œxA(x) 5A(a)
Figura 5.6.5: Reglas de Cuadro para Fórmulas Existenciales
La regla-* para cuantificadores existenciales es integra y directa. La regla-( para
cuantificadores universales, es sin embargo la única regla que no reemplaza una
fórmula por una o más fórmulas simples. En lugar de ello agrega una fórmula simple
mientras deja la fórmula cuantificada como parte de la etiqueta del nodo. Esto último
es utilizado para asegurar que el cuantificador universal será aplicado a una nueva
constante que aún no fue introducida.
Teorema 5.6.2: (Estabilidad de la construcción del cuadro) Sea A una
fórmula en el cálculo de predicados y sea T un cuadro para A. Si
T es cerrada, entonces A es no cumplimentada.
Lógica de Predicados
169
La estabilidad muestra que si T cierra, entonces A no es cumplimentada
independientemente del orden en el cual fueron aplicadas las diferentes reglas. Sin
embargo, la construcción del cuadro no está completa a menos que haya sido
construida sistemáticamente. La ayuda de la construcción sistemática es para
asegurar que las reglas son aplicadas eventualmente a todas las fórmulas en la
etiqueta de un nodo y en el caso de fórmulas cuantificadas universalmente, de forma
tal que es creada una instancia para todas las constantes que aparecen. La etiqueta
para un nodo U(n) no será más un conjunto de fórmulas:
U(n) = {A1, ....., Ak}
si que en su lugar será una lista de fórmulas:
U(n) = [A1, ....., Ai-1 * Ai, ....., Ak]
La diferencia entre conjunto y lista de fórmulas, es que la lista está ordenada.
La barra " *" es usada para indicar la posición actual del puntero dentro de la lista, la i-
ava fórmula Ai. Además, un nodo está etiquetado con una lista de todas las constantes
utilizadas en todas las instanciaciones de la fórmulas en los nodos sobre la rama o
arco a partir de la raíz de este nodo:
A = [a1, ....., aj-1 * aj, ....., am]
Finalmente, mantenemos una lista de las hojas sin marcar:
‹ = [l1, ....., lr-1 * lr, ....., ln]
Construcción Sistemática de un Cuadro Semántico
Seleccionar la próxima hoja lr a partir de la lista ‹. lr está etiquetado con una lista de
fórmulas U(lr):
[A1, ....., Ai-1 * Ai, ....., Ak]
y una lista de constantes A:
[a1, ....., aj-1 * aj, ....., am]
Si U(lr) contiene un par complementario de literales, borrar lr a partir de la lista de
hojas. De otro modo, extender el cuadro de acuerdo a los casos sobre la estructura de
la fórmula Ai:
* Si Ai es un literal, entonces:
U(l') = [A1, ....., Ai-1, Ai * Ai+1 , ....., Ak]
A' = A
‹' = [l1, ....., lr * lr+1, ....., ls]
Lógica de Predicados
170
• Si Ai es una fórmula-", de la forma siguiente A' v A", entonces:
U(l') = [A1, ....., Ai-1 * Ai+1 , ....., Ak, A', A"]
A' = A
‹' = [l1, ....., lr * lr+1, ....., ls, l']
* Si Ai es una fórmula-$, de la forma siguiente A' w A", entonces:
U(l') = [A1, ....., Ai-1 * Ai+1 , ....., Ak, A']
A' = A
U(l") = [A1, ....., Ai-1 * Ai+1 , ....., Ak, A"]
A" = A
‹' = [l1, ....., lr * lr+1, ....., ls, l', l"]
* Si Ai es una fórmula-(, de la forma siguiente œxA'(x), entonces:
U(l') = [A1, ....., Ai-1 , Ai * Ai+1 , ....., Ak, A'(aj)]
A' = [a1, ....., aj-1, aj *aj+1 , ....., am]
‹' = [l1, ....., lr * lr+1, ....., ls, l']
Si j = m, definimos a A' de la siguiente forma:
A' = [ *a1 , ....., am]
* Si Ai es una fórmula-*, de la forma siguiente ›xA'(x), entonces:
U(l') = [A1, ....., Ai-1 , Ai * Ai+1 , ....., Ak, A'(am+1)]
A' = [a1, ....., aj-1, aj *aj+1 , ....., am, am+1]
‹' = [l1, ....., lr * lr+1, ....., ls, l']
donde am+1 es la nueva constante no en A.
Final de la Construcción
Inicialmente la etiqueta de la raíz es U(n0) = [* A], donde A es la fórmula cuyo cuadro
estamos creando, la lista de las constantes es A = [ * a1, ....., am] donde A = { a1, .....,
am} es el conjunto de las constantes que aparecen en A y la lista de hojas es [* n0]. Si
no existen constantes en A, elegir una constante arbitraria a y seleccionar A = [* a].
En otras palabras: los literales atraviesan creando un nodo superfluo. Las
fórmulas -" y -$ se comportan de la misma forma que en los casos anteriores -la
fórmula original es borrada y reemplazada por sub fórmulas. Las fórmulas -(
permanecen en la etiqueta y además se crea una instancia con la próxima constante
de la lista. Las fórmulas -* son borradas y reemplazadas por una instancia usando una
nueva constante.
La construcción está definida de tal manera que el siguiente Lema es
verdadero:
Lógica de Predicados
171
Lema 5.6.3: Sea b una rama abierta del cuadro sistemático, n un nodo de b, y A una
fórmula de U(n). Luego se aplica una regla a A (eventualmente durante
la construcción) para algún nodo n' sobre b, tal que n' $ n. Además, si A
es una fórmula -( y a es una constante que aparece en b, entonces
sobre tal n', la regla -( crea una instancia de A con a.
Ahora proporcionamos la integridad de la construcción sistemática del método
del cuadro o tabla para el cálculo de predicado, de la misma forma que se hizo en el
cálculo proposicional, o sea que, definimos el Conjunto de Hintikka, mostrando que
las fórmulas que etiquetan nodos en una rama abierta del cuadro, forma un conjunto
de Hintikka y finalmente mostraremos que dicho conjunto de Hintikka puede ser
extendido al modelo considerado.
Definición 5.6.4: Sea U un conjunto de fórmulas en el cálculo de predicados. El
conjunto U es un Conjunto de Hintikka si se cumplen las
siguientes condiciones para todas las fórmulas A 0 U:
1.- Si A es una fórmula atómica, ya que A ó U o 5 A ó U.
2.- Si A es una fórmula -", A' 0 U y A" 0 U.
3.- Si A es una fórmula -$, A' 0 U o A" 0 U.
4.- Si A es una fórmula -(, tal que œx A'(x), A'(a) 0 U para todas las
constantes a en U.
5.- Si A es una fórmula -*, tal que ›x A'(x), A'(a) 0 U para alguna de las
constantes a en U.
Teorema 5.6.5: (Lema de Hintikka para el Cálculo de Predicado) Sea b una
rama abierta de un cuadro sistemático y U = Un∈b U(n). U es
el conjunto de Hintikka.
Demostración: Sea A una fórmula en U. Ya que b está abierta, si A es una
fórmula atómica, 5 A ó U. Si A no es atómica, por el Lema
5.5.3 eventualmente se aplica una regla a A. Si A no es una
fórmula cuantificada universalmente, por construcción se
deduce inmediatamente el lema de Hintikka. De otro modo,
por la segunda mitad del Lema 5.5.3, para cualquier
constante arbitraria a en U, eventualmente se aplica la regla -
( a la fórmula A para crear una instancia con a. Ya que a fue
arbitraria, se cumple la condición 4 y también se cumple el
lema de Hintikka.
&
Lema 5.6.6: Sea U un conjunto de Hintikka. Por lo tanto existe un modelo (se valida
la interpretación) para U.
Demostración: Sea A = {a1, ....} el conjunto de constantes que aparecen en las
fórmulas de U. Definimos una interpretación I de la siguiente forma.
Lógica de Predicados
172
El dominio es el mismo conjunto de símbolos {a1, ....} usados como constantes
en U y el símbolo del dominio ai es asignado al símbolo constante ai. Para cada lugar-
m del predicado pi en U, definimos una relación Ri de m lugares de la siguiente forma:
(a1, ...., am) 0 Ri si p(a1, ...., am) 0 U
(a1, ...., am) 0 Ri si 5 p(a1, ...., am) ó U
(a1, ...., am) ó Ri si 5 p(a1, ...., am) 0 U
La relación está bien definida por la Condición 1 de la definición de los conjuntos de
Hintikka.
&
Teorema 5.6.7: (Integridad de la Construcción del Cuadro Semántico) Sea A una
fórmula válida en el cálculo de predicado. Por lo tanto la construcción
sistemática es cerrada para el cuadro semántico de 5 A.
Demostración: Supongamos que el cuadro para 5 A no está cerrado. Luego existe
una rama abierta b tal que U, la unión de las etiquetas de los nodos
sobre b, forman un conjunto de Hintikka a través del Lema de
Hintikka. Por el Lema 5.5.6 existe un modelo I para U.
Pero 5 A 0 U, tal que I ⎥= 5 A contradiciendo de esta forma de que A
es válida.
&
===========================
Lógica de Predicados
173
5.7.- PROBLEMAS CAPITULO V
1.- Para cada uno de los predicados siguientes, halle un universo de discurso
adecuado dentro de la lista siguiente: números reales, enteros, seres humanos
y animales.
a) pájaro (x) b) está casado(x) c) par(x)
d) negativo(x) e) madre(x, y) f) tiene alas(x)
2.- Confeccione las tablas de verdad de los siguientes predicados siendo el
universo de discurso el conjunto U = { 1 , 2 , 4 , 8}
a) P ( x ): x es primo
b) Q( x ): x es potencia de 2
c) R( x , y ): x es mayor o igual que y
d) S ( x , y ): x es divisor de y
e) T( x , y ): x es el doble de y
3.- Exprese las siguientes frases en cálculo de predicados suponiendo que el
Universo de Discurso es: I ) El conjunto de los Nº Naturales; II ) El conjunto de
los Nº Enteros.
a) Todos los números naturales son pares
b) No existen números naturales negativos.
c) Por lo menos un número natural es múltiplo de 3.
d) Ningún número natural es raíz de la ecuación x2
+ 1 = 0
e) Los números naturales son primos.
4.- En el dominio de los números naturales, ¿cómo traduciría las frases
siguientes?
a) Algunos números primos son pares
b) Todos los números pares son mayores que 1
c) Los números pares son primos solamente si son menores que 3
d) No hay primos menores que 3.
5.- En el dominio de los animales ¿Cómo traduciría las expresiones siguientes?
a) Todos los leones son predadores.
b) Algunos leones viven en África.
c) Sólo rugen los leones.
d) Algunos leones comen cebras.
e) Algunos leones solo comen cebras.
6.- Traduzca las siguientes frases al lenguaje de cálculo de predicados. Suponga
que el universo está formado por todas las personas.
a) Alguien que es amable con todo el mundo.
b) Todos queremos a alguien.
c) Nadie es cariñoso con todos los demás.
7.- Particularice:
a) S3
x
(P(x)) b) Sa
x
(P(x) ⇒ Q(b))
c) Sb
y
(P(a) ∧ Q(y)) d) Sa
x
(P(x) ∧ Q(y) ∧ R(x, y))
Lógica de Predicados
174
8.- Hallar las variables libres y ligadas en
a) œx P(x, y) v Q(y)
b) œx›y (P(x, y, z) v Q (y, z)) w R(x)
9.- Examine las posibles interpretaciones de œx P ( x ) , › x P ( x ), œx 5 P( x ) en
el Universo siguiente {a, b, c}, sabiendo que:
a)
a b c
P(x) V V V
b)
a b c
P(x) V F F
c)
a b c
P(x) F F F
10.- Un universo contiene los tres individuos a , b y c. Para estos individuos, se
define un predicado Q( x , y ) y sus valores de verdad están dados por la tabla
siguiente:
Q(x, y) a b c
a V F V
b F V V
c F V V
Encuentre el valor de verdad de:
a) œx Q(x, c) b) œy Q(a, y) c) ›x›y Q(x, y)
d} œx›y Q(x, y) e) œxœy Q(x, y) f) ›xœy Q(x, y)
11.- Los predicados P ( x , y ) y Q ( x , y ) están definidos en el universo U = { A , B
,C } y sus valores de verdad están dados por las siguientes tablas:
Lógica de Predicados
175
P(x, y) A B C Q(x, y) A B C
A V V F A F F V
B F V V B V F V
C V V V C F V V
Encuentra el valor de verdad de:
a) œxœy P(x, y) w ›x›y Q(x, y) b) ›yœx P(x, y) v ›yœx Q(x, y)
c) 5 (›xœy P(x, y) w ›xœy Q(x, y)) d) ›y P(A, y) v 5œy Q(B, y)
12.- Sea un universo de discurso que consta de tres personas solamente, a saber,
Juan, Juana y María. Los tres son alumnos, y ninguno de ellos es rico. Denote
con A(x), M(x), V(x) y R(x) a las propiedades de ser alumno, mujer, varón y rico
respectivamente.
Confeccione una tabla con los valores de verdad de los predicados A, M , V y
R, y encuentre el valor de verdad de:
13.- Dada la siguiente frase en lenguaje coloquial:
“Solamente los vecinos de Juan tienen trabajo”
a) Formalícela en el lenguaje de cálculo de predicado:
b) Evalúela en el dominio: D = { Pedro, Juan, Luis, Carlos }, sabiendo que:
1.- Pedro tiene trabajo pero Juan y Luis no
2.- Pedro y Luis son vecinos de Juan
3.- Carlos no tiene trabajo y no es vecino de Juan.
14.- Considere la siguiente expresión: œx P(x) w œx (Q(x) ⇒ P(x)). Traslade todos
los cuantificadores universales al comienzo de esta expresión.
15.- Considere la siguiente expresión: ›x P(x) v ›x (Q(x) ⇒ P(x)). Traslade todos
los cuantificadores existenciales al comienzo de la expresión.
16.- Niegue las siguientes expresiones:
a) œn 0 ù, n < 3 b) › n 0 ù / n 3
- n = 0
c) œn 0 ù, (n + 1) 2
= n 2
+ 2n + 1 d) › n 0 ù / n 2
+ 1 = 0
e) œx 0 ú, x 2
> x f) œx 0 ú / *x* = x
g) › x 0 ú, x 2
+ 3x - 6 + 0 h) › x 0 ú / 1/x ó ú
i) › x / x > 1 v x 2
= 9 j) œx , [ x … 0 ⇒ x 2
> 0]
Lógica de Predicados
176
17.- Interprete las equivalencias dadas en la siguiente tabla, pues la usará
posteriormente
TABLA 1
EQUIVALENCIAS QUE IMPLICAN CUANTIFICADORES
œx A / A Si x no es libre en A
›x A / A Si x no es libre en A
œx A / œy SX
y A v œx A Si y no es libre en A
›x A / ›y SX
y A w ›x A Si y no es libre en A
œx A / SX
t A Para cualquier término t
›x A / SX
t A Para cualquier término t
œx(A w B) /A w œx B Si x no es libre en A
›x(A v B) / A v ›x B Si x no es libre en A
œx(A v B) / œx A v œx A
›x(A w B) / ›x A w ›x B
œxœy A / œyœx A
›x›y A / ›y›x A
5 ›x A /œx 5 A
5 œx A /›x 5 A
18.- Encuentre la negación de las siguientes proposiciones:
a) ›x(P(x) ∨ Q(x))
b) œx(A(x) v 5 B(x))
c) œx›y [(A(x, y) v B(x, y)) ⇒ C(x, y)]
d) œx›y [P(x, y) ⇒ (R(x, y) w S(x, y))]
Lógica de Predicados
177
19.- Probar que las siguientes fórmulas son válidas para todas las interpretaciones,
utilizando cuadro semántico:
(a) œx A(x) ≡ 5›x 5A(x) (b) ›x A(x) ≡ 5œx 5A(x)
(c) œx A(x) ⇒ ›x A(x) (d) ›xœy A(x, y) ⇒ œy›x A(x, y)
(e) œxœy A(x, y) ≡ œyœx A(x, y)
(f) ›x›y A(x, y) ≡ ›y›x A(x, y)
(g) ›x(A(x) w B(x)) ≡ (›x A(x) w ›x A(x))
(h) œx(A(x) v B(x)) ≡ (œx A(x) v œx A(x))
(i) (œx A(x) w œx B(x)) ⇒ œx(A(x) w B(x))
(j) ›x(A(x) v B(x)) ⇒ (›x A(x) w ›x B(x))
(k) œx(A(x) ≡ B(x)) ⇒ (œx A(x) / œx B(x))
(l) (›x A(x) w B) ≡ ›x(A(x) w B)
(m) (œx A(x) w B) ≡ œx(A(x) w B)
(n) (›x A(x) v B) ≡ ›x(A(x) v B)
(o) (œx A(x) v B) ≡ œx(A(x) v B)
(p) œx(A ⇒ B(x)) ≡ (A ⇒ œx B(x))
(q) œx(A(x) ⇒ B) ≡ (›x A(x) ⇒ B)
(r) œx(A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ œx B(x))
(s) œx(A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ ›x B(x))
=============================
Formas Clausales
178
LÓGICA COMPUTACIONAL
CAPITULO VI
FORMAS CLAUSALES
6.1.- DERIVACIÓN: Generalización y Particularización
En las secciones siguientes describiremos la forma de hacer derivaciones en el
cálculo de predicados. En particular, se dan las reglas necesarias para insertar y
eliminar cuantificadores universales y existenciales. La utilización de estas reglas se
demostrará mediante ejemplos. También presentaremos un concepto nuevo, la
unificación. La unificación goza de amplia difusión en los lenguajes de programación
lógicos y funcionales.
6.1.1.- PARTICULARIZACIÓN UNIVERSAL
A partir de œx A(x) debería ser posible derivar A(t) para cualquier término t.
Por ejemplo si, A(x) significa “x está dormido”, entonces œx A(x) significa “todo el
mundo está dormido”, y de aquí debería ser posible derivar, por ejemplo, que Juan
está dormido. Más formalmente, si x representa una variable, t representa un término
y A representa una expresión, entonces la expresión siguiente debería ser válida:
œx A /> St
x
A
La validez de esta expresión deriva de la definición de œx: si A es verdadera
para todo x, entonces debe ser verdadero para x = t. Sin embargo, existe una
pequeña dificultad que se indico en los capítulos anteriores. La sustitución no debe dar
lugar a una colisión de variables. En otras palabras, t no debe transformarse en una
variable ligada de ningún cuantificador que pudiera quedar. La implicación lógica dada
por la expresión anterior puede convertirse en una regla de inferencia de la siguiente
forma:
œx A
St
x
A
Esta regla de inferencia se denomina Particularización Universal y se abrevia
en la forma de UI. Por ejemplo, la particularización universal nos permite concluir que:
œx (gato (X)⇒ tiene cola (x))
gato (Tom) ⇒ tiene cola (Tom)
De manera similar, de A(y) obtenemos œx A(x), porque Sy
x
A(x) = A(y).
También se admite la particularización trivial, Sy
x
A(x) , que deja a A sin cambios.
Consiguientemente, de œx A(x) podemos concluir A(x).
Formas Clausales
179
Ejemplo 6.1: Vamos a ver ahora algunas derivaciones. La primera derivación es la
siguiente. Las premisas de la misma son:
Todos los seres humanos son mortales.
Sócrates es un ser humano.
A partir de esas premisas, demostraremos que:
Sócrates es mortal.
Para realizar la correspondiente derivación, supongamos que H(x) indica que x
es humano, y M(x) indica que él o ella es mortal. Además, S representa a Sócrates.
Tal como en el capítulo 3, indicamos la línea de la que se deriva cada sentencia, así
como la regla que se aplica. En el caso de una Regla UI, nos limitamos a exponer la
particularización S x
t . La derivación se indica en la Figura 6.1.1.
Demostrar: œx (H(x) | M(x)), H(S) | M(S)
Derivación Formal Regla de Inferencia Comentario
1.- œx (H(x) ⇒ M(x)) Premisa Todos los humanos son mortales
2.- H(S) Premisa Sócrates es mortal
3.- H(S)⇒ M(S) 1. S X
S Si Sócrates es humano, entonces
es mortal.
4.- M(S) 2, 3 MP Por lo tanto, Sócrates es mortal.
Modus Ponens a las líneas 2 y 3.
Figura 6.1.1: Demostración de la mortalidad de Sócrates
Ejemplo 6.2: Como segundo ejemplo, derivamos que Pablo es hijo de David a partir
de las siguientes premisas:
David es el padre de Pablo.
Pablo no es la hija de David.
Toda persona cuyo padre sea David debe ser o bien su hijo o bien su hija.
La correspondiente demostración se encuentra en la Figura 6.1.2. Para ahorrar
espacio en la demostración, utilizamos las siguientes abreviaturas:
f(x, y): x es el padre de y
s(x, y): x es el hijo de y
d(x, y): x es la hija de y
Además, utilizaremos D en lugar de David y P en lugar de Pablo. La derivación
utiliza el Silogismo Disyuntivo (SD), que nos permite escribir B, una vez que se ha
determinado que 5 A y que A w B están establecidos.
Formas Clausales
180
Demostrar: œx (f(D, x) ⇒ s(x, D) w d(x, D)), f(D, P), 5 d(P, D) | s(P, D)
Derivación Formal Regla de Inferencia Comentario
1.- œx (f(D, x) | s(x, D) w d(x, D)) Premisa Toda persona cuyo padre
sea David, debe ser o bien
su hijo o bien su hija
2.- f(D, P) Premisa David es el padre de Pablo
3.- 5 d(P, D) Premisa Pablo no es la hija de David
4.- f(D, P) | s(P, D) w d(P, D) 1. S X
S Esto particulariza la línea 1
para Pablo
5.- s(P, D) w d(P, D) 2, 4 MP Se aplica Modus Ponens a
las líneas 2 y 4
6.- s(P, D) 3, 5 SD Según el Silogismo
Disyuntivo, si Pablo no es
una hija (línea 3) entonces
tiene que ser un hijo
Figura 6.1.2: Demostración de que Pablo es hijo de David
6.1.2.- GENERALIZACIÓN UNIVERSAL
Si A es cualquier expresión o enunciado lógico y si x es una variable que no es
libre en ninguna premisa, entonces tenemos que:
A
œx A
Esta regla de inferencia se denomina Generalización Universal (GU). Dado
que x queda ligada en el proceso, decimos que la generalización universal es con
respecto a x, o bien que se generaliza sobre x. Debemos hacer notar que la
generalización universal está sometida a restricciones. Si se generaliza sobre x,
entonces x no debe aparecer en ninguna premisa como variable libre. Si x aparece
como variable libre en alguna premisa, entonces x se refiere al mismo, y está fijada en
ese sentido. Por ejemplo, si P(x) aparece en una premisa, entonces P(x) sólo es
verdadero para x, y no es necesariamente verdadero para ningún otro individuo. Si x
está fijado, entonces no se puede generalizar sobre x. Las generalizaciones que
parten de un solo individuo para llegar a toda una población son incorrectas. Por otra
parte, si x no aparece en ninguna premisa o si x está ligada en todas las premisas,
entonces se supone que x representa a cualquier individuo, y se puede aplicar sin
restricción la generalización universal.
Para demostrar la generalización universal desarrollaremos algunos ejemplos.
Ejemplo 6.3: Consideremos el dominio de un grupo de alumnos de ciencias de la
computación. Por supuesto, a todos los alumnos de ciencias de la
computación les gusta La programación. La derivación tiene que
demostrar que a todos los del dominio les gusta la programación. Si
P(x) y Q(x) denotan las siguientes expresiones “x es un alumno de
ciencias de la computación” y “a x le gusta la programación”,
Formas Clausales
181
respectivamente, entonces las premisas pasan a ser:
œx P(x), œx (P(x) ⇒ Q(x))
La conclusión deseada sería:
œx Q(x)
La demostración se da en la Figura 6.1.3. En la demostración, Q(x) se deriva
en la línea 5, que significa que a x le gusta la programación. Esta frase se generaliza
entonces a œx Q(x). Esta generalización sólo es posible porque todos los casos de x
que aparecen en las premisas están ligados. Si la premisa œx P(x) se sustituye por
P(x), entonces la particularización universal sobre x ya no es correcta. Esto sucede
porque x queda fijada y la generalización universal sobre variables fijas no es correcta.
Demostrar: œx P(x), œx (P(x) ⇒ Q(x)) | œx Q(x)
Derivación Formal Regla de Inferencia Comentario
1.- œx P(x) Premisa Todos los alumnos de Ciencias
de la Computación
2.- œx (P(x) | Q(x)) Premisa A los alumnos de CC les gusta
la programación
3.- P(x) 1. S X
X x es un alumno de CC
4.- (P(x) | Q(x)) 2. S X
X Si x es un alumno de CC,
entonces le gusta la
programación.
5.- Q(x) 3, 4 MP Se aplica Modus Ponens a las
líneas 2 y 4.
A x le gusta la programación
6.- œx Q(x) 5 GU Según la Generalización
Universal. A todos le gusta la
programación.
Figura 6.1.3: Ejemplo de Generalización Universal
Ejemplo 6.4: Derivaremos œyœx P(x, y) a partir de œxœy P(x, y). Esta derivación se
desarrolla en la Figura 6.1.4. Esto confirma el hecho de que los
cuantificadores universales se pueden intercambiar. En la Figura 6.1.5
se da un tercer ejemplo de la Generalización Universal, ejemplo que
muestra que la variable x de un cuantificador universal se puede
cambiar por la variable y.
Demostrar: œxœy P(x, y) | œyœx P(x, y)
Formas Clausales
182
Derivación Formal Regla de Inferencia Comentario
1.- œxœy P(x, y) Premisa
2.- œy P(x, y) 1. S X
X Se particulariza la línea 1, eliminando
el primer cuantificador universal
3.- P(x, y) 2. S Y
Y Se elimina el segundo cuantificador
para obtener una expresión sin
cuantificar. Se emplea GU para añadir
los cuantificadores en orden inverso.
4.- œx P(x, y) 3 GU Es correcto generalizar, porque la
premisa no contiene a x como variable
libre. Todas las apariciones de x dentro
de la premisa están ligadas..
6.- œx Q(x) 4 GU Se generaliza de nuevo para obtener la
conclusión deseada.
Figura 6.1.4: Demostración de validez del intercambio de cuantificadores
Ejemplo 6.5: Sustitución de variables.
Demostrar: œx P(x) | œy P(y)
Derivación Formal Regla de Inferencia Comentario
1.- œx P(x) Premisa
2.- P(x) 1. S X
Y Se ejemplariza la premisa para y
3.- œy P(y) 2, GU Se generaliza la línea para obtener la
conclusión deseada.
Figura 6.1.5: Demostración de la Sustitución de Variables
6.1.3.- TEOREMA DE LA DEDUCCIÓN Y LA GENERALIZACIÓN UNIVERSAL
En el teorema de la deducción, se supone B, se demuestra C empleando a B
como premisa, y se concluye que B | C. Una vez que se ha realizado lo anterior,
prescindimos de B. Ahora la cuestión es lo que hay que hacer con las variables libres
que aparezcan en B. En primer lugar, B se utiliza como suposición, esto es, mientras
no prescindamos de B, hay que tratar a B como a cualquier otra premisa. En
particular, si B contiene a x como variable libre, entonces no hay que generalizar sobre
x. Sin embargo, en cuanto prescindamos de B, esto no sera así. Una vez que hemos
prescindido de B, no tiene efecto alguno sobre el estado de ninguna variable. Por
tanto, si x no es libre en ninguna otra premisa, es posible generalizar sobre x aun
cuando x aparezca como variable libre sobre B.
El teorema de la deducción se demuestra a continuación mediante el siguiente
ejemplo.
Formas Clausales
183
Ejemplo 6.6: Supongamos que S(x) denota a la expresión “x ha estudiado” y que
P(x) denota la expresión “x ha aprobado”. La premisa es que todo el
que haya estudiado ha aprobado. Demostrar que los que no hayan
aprobado no han estudiado.
La premisa “todo el que ha estudiado, ha aprobado” se puede traducir como
la siguiente fórmula o expresión lógica œx (S(x) | P(x)) y la frase “los que hayan
aprobado, no han estudiado” pasara a ser œx (5 P(x) | 5 S(x)) La Figura 6.1.6
ofrece una derivación. Para obtener el resultado, se introduce la suposición 5 P(x) en
la línea 3. Mientras no se haga uso de esta suposición, no se permitirá hacer una
generalización con respecto a x. Para indicar que estamos bajo los efectos de una
suposición, se han sangrado las líneas 3 y 4. Sin embargo, después de aplicar el
teorema de la deducción se elimina el sangrado y se prescinde de la suposición 5
P(x), y ya se puede generalizar sobre x. Esto se hace en la línea 6. En todos los
demás aspectos, la demostración se documenta a si misma. œx (S(x) | P(x)) es una
premisa y de ella se sigue que 5 P(x) | 5 S(x). Para llegar a la conclusión deseada,
se utiliza la generalización universal. Esto se puede realizar puesto que la variable x
no es libre en ninguna premisa.
Demostrar: œx (S(x) ⇒ P(x)) | œx (5 P(x) ⇒ 5 S(x))
Derivación Formal Regla de Inferencia Comentario
1.- œx (S(x) ⇒ P(x)) Premisa Todo el que estudia aprueba
2.- S(x) | P(x) 1. S X
X Si x ha estudiado, ha aprobado
3.- 5 P(x) Suposición Supongamos que x no aprobó
4.- 5 S(x) 2, 3, MT x no puede haber estudiado: esto se
sigue de las líneas 2 y 3 por Modus
Tollens
5.- 5 P(x) ⇒ 5 S(x) TD Se aplica el Teorema de la Deducción
y se prescinde de 5 P(x)
6.- œx (5 P(x) ⇒ 5 S(x)) 5, GU Todo el que no haya aprobado, no
puede haber estudiado. Obsérvese
que esta generalización es posible
porque x no es libre en ninguna
premisa..
Figura 6.1.6: Demostración empleando el Teorema de la Deducción (TD)
6.1.4.- ELIMINACIÓN DE LOS CUANTIFICADORES UNIVERSALES
En matemáticas, es frecuente omitir los cuantificadores universales. Por
ejemplo, en la afirmación o proposición x + y = y + x, tanto x como y tienen
implícitamente una cuantificación universal. Esto da lugar a problemas cuando se
utilizan estas declaraciones como premisas, porque de acuerdo con nuestras reglas
toda variable que aparezca libre en una premisa es fija, en el sentido de que a lo largo
de toda la demostración estará asociada a un único individuo. Para soslayar esta
dificultad, aislamos ciertas variables en las premisas e indicamos explícitamente que
estas variables no son fijas. Todas las variables que no sean fijas se denominarán
Formas Clausales
184
variables verdaderas. Una variable se puede generalizar universalmente si y sólo si
es una variable verdadera. Si una variable aparece en una premisa, entonces se
supone que es fija, a no ser que se indique explícitamente que se trata de una variable
verdadera.
Al usar variables verdaderas, se pueden omitir los cuantificadores universales,
y esto, a su vez, simplifica las demostraciones. Además, de ahora en adelante,
permitiremos que cualquier variable verdadera se pueda particularizar como cualquier
término. Se puede conseguir el mismo efecto, desde luego, empleando primero una
generalización universal, seguida por una particularización universal. Sin embargo, la
particularización directa es más breve, y suele ser más clara.
Hasta el momento, hemos representado a las particularizaciones mediante el
símbolo S, tal como S X
Y. Desde ahora en adelante, utilizaremos frecuentemente la
notación x := y para indicar que x se sustituye por y. Esta notación resultará natural
para quienes programan en Pascal, donde el símbolo empleado significa “asignar”,
que es lo mismo que “particularizar”. Por lo tanto, en lugar de poner “se
particulariza x como a”, pondremos “línea n con x := a”, o simplemente de la
siguiente forma “n con x := a”.
Ejemplo 6.7: Sea P(x, y, z): x + y = z. Dadas las premisas P(x, 0, x) y P(x, y, z) ⇒
P(y, x, z) donde x, y, z son variables verdaderas, demostrar que 0 + x =
x, o sea, P(0, x, x).
Solución: Se utiliza la derivación siguiente para demostrar que P(0, x, x).
Obsérvese que la dos primeras líneas son premisas, y que x, y, z se
han declarado explícitamente como variables verdaderas.
1. P(x, y, z) ⇒ P(y, x, z) Premisa: x + y = z | y + x = z
x, y, z variables verdaderas
2. P(x, 0 , x) Premisa: x + 0 = x; x: variable
verdadera
3. P(x, 0, x) | P(0, x, x) Línea 1 con x := x; y := 0; z := x
4. P(0, x, x) Líneas 2, 3, Modus Ponens: 0 + x
= x
Todas las variables verdaderas son estrictamente locales, pertenecientes a la
línea en que aparecen. Por lo tanto, si la variable verdadera x aparece en dos líneas
diferentes, entonces estos dos casos de x son realmente dos variables diferentes. Por
ejemplo, en la demostración del ejemplo 6.7, la x de la línea 1 y la x de la línea 2 son
dos variables diferentes. Cuando se está haciendo la demostración, uno tiene que
establecer, evidentemente, algún tipo de conexión entre ambas variables, y esta
conexión se efectúa a través de la particularización. Desde luego, las
particularizaciones no deben hacerse a ciegas. Más bien, hay que hacer la
particularización de tal manera que progresemos hacia la conclusión deseada. La
forma en que se hace esto depende de la estrategia. Sin embargo, existen algunos
principios generales que sirven de ayuda y uno de ellos es la Unificación.
Definición 6.1.1: Se dice que dos expresiones o fórmulas se unifican si existen
particularizaciones legales que hagan idénticas las expresiones
en cuestión. El acto de unificarlas se denomina unificación. La
particularización que unifica a las expresiones en cuestión se
denomina un unificador.
Formas Clausales
185
Ejemplo 6.8: Q(a, y, z) y Q(y, b, c) son expresiones que aparecen en líneas
diferentes. Mostrar que estas dos
expresiones se unifican, y dar un
unificador. Aquí a, b, y c son fijas e y y z
son variables verdaderas.
Solución: Dado que la y de Q(a, y, z) es una variable distinta de la y presente en
Q(y, b, c), cambiamos de nombre a la y de la segunda expresión para
que pase a ser y1. Esto significa que hay que unificar Q(a, y, z) con
Q(y1, b, c), Q(a, b, c) es un caso particular de Q(a, y, z) y Q(a, b, c) es
un caso particular de Q(y1, b, c). Dado que son idénticos Q(a, y, z) y
Q(y, b, c) se unifican. El Unificador es a = y1, b = y, c = z.
Pueden existir varios unificadores. Por ejemplo, si a y b son constantes,
entonces R(a, x) y R(y, z) tienen el unificador y = a, z = x, que da lugar al caso común
R(a, x). Sin embargo, también existe el unificador y = z, x = b, z = b que da lugar al
caso común R(a, b). Sin embargo, R(a, b) es un caso de R(a, x), y el unificador y = a,
x = b, z = b es menos general en este sentido que el unificador y = a, z = x. Por
supuesto, siempre se desea encontrar el unificador más general, si es que existe uno.
La solución del Ejemplo 6.7 implicaba una unificación. Concretamente, se
unificaba la línea 2 con el antecedente de la línea 1 para hacer uso del Modus Ponens.
En general, se aplica la unificación de tal manera que sea posible aplicar alguna regla
de inferencia después de la unificación.
Ejemplo 6.9: Claramente, si x es la madre de y, y si z es la hermana de x, entonces z
es la tía de y. Supongamos ahora que la madre de Braulio es Juana, y
que Lola es la hermana de Juana. Demostrar que Lola es tía de Braulio.
Solución: Si “madre(x, y)” es un predicado tal que toma el valor verdadero
cuando x es la madre de y, y si “hermana(x, y)” y “tía(x, y)” de
definen de forma similar, podemos enuncia las premisas de la siguiente
forma:
1.- madre(x, y) v hermana(z, x) ⇒ tía(z, y)
2.- madre(Juana, Braulio)
3.- hermana(Lola, Juana)
Ahora el problema es crear una expresión que unifique con el
antecedente de la línea 1. Para hacer esto, se combinan las líneas 2 y
3, obteniendo:
4.- madre(Juana, Braulio) v hermana(Lola, Juana)
Esta expresión se puede unificar con madre(x, y) v hermana(z, x)
haciendo los siguientes reemplazos x := Juana, y := Braulio y z :=
Lola. Esto produce:
5.- madre(Juana, Braulio) v hermana(Lola, Juana) | tía(Lola, Braulio)
La conclusión de que Lola es una tía de Braulio se deduce de 4 y 5 por Modus
Ponens.
Las demostraciones que se acaban de dar son sencillas, en el sentido de que
Formas Clausales
186
sólo hay unas pocas expresiones disponibles para la unificación, lo cual hace que sea
relativamente sencillo decidir el paso siguiente. En casos más complicados, la
selección de posibles expresiones que están disponibles para la unificación es más
extensa, y la decisión deja de ser trivial. Para hacer una buena elección en lo referente
a las expresiones que hay que unificar a continuación, es preciso pensar en la meta
que se persigue. En algunos casos, es necesario considerar todas las expresiones que
se puedan derivar, y seleccionar aquella que, en algún sentido, sea la más próxima a
la conclusión. Este suele ser un buen sistema, aun cuando falle en algunos casos. En
otras ocasiones, esta política no resulta aplicable porque no está claro lo que se
encuentra más próximo o más alejado de la conclusión.
En este caso, suele servir de ayuda el establecimiento de objetivos
intermedios. Además, las derivaciones asociadas a casos similares suelen
proporcionar ideas valiosas acerca de la forma de seguir adelante.
6.1.5.- GENERALIZACIÓN EXISTENCIAL
Si la tía Claudia tiene más de cien años, entonces es evidente que hay alguien,
a saber, la tía Claudia, que tiene más de cien años. Si existe algún término t para el
cual sea válida P(t), entonces se puede concluir que algún x satisface P(x).
Consiguientemente, P(t) implica lógicamente lo siguiente: ›x P(x). Más generalmente
›x A se puede derivar que partiendo de S X
t A, en donde t es cualquier término. Esto
da lugar a la siguiente regla de inferencia:
St
x
A
›x A
Esta regla de inferencia se denomina Generalización Existencial, y se abrevia
GE en las demostraciones formales.
Ejemplo 6.10: Sea C la tía Claudia, y supongamos que P(x) indica “x tiene más de
100 años”. Entonces se tiene:
P(C)
›x P(x)
La razón es que si se sustituye x por C en P(x), se tiene P(C).
Ejemplo 6.11:El siguiente ejemplo muestra la forma en que se utiliza la generalización
existencial dentro de una demostración formal. Las premisas de nuestra
derivación son:
1.- Toda persona que ha ganado cien millones es rica.
2.- María ha ganado cien millones.
Queremos demostrar que estas frases implican lógicamente
que:
3.- Hay alguien que es rico.
Si le pidiéramos a alguien que demostrase que la conclusión se obtiene de las
premisas, es posible que su argumento fuera el siguiente. Si todo el que gana cien
millones es rico, entonces María será rica si gana cien millones. Como sabemos que
María ha ganado cien millones, aplicamos el Modus Ponens y concluimos que María
es rica. Por lo tanto, hay alguien, María, que es rica. Ahora formalicemos este
argumento, G(x) significa que x ha ganado cien millones, R(x) significa que x es rico
Formas Clausales
187
y M representa a María. Los pasos individuales del argumento se indican en la Figura
6.1.7,
Se dijo anteriormente que 5›x P(x) es lógicamente equivalente a œx 5P(x).
Ahora demostraremos la primera mitad de esta afirmación, enseñando que 5›x P(x)
| œx 5P(x). Esto se indica en la Figura 6.1.8. Demostraremos posteriormente que œx
5P(x) | 5›x P(x). Las dos demostraciones en conjunto demuestran la validez de la
afirmación realizada. La demostración de la Figura 6.1.8 utiliza las siguientes reglas de
inferencia: Modus Tollens (MT), generalización universal (GU), generalización
existencial (GE) y el teorema de la deducción (TD).
Demostrar: œx (G(x) | R(x)), G(M) | ›x R(x)
Derivación Formal Regla de Inferencia Comentario
1.- œx (G(x) | R(x)) Premisa Todo el que ha ganado cien
millones es rico
2.- G(x) | R(x) 1. S X
M Por tanto, si María ha ganado
cien millones entonces es rica.
3.- G(M) Premisa María ha ganado cien millones
4.- R(M) 2, 3, MP Por lo tanto María es rica. Por
Modus Ponens
5.- ›x R(x) 4, GE Alguien (María) es rico...
Figura 6.1.7: Demostración de la existencia general a partir de la existencia específica
Demostrar: 5›x P(x) | œx 5P(x).
Derivación Formal Regla de Inferencia Comentario
1.- 5›x P(x) Premisa No existe un x para el cual P(x)
sea verdadero.
2.- P(x) Suposición Supongamos P(x)
3.- ›x P(x) 2, GE Entonces tiene que existir una x
que satisfaga P(x)
4.- P(x) | ›x P(x) TD Prescindimos de P(x) y escribimos
P(x) | ›x P(x)
5.- 5 P(x) 1,4, MT Como no existe un x tal que P(x)
sea verdadero, y como P(x)
implica que existe ese x, P(x)
debe ser falso
6.- œx 5P(x) 3, GU Como x no aparece como variable
libre en ninguna premisa,
podemos generalizar a todos los
x.
Figura 6.1.8: Demostración de inexistencia expresada empleando la notación “para
todo”
Formas Clausales
188
6.1.6.- PARTICULARIZACIÓN EXISTENCIAL
Si es cierto que ›x P(x), entonces tiene que existir algún término t que
satisfaga P(x); esto es, tiene que ser cierto St
x
P(x) para algún t . Por ejemplo, si P(x)
significa “x da saltos mortales”, entonces ›x P(x)significa que St
x
P(x) = P(t) tiene
que ser cierto para algún t . El problema es que no sabemos para que término. Si
sabemos que alguien da saltos mortales, seguimos sin saber si es la tía Eulalia, el tío
Petronio o, incluso, alguna otra persona que da saltos mortales. En una demostración,
por lo tanto, hay que mantener abierta la cuestión de quién es el individuo que da
saltos mortales.
Para hacer esto, seleccionamos una nueva variable, digamos b, para denotar a
este individuo desconocido. Ello da lugar a la siguiente regla de inferencia:
›x A
Sb
xA
A
Esta regla se denomina Particularización Existencial, y se abrevia de la
forma PE en las derivaciones.
La variable que introduce la particularización existencial no debe haber
aparecido anteriormente como variable libre. Por ejemplo, al aplicar la PE a las frases
siguientes: “Existe alguien que tiene más de 100 años” y “Existe alguien que da
saltos mortales”, no hay que utilizar la misma variable b para la particularización
existencial en ambos casos. De no ser así, uno podría concluir que b tiene más de 100
años y da saltos mortales, lo cual ciertamente no se sigue desde el punto de vista
lógico. De forma similar, tampoco se puede utilizar ninguna variable que aparezca libre
en algunas de las premisas. Por lo tanto, la PE no debe introducir ninguna variable que
ya haya aparecido como variable libre en la derivación. Además, la variable que se
introduce está fijada, en el sentido de que no se puede aplicar una generalización
universal a esa variable. Por ejemplo, si b da saltos mortales, entonces no se puede
utilizar GU para concluir que todo el mundo da saltos mortales. Además, no debe
aparecer en la conclusión una variable que tenga un valor desconocido, y, dado que
toda variable introducida por la PE es desconocida, tampoco deberá de aparecer en la
conclusión. A efectos de demostración consideremos el siguiente ejemplo.
Ejemplo 6.12: Supongamos que hay alguien que haya ganado 100 millones y
deseamos demostrar que alguien es rico. Entonces las premisas son:
1.- “Alguien ha ganado cien millones”
2.- “Cualesquiera que haya ganado cien millones es rico”
Deseamos demostrar que estas dos frases implican lógicamente la siguiente
frase:
3.- “Existe alguien que es rico”
La demostración detallada se indica en la Figura 6.1.9. En esta demostración,
se utiliza la particularización existencial sobre la línea 2, en la cual el ganador se le
denomina b. Una vez que se ha obtenido esto, se da la segunda premisa en la línea 3
y se particulariza esta premisa x := b en la línea 4. Obsérvese que no hay que derivar
las líneas 3 y 4 antes de las líneas 1 y 2; esto es, uno no debe aplicar la
particularización universal antes de la particularización existencial. La razón para esto
es que, una vez que se ha obtenido X(b) ⇒ R(b), b ya no es una nueva variable, y por
Formas Clausales
189
lo tanto no debe utilizarse para la particularización existencial. Por esta razón, suele
ser buena idea aplicar primero la particularización existencial.
Ejemplo 6.13: Demostraremos en la Figura 6.1.10 que œx 5P(x) implica lógicamente
que 5›x P(x) Según se vio en apartados anteriores, demostrar una
negación es algo que suele hacerse normalmente mediante una
demostración indirecta: para demostrar 5A, uno supone que A es cierto
y deriva una contradicción. Dado que deseamos demostrar que 5›x
P(x), la suposición que hay que rechazar es ›x P(x). Aún cuando esta
suposición es cierta, la derivación se ha sangrado. La particularización
existencial nos permite derivar P(b) en la línea 2, lo cual contradice a
5P(b) que se ha derivado en la línea 4 empleando una particularización
universal. La contradicción resultante se encuentra en la línea 5. Esta
línea nos permite rechazar la suposición ›x P(x); esto es, tiene que ser
cierto que 5›x P(x). Por lo tanto, œx 5P(x) implica 5›x P(x).
Demostrar: œx (X(x) ⇒ R(x)), ›x X(x) | ›x R(x)⇒.
Derivación Formal Regla de Inferencia Comentario
1.- ›x X(x) Premisa Alguien ha ganado 100 millones.
2.- X(b) 1, PE Llamemos b al ganador
3.- œx (X(x) ⇒ R(x)) Premisa Cualquiera que haya ganado 100
millones es rico
4.- X(b) ⇒ R(b) 3, S X
b Si X(b) | R(b) es válido para
todos, debe ser válido para
desconocido b
5.- R(b) 2,4, MP Si ganar implica ser rico y si b ha
ganado, entonces b debe ser rico
6.- ›x R(x) 4, EQ Alguien es rico
Figura 6.1.9: Demostración empleando PE
Demostrar: œx 5P(x) | 5›x P(x)
Derivación Formal Regla de Inferencia Comentario
1.- ›x P(x) Suposición Suposición que rechazaremos
posteriormente
2.- P(b) 1, PE Digamos que P(x) es cierto para b
3.- œx 5P(x) Premisa P(x) es falso para todo x
4.- 5 P(b) 3, S X
b Por lo tanto P(b) es falso
5.- P(b) v 5 P(b) 3, 4, C Ahora tenemos la contradicción
deseada, que implica que la
suposición es falsa
Formas Clausales
190
6.- 5›x P(x) 5, IP Dado que 5 es una contradicción,
la suposición es false y puede
descartarse
Figura 6.1.10: Demostración de que la existencia contradice a la inexistencia
6.2.- SISTEMA DE GENTZEN: PRUEBAS DEDUCTIVAS
Tanto el Sistema de Gentzen como el Sistema de Hilbert pueden extenderse
también al cálculo de predicados. La extensión es directa excepto por la dificultad
ocasionada por el pasaje de fórmulas cuantificadas a fórmulas instanciadas y
viceversa. La discusión siguiente está basada en los sistemas deductivos del cálculo
proposicional.
La Figura 6.2.1 nos muestra un cuadro semántico cerrado para la negación de
la fórmula válida siguiente:
(œx p(x) w œx q(x)) ⇒ œx(p(x) w q(x))
Figura 6.2.1: Cuadro Semántico en el Cálculo de Predicados
5((œx p(x) w œx q(x)) ⇒ œx(p(x) w q(x)))
⇓
(œx p(x) w œx q(x)), 5 œx(p(x) w q(x))
⇓ ⇓
œx p(x) , 5 œx(p(x) w q(x)) œx q(x) , 5 œx(p(x) w q(x))
⇓ ⇓
œx p(x) , 5 (p(a) w q(a)) œx q(x) , 5 (p(a) w q(a))
⇓ ⇓
œx p(x) , 5 p(a) , 5 q(a) œx q(x) , 5 p(a) , 5 q(a)
⇓ ⇓
œx p(x) , p(a) , 5 p(a) , 5 q(a) œx q(x) , p(a) , 5 p(a) , 5 q(a)
X X
Si damos la vuelta de abajo-arriba y para cada nodo n reemplazamos U(n), la
etiqueta de n, por Ü(n), obtenemos la Prueba de Gentzen para la fórmula (Figura
6.2.1). Los axiomas son conjuntos de fórmulas que contienen pares complementarios
de literales.
Ya que un conjunto de fórmulas en una Prueba de Gentzen es una disyunción
implícita (a menos que en el cuadro semántico tengamos un conjunto de fórmulas que
sea una conjunción implícita), los axiomas son obviamente válidos. Las reglas
proposicionales permanecen como antes y agregamos las reglas -( y -* para
cuantificadores existenciales y universales respectivamente. Las reglas -( son
directas:
U ^ {›x A(x) , A(a)}
U ^ {›x A(x)}
U ^ {5 œx A(x) ,5 A(a)}
U ^ {5œx A(x)}
Formas Clausales
191
La primera regla puede leerse de la siguiente manera: Si son válidas una fórmula
existencial y alguna instanciación sobre ella, entonces la instanciación es redundante.
Las reglas -* son las siguientes:
U ^ {A(a)}
U ^ {œx A(x)}
U ^ {5 A(a)}
U ^ {5 ›x A(x)}
Figura 6.2.2: Árbol de Prueba Gentzen para el Cálculo de Predicados
5 œx p(x) , 5 p(a) , p(a) , q(a) 5 œx q(x) , 5 p(a) , p(a) , q(a)
⇓ ⇓
5 œx p(x) , p(a) , q(a) 5 œx q(x) , p(a) , q(a)
⇓ ⇓
5 œx p(x) , (p(a) w q(a)) 5 œx q(x) , (p(a) w q(a))
⇓ ⇓
œx p(x) , 5 œx(p(x) w q(x)) œx q(x) , 5 œx(p(x) w q(x))
⇓ ⇓
5 (œx p(x) w œx q(x)) , œx(p(x) w q(x))
⇓
(œx p(x) w œx q(x)) ⇒ œx(p(x) w q(x))
Las reglas -* solo pueden aplicarse si se encuentra cierta condición, que la constante
a no pueda aparecer en U. Este es el complemento de la regla de cuadro que
introduce una nueva constante a. Si a es una constante arbitraria de forma tal que
A(a) es válida, entonces también es válida la siguiente fórmula œx A(x). Es esencial
que a no aparezca en alguna otra fórmula B(a) en el conjunto que impone restricciones
sobre las posibles interpretaciones de a.
Por ejemplo, la prueba no trivial de:
›xœy p(x, y) | œy›x p(x, y)
en la Figura 6.2.3, está estructurada cuidadosamente para aplicar tres reglas -( las
que no son restrictivas antes de aplicar las dos reglas -*. Por ello solo existen
ocurrencias simples de las constantes a y b de forma tal que la condición se ve
cumplimentada.
Teorema 6.2.1: Sea U un conjunto de fórmulas. Existe entonces una Prueba de
Gentzen para U si y solo si existe un cuadro semántico cerrado
para Ü. &
El sistema de Hilbert se extiende al cálculo de predicado agregando dos
axiomas más que para el cálculo proposicional y agregando una regla de inferencia al
modus ponens. El sistema de prueba este solo definido para el cálculo de predicado
con cuantificador universal; el cuantificador existencial es introducido al definirlo de la
siguiente forma:
›x A(x) ≡ 5œx 5A(x)
Formas Clausales
192
Figura 6.2.3: Prueba de Gentzen ordenando las Reglas -( y -*
5œy p(a, y), 5 p(a, b), 5 p(a, a), ›x p(x, b), p(a, b)
⇓
5œy p(a, y), 5 p(a, a), ›x p(x, b), p(a, b)
⇓
5œy p(a, y), ›x p(x, b), p(a, b)
⇓
5œy p(a, y), ›x p(x, b)
⇓
5œy p(a, y), œy›x p(x, y)
⇓
5›xœy p(x, y), œy›x p(x, y)
⇓
›xœy p(x, y) ⇒ œy›x p(x, y)
Los axiomas son los siguientes:
⎥− œx A(x) | A(a) Axioma 4
⎥− œx(A | B(x)) | (A | œx B(x)) Axioma 5
En el Axioma 5, la notación indicada tiene el significado siguiente: x no aparece como
una variable libre en A, mientras que si lo hace en B(x). El axioma está justificado
haciéndose notar que si x no aparece libre en A, los valores asignados a x en
interpretar œx(A | B(x)) no puede afectar el valor de verdad de A. Dejamos como
ejercicios la prueba formal de la solidez de los axiomas.
La regla de inferencia es denominada Generalización :
⎥− A(a)
⎥− œx A(x)
Notar la diferencia entre el Axioma 4 y la Generalización. El Axioma 4 significa que sin
importar donde aparezca œxA(x), ello implica la instanciación de A(a) para cualquier
valor de a. La Generalización significa que si aparece a en una fórmula, podemos
vincular todas las ocurrencias de a con un cuantificador. La justificación está dada a
través de que la selección de a es arbitraria, que es lo mismo que decir que A(x) es
verdadera para todas las asignaciones para x en una interpretación.
Una consecuencia inmediata de la Generalización es que el teorema y la regla
de deducción no se mantiene más sin restricción. La siguiente versión es suficiente
para nuestros propósitos, mientras que versiones menos restrictivas pueden
encontrarse en libros avanzados.
Definición 6.2.2. (Regla de Deducción) Para un conjunto de fórmulas U y
fórmulas A, B.
U ^ {A} ⎥− B
U ⎥− A ⇒ B
estipulando que en la prueba de U ^ {A} ⎥− B no se aplica la
Generalización a una constante que aparece en A.
Formas Clausales
193
Teorema 6.2.3: (Teorema de Deducción) El teorema de deducción es una
derivación estricta de la regla.
Demostración: Para extender la demostración del teorema de deducción a partir
del cálculo proposicional al cálculo de predicados, es solamente
necesario considerar la aplicación de la Generalización.
Supongamos que A ⎥− œx B es obtenida a partir de la siguiente
expresión A ⎥− B usando la Generalización. Por la hipótesis
inductiva, A ⎥− B implica ⎥− A | B. Por Generalización,
obtenemos ⎥− œx (A | B). Ya que x no aparece en A por la
restricción en la regla de deducción,
⎥− œx (A | B) | (A | œx B) por el Axioma 5.
La equivalencia del Sistema de Hilbert y del Sistema de Gentzen es fácilmente
demostrable. Las siguientes dos demostraciones muestran como cualquier aplicación
de las Reglas -( y -*, pueden ser simuladas por una demostración o prueba con estilo
Hilbert. Notar que en la demostración para la regla -*, la condición es utilizada
implícitamente para justificar la aplicación del Axioma 5. Además, se utiliza la notación
"PC" para indicar que la inferencia puede ser justificada por los axiomas y reglas del
cálculo proposicional.
Teorema 6.2.4: Cualquier utilización de la regla -(
U, 5 œx p(x), 5 p(a)
U, 5 œx p(x)
en el Sistema de Gentzen, puede ser simulado en el Sistema de Hilbert.
Demostración:
1.-⎥− œx p(x) | p(a) Axioma 4
2.-⎥−5œx p(x) w p(a) PC 1: Definición Implicación
3.-⎥−U w 5œx p(x) w p(a) PC 2: Inferencia
4.-⎥− U w 5œx p(x) w 5 p(a) Suposición
5.-⎥−U w 5œx p(x) PC 3, 4: Silogismo Disyuntivo
Teorema 6.2.5: Cualquier uso de la regla -*
U, p(a)
U, œx p(x)
en el Sistema de Gentzen, puede ser simulado en el Sistema de Hilbert.
Demostración:
1.- ⎥− U w p(a) Suposición
2.- ⎥− 5 U | p(a) PC 1: Definición Implicación
3.- ⎥− œx (5 U | p(x)) Generalización. 2
4.- ⎥− 5 U | œx p(x) PC 3, Axioma 5
5.- ⎥− U w œx p(x) PC 4: Definición Implicación
Formas Clausales
194
Se dejan como ejercicios las demostraciones o pruebas de Gentzen de los
axiomas de Hilbert. La Generalización es un caso especial de la regla -*. En esencia,
la condición de la regla -* en el Sistema de Gentzen ha sido transformada en una
restricción de la regla de deducción derivada en el Sistema de Hilbert. El Axioma 4 y el
MP justifican la siguiente regla derivada, a la cual la llamaremos simplemente "Axioma
4".
U ⎥− œx A(x)
U ⎥− A(a)
Para demostrar la técnica de prueba del Sistema de Hilbert, indicaremos a
continuación un conjunto de teoremas y sus correspondientes pruebas. Los primeros
dos son teoremas elementales que utilizan cuantificadores existenciales.
Teorema 6.2.6: ⎥− p(a) | ›x p(x)
Demostración:
1.-⎥− œx 5 p(x) | 5 p(a) Axioma 4
2.-⎥− p(a) | 5œx 5 p(x) PC 1
3.-⎥− p(a) | ›x p(x) Definición de "›"
Teorema 6.2.7: ⎥− œx p(x) | ›x p(x)
Demostración:
1.- œx p(x) ⎥− œx p(x) Suposición
2.- œx p(x) ⎥− p(a) Axioma 4
3.- œx p(x) ⎥− p(a) | ›x p(x) Teorema 6.2.6
4.- œx p(x) ⎥− ›x p(x) PC 2, 3: Modus Ponens
5.- ⎥− œx p(x) | ›x p(x) Deducción
El próximo teorema es un teorema técnico esencial que puede ser utilizado
para justificar la siguiente regla, lo cual también es denominado "Generalización" :
⎥− A(x) | B(x)
⎥− œx A(x) | œx B(x)
Teorema 6.2.8: ⎥− œx(p(x) | q(x)) | (œxp(x) | œxq(x))
Demostración:
1.- œx(p(x) | q(x)) , œx p(x) ⎥− œx p(x) Suposición
2.- œx(p(x) | q(x)) , œx p(x) ⎥− p(a) Axioma 4
3.- œx(p(x) | q(x)) , œx p(x) ⎥− œx(p(x) | q(x)) Suposición
4.- œx(p(x) | q(x)) , œx p(x) ⎥− p(a) | q(a) Axioma 4
5.- œx(p(x) | q(x)) , œx p(x) ⎥− q(a) PC 2, 4: Modus Ponens
6.- œx(p(x) | q(x)) , œx p(x) ⎥− œx q(x) Generalización. 5
7.- œx(p(x) | q(x) ⎥− œx p(x) | œx q(x)) Teorema Deducción 1,6
8.-⎥− œx(p(x) | q(x)) | (œx p(x) | œx q(x)) Teorema Deducción 7
Formas Clausales
195
El próximo teorema fue demostrado previamente en el Sistema de Gentzen.
Notar que la condición del Axioma 5 (x no es libre en la expresión siguiente 5œy›x p(x,
y)) es la misma que la condición en la regla -*.
Teorema 6.2.9: ⎥− ›xœy p(x, y) | œy›x p(x, y)
Demostración:
1.-⎥− p(a, b) | ›x p(x, b) Teorema 6.2.6
2.-⎥− œy(p(a, y) | ›x p(x, y)) Generalización. 1
3.-⎥− œy p(a, y) | œy›x p(x, y) Teorema 6.2.6
4.-⎥− 5œy›x p(x, y) | 5œy p(a, y) PC 3: Transposición
5.-⎥− œx(5œy›x p(x, y) | 5œy p(x, y)) Generalización. 4
6.-⎥− 5œy›x p(x, y) | œx5œy p(x, y) Axioma 5
7.-⎥− 5œx5œy p(x, y) | œy›x p(x, y) PC 6: Transposición
8.-⎥− ›xœy p(x, y) | œy›x p(x, y) Definición de "›"
El siguiente teorema es el inverso del Axioma 5.
Teorema 6.2.10: ⎥− (p | œx q(x)) | œx(p | q(x))
Demostración:
1.- p | œx q(x) ⎥− p | œx q(x) Suposición
2.- p | œx q(x) ⎥− œx q(x) | q(a) Axioma 4
3.- p | œx q(x) ⎥− p | q(a) PC 1. 2: Silogismo Hipotético
4.- p | œx q(x) ⎥− œx(p | q(x)) Generalización. 3
5.-⎥− (p | œx q(x)) | œx(p | q(x)) Teorema Deducción
El nombre de la variable ligada no es importante y puede cambiarse como
convenga a la situación:
Teorema 6.2.11: ⎥− œx p(x) / œy p(y)
Demostración:
1.-⎥− œx p(x) | p(a) Axioma 4
2.-⎥− œy(œx p(x) | p(y)) Generalización. 1
3.-⎥− œx p(| œx p(x) / œy p(y)x) | œy p(y) Axioma 5
4.-⎥− œy p(y) | œx p(x) Similitud
5.-⎥− œx p(x) / œy p(y) PC 3, 4
Finalmente, el siguiente teorema muestra una relación no obvia entre el
cuantificador universal y el cuantificador existencial.
Teorema 6.2.12: ⎥−œx(p(x) | q) / (›x p(x) | q)
Demostración:
1.- œx(p(x) | q) ⎥− œx(p(x) | q) Suposición
2.- œx(p(x) | q) ⎥− œx(5 q | 5 p(x)) PC1: Transposición
3.- œx(p(x) | q) ⎥− 5 q | œx 5 p(x) Axioma 5
4.- œx(p(x) | q) ⎥− 5 œx 5 p(x) | q PC 3: Transposición
5.- œx(p(x) | q) ⎥− ›x p(x) | q Definición de "›"
6.-⎥− œx(p(x) | q) | (›x p(x) | q) Teorema Deducción
7.- ›x p(x) | q ⎥− ›x p(x) | q Suposición
8.- ›x p(x) | q ⎥− 5œx 5 p(x) | q Definición de "›"
9.- ›x p(x) | q ⎥− 5 q | œx 5 p(x) PC 8
Formas Clausales
196
10.- ›x p(x) | q ⎥− œx(5 q | 5 p(x)) Teorema 6.6.10
11.- ›x p(x) | q ⎥− œx(p(x) | q) Particularización
12.-⎥− œx(p(x) | q) / (›x p(x) | q) PC 6, 11: Definición Equivalencia
Una regla derivada adicional es útil en pruebas o demostraciones que
contienen fórmulas cuantificadas existencialmente. La regla es la formalización del
siguiente argumento matemático: Si existe un objeto que satisface cierta propiedad,
decimos que 'c' es una instancia específica, pero arbitraria, de tal objeto.
Denominamos a dicha regla como la Regla -C, C por constante. La primera versión es
la siguiente:
Teorema 6.2.13: (Regla -C) Suponemos que U ⎥− ›x p(x) y U, p(a) ⎥− A, donde a
no aparece ni en U ni en A. Entonces debe cumplirse que U ⎥− A.
Demostración:
1.- U, p(a) ⎥− A Suposición
2.- U ⎥− p(a) | A Teorema Deducción 1
3.- U ⎥− œx(p(x) | A) Generalización. 2
4.- U ⎥− ›x p(x) | A Teorema 6.2.12
5.- U ⎥− ›x p(x) Suposición
6.- U ⎥− A PC 4, 5: Modus Ponens
Notar que la generalización es aplicada luego de la regla de deducción.
La siguiente versión de la regla -C es utilizada más a menudo:
Teorema 6.2.14: (Regla -C) Si U ⎥− ›x p(x) entonces U ⎥− p(a) donde a es una
nueva constante que no aparece en U.
Demostración:
1.- U ⎥− ›x p(x) Suposición
2.- U, p(a) ⎥− p(a) Suposición
3.- U ⎥− p(a) Regla -C
Utilizamos la Regla -C para obtener una prueba más intuitiva del Teorema 5.6.9, de la
siguiente forma:
Teorema 6.2.15: ⎥− ›xœy p(x, y) | œy›x p(x, y)
Demostración:
1.- ›xœy p(x, y) ⎥− ›xœy p(x, y) Suposición
2.- ›xœy p(x, y) ⎥− œy p(a, y) Regla -C
3.- ›xœy p(x, y) ⎥− p(a, b) Axioma 4
4.- ›xœy p(x, y) ⎥− ›x p(a, x) Teorema 6.2.6
5.- ›xœy p(x, y) ⎥− œy›x p(a, x) Generalización. 4
6.-⎥− ›xœy p(x, y) | œy›x p(x, y) Teorema Deducción
Formas Clausales
197
6.3.- FORMAS CLAUSALES
6.3.1.- INTRODUCCIÓN
Consideremos la siguiente disyunción de literales: 5 p(x) º 5 q(x), esta
fórmula es equivalente a: 5 q(x) º 5 p(x). O sea que el orden de los literales
alrededor de la conectiva disyunción es irrelevante. Por lo tanto una disyunción de
literales puede ser considerada como un conjunto de literales, denominada como una
Cláusula. Por ejemplo, la siguiente cláusula es equivalente a la disyunción anterior:
{5 q(x) , 5 p(x)}
Esta cláusula puede leerse de la siguiente forma: "no q(x) o no p(x)".
Una cláusula que está vacía, es denominada una Cláusula Null y está
representada, por algunos autores, por el siguiente símbolo :.
Una cláusula que contiene al menos un literal no negado es denominada como
Cláusula de Horn. Los siguientes son ejemplos de Cláusulas de Horn :
{p(x) , 5 q(x) , 5 r(x)}
{ 5 p(x) , 5 q(x) , r(x)}
{ 5 p(x) , 5 q(x) , 5 r(x) , s(x)}
{ 5 p(x) , 5 q(x) , r(x) , 5 s(x) , 5 t(x)}
Consideremos ahora la siguiente fórmula:
(5 q(x) º 5 p(x)) ¸ 5 r(x)
la que será equivalente a la siguiente fórmula lógica del lenguaje de predicado de
primer orden :
5 r(x) ¸ (5 q(x) º 5 p(x))
O sea que el orden de las sub fórmulas alrededor del conectivo de conjunción es
irrelevante. Consecuentemente, una fórmula en una forma normal conjuntiva (tal como
se definió en el Capítulo 3) puede ser considerada como un conjunto de cláusulas,
denominado Conjunto de Cláusulas. Por ejemplo, la fórmula anterior puede ser
reemplazada por el siguiente conjunto de cláusulas:
({5 q(x) , 5 p(x)} , { 5 r(x)})
Fórmulas escritas de esta forma se las denomina como Formas Clausales.
Ya que cualquier fórmula de la lógica proposicional y de la lógica de predicado
puede ser convertida a una forma normal conjuntiva, también puede en consecuencia
convertida a una forma clausal. La ventaja de la forma clausal es la propia
uniformidad lo que la hace ideal para un procesamiento automático.
Formas Clausales
198
6.3.2.- FORMA NORMAL PRENEX
Construir una tabla semántica sistemática para la secuencia de los literales
definidos en la sección previa es algo extremadamente ineficiente. Afortunadamente,
si nos restringimos a fórmulas expresadas en la forma clausal, es posible forzar a que
sea considerado el conjunto de literales.
Definición 6.3.1 Una fórmula es una forma normal conjuntiva prenex (FNCP) si
y solo si tiene la forma siguiente:
Q1x1 ...... Qn xn M
Donde los Qi son cuantificadores, x es una variable y M es una
fórmula libre de cuantificadores expresada como una forma
normal conjuntiva. La secuencia de cuantificadores es
denominada el prefijo y M es denominada como la matriz.
Definición 6.3.2 Una fórmula es una forma clausal si dicha fórmula es una forma
normal conjuntiva prenex (FNCP) y el prefijo consiste únicamente
de cuantificadores universales.
Por ejemplo, la siguiente fórmula es una forma clausal:
œz([p(f(z)) w 5 p(g(z)) w q(z)] v [5 q(z) w 5 p(g(z)) w q(z)])
De igual modo que en el cálculo proposicional podemos utilizar una notación más
concisa. Los cuantificadores son omitidos y de este modo todas las variables están
implícitamente cuantificadas universalmente. Escribimos la matriz como un conjunto
de cláusulas, cada de las cuales también puede ser escrita como un conjunto (aunque
podemos retener los conectivos booleanos por claridad). Igual que antes, es obvio que
la eliminación de duplicados a través del uso de notación de conjuntos no tiene
importancia. El ejemplo anterior puede ser escrito como un conjunto de cláusulas
{p(f(z)) w 5 p(g(z)) w q(z), 5 q(z) w 5 p(g(z)) w q(z)}
y además podemos escribir las cláusulas sin las disyunciones :
{p(f(z)) 5 p(g(z)) q(z), 5 q(z) 5 p(g(z)) q(z)}
una abreviación mayor puede omitir los paréntesis y las comas en la lista de
argumentos de los predicados, suponiendo que se conocen las aristas
correspondientes :
{pf(z)5 pg(z)qz, 5 qz 5pg(z) qz}
La restricción a solo cuantificadores universales está justificada por el siguiente
teorema:
Teorema 6.3.3 (Skolem): Sea A una fórmula cerrada. Existirá entonces una
fórmula A' en la forma clausal tal que A . A' (o sea
que, A es satisfecha si y solo si A' es satisfecha).
Formas Clausales
199
Esta es la dirección correcta para transformar a A en una fórmula FNCP
equivalente. La remoción de los cuantificadores existenciales está acompañada por la
definición de nuevos símbolos de función. Por ejemplo, dado:
A = œx∃y p(x, y)
los cuantificadores pueden ser leídos de la siguiente manera : para todo x, producimos
un valor y (asociada con x) tal que el predicado p es verdadero. Pero nuestro concepto
intuitivo de función es lo mismo: y = f(x) significa para un valor dado de x, f produce de
algún modo un valor y asociado con x. De este modo obtenemos:
A' = œxp(x, f(x))
expresando de esta forma casi la misma idea que A.
Notar cuidadosamente que es lo que dice realmente el teorema de Skolem. No
es cierto que A ⇔ A' (A es equivalente a A'), solamente que A . A'. Pero como
realmente estamos interesados en la validez y en la demostrabilidad, la diferencia no
es importante.
En el ejemplo, en la fórmula A = œx∃y p(x, y), considerar la interpretación I1
definida por el dominio {1, 2} y una relación que convierte a p en idénticamente
verdadero. Obviamente, I1‚ ⎥= A. Si agregamos la siguiente función:
{F(1) = 2, F(2) = 1}
a la interpretación, entonces también se cumple que I1 G A', de forma tal que ambas
fórmulas son satisfechas. Sin embargo, si definimos I2 de la misma forma que I1
excepto que :
v(p(1, 1)) = v(p(2,2)) = V
v(p(1, 2)) = v(p(2, 1)) = F
entonces I2 ⎥= A pero I2⎥= A'. De hecho tenemos que I2⎥= 5A' !
La introducción de los símbolos de función estrecha la elección de los modelos.
Las relaciones que interpretan los símbolos de predicados son del tipo muchos-
muchos, o sea cada x puede estar relacionada con varios y, mientras que las
funciones son muchos-uno, relacionando cada x a una única y. Por ejemplo, un
predicado p(x, y) puede ser interpretado por la relación:
{(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)}
definida sobre el conjunto B = {1, 2, 3}, pero debemos elegir un subconjunto propio de
la relación, como por ejemplo el siguiente:
{(1, 2), (2, 3)}
cuando interpretamos p(x, f(x)).
Obviamente, si existe una relación muchos-muchos, podremos obtener una
relación muchos-uno, eligiendo uno de los elementos de y para cada x.
Formas Clausales
200
Demostración del Teorema de Skolem :
Cualquier fórmula A puede ser transformada en una fórmula equivalente en FNCP
(Forma Normal Conjuntiva Prenex). La descripción de la transformación será realizada
a través de un ejemplo utilizando la siguiente fórmula:
œx(p(x) | q(x)) | (œx p(x) | œx q(x))
* Por el teorema 6.1.11, renombrar las variables ligadas, tal que ninguna
variable aparezca en dos cuantificadores diferentes:
œx(p(x) | q(x)) | (œy p(y) | œz q(z))
* Transformar todos los conectivos dejando únicamente negación,
disyunción y conjunción:
5œx(5p(x) w q(x)) w 5œy p(y) w œz q(z)
* Introducir las negaciones en los cuantificadores. Utilizar las siguientes
equivalencias cuando introducimos la negación dentro de los
cuantificadores universal y existencial
5œx A(x) ≡ ∃ 5A(x)
5 ∃x A(x) ≡ œ 5A(x)
la fórmula del ejemplo se transforma en la siguiente expresión :
›x(p(x) v 5q(x)) w ›y 5p(y) w œz q(z)
* Extraer todos los cuantificadores desde la matriz. Repetidamente,
elegir en la matriz a un cuantificador que no sea una extensión de otro
cuantificador que aún se encuentre en la matriz y sacarlo utilizando las
siguientes reglas (las que son aplicables, ya que ninguna variable
aparece en dos cuantificadores) :
A op Qx B(x) / Qx(A op B(x))
Qx A(x) op B / Qx (A(x) op B)
donde Q es un cuantificador y op es uno de los siguientes conectivos
lógicos "v" o "w".
›x›yœz((p(x) v 5q(x)) w 5p(y) w q(z))
Todas las etapas anteriores están justificadas por el uso de equivalencias, que
ya fueron indicadas, y por sustitución.
Notar que el orden de extracción de los cuantificadores más externos a partir
de la matriz, es arbitrario y que en consecuencia también podemos obtener la
siguiente fórmula:
œz›x›y((p(x) w 5p(y) w q(z)) v (5q(x) w 5p(y) w q(z)))
Ahora debemos transformar la fórmula en una FNCP, la única etapa que resta
por cumplir es la de eliminar cuantificadores existenciales a partir del prefijo. Sea ›x
Formas Clausales
201
un cuantificador existencial en A, sea (y1, ....., yn) las variables cuantificadas
universalmente que preceden a ›x y sea f un nuevo símbolo de función n-aria. Borrar
›x y reemplazar cada ocurrencia de x por f(y1, ...., yn). Si no existen cuantificadores
universales que precedan a ›x, reemplazar x por una nuevo símbolo constante a (por
ejemplo, la función 0-aria).Estos nuevos símbolos de funciones son denominados
Funciones de Skolem.
Para la fórmula del ejemplo que estamos considerando, tenemos la
siguiente expresión
œz((p(a) w 5p(b) w q(z)) v (5q(a) w 5p(b) w q(z)))
donde a y b son las funciones (constantes) de Skolem correspondientes a la variables
x e y respectivamente, cuantificadas existencialmente. Si tenemos que elegir otro
orden de extracción de cuantificadores, la forma clausal podría ser:
œz((p(f(z)) w 5 p(g(z)) w q(z)) v (5 q(f(z)) w 5 p(g(z)) w q(z)))
donde las funciones de Skolem f y g son unarias debido a que un simple cuantificador
universal sobre z precede a los cuantificadores existenciales.
Antes de probar que esta transformación preserva satisfiabilidad, sigamos la
transformación total sobre otra fórmula:
›xœy p(x, y) | œy›x p(x, y)
* Renombrar las variables ligadas:
›xœy p(x, y) | œw›z p(z, w)
* Eliminar los conectivos booleanos e introducir las negaciones en los
cuantificadores
œx›y 5 p(x, y) w œw›z p(z, w)
* Extraer cuantificadores:
œx›yœw›z(5 p(x, y) w p(z, w))
* Reemplazar los cuantificadores existenciales por funciones de Skolem
:
œxœw((5 p(x, f(x)) w p(g(x, w), w))
En la práctica es mejor utilizar una transformación ligeramente diferente de la fórmula
en la forma clausal.
Primero introducir todos los cuantificadores, luego reemplazar cuantificadores
existenciales por funciones Skolem y entonces extraer todos los cuantificadores
(universales) restantes. Esto asegura que el número de cuantificadores universales
precedentes a cuantificadores existenciales es mínimo, y de este modo la utilización
de las funciones Skolem también es mínimo. En el ejemplo, obtendríamos lo siguiente:
œx 5p(x, f(x)) w œw p(g(w), w)
Formas Clausales
202
œxœw((5 p(x, f(x)) w p(g(w), w))
reemplazando la función binaria g por una función unaria.
Tenemos que probar que el reemplazo de un cuantificador existencial por una
función de Skolem preserva la satisfiabilidad. Suponemos que:
I ⎥= œy1 ... œyn∃x p(y1, ... , yn, x)
y demostraremos que existe una interpretación I' tal que se cumple lo siguiente :
I' ⎥= œy1 ... œynp(y1, ... , yn, f(y1, ... , yn))
Extendiendo I a I' a través del agregado de una función F n-aria. Definimos F de la
siguiente manera
Para todo (c1, ... , cn), ci 0 D, entonces f(c1, ... , cn) = c n+1
para algún cn+1 0 D tal que v(p(c1, ... , cn, cn+1)) = V.
La función F está bien definida utilizando la definición de los cuantificadores y del
hecho de que I es un modelo para la fórmula. También, f es nueva debido a que la
definición de F no se opone con cualquier función existente en la definición de la
interpretación I.
I' G œy1 ... œynp(y1, ... , yn, f(y1, ... , yn))
sea (c1, ... , cn) un conjunto de elementos arbitrarios del dominio. Por construcción:
f(c1, ... , cn) = cn+1
para algún cn+1 0 D y
v(p(c1, ... , cn, cn+1)) = V
Ya que (c1, ... , cn) fueron arbitrarios,
v(œy1 ... œynp(y1, ... , yn, f(y1, ... , yn))) = V
Con esto último completamos la demostración del teorema de Skolem en una
dirección. Para probar en la otra dirección (A es satisfecha si A' es satisfecha)
debemos proceder de una manera muy similar y se deja como ejercicio para el lector.
6.4.- MODELOS DE HERBRAND
En la última sección , vimos que el conjunto de términos y en consecuencia el
conjunto de posibles interpretaciones es extremadamente complejo. Ahora veremos,
que para conjuntos de cláusulas, existe un conjunto de interpretaciones canónicas con
una estructura extremadamente simple tal que si un conjunto de cláusulas tiene un
modelo, entonces tiene un modelo de esa forma.
Comenzaremos con una larga secuencia de definiciones, las que inicialmente
pueden parecer confusas, debido a que las interpretaciones canónicas están formadas
a partir de un dominio cuyos elementos son los términos sintácticos que estamos
tratando de interpretar!. Ya que una interpretación contiene un mapeo de términos a
Formas Clausales
203
elementos del dominio, identificando términos y elementos de dominio, todo lo que
debemos hacer es tomar el dominio más general posible que pueda ser definido.
Definición 6.4.1: Sea S un conjunto de cláusulas, Al conjunto de símbolos
constantes en S y F el conjunto de símbolos de funciones en S.
HS, el Universo de Herbrand sobre S, está definido
inductivamente por:
ai 0 HS para ai 0 A
fi(t1, ... , tn) 0 HS para fi0 F , tj 0 HS
Como un caso especial, si no existen símbolos constantes en S, inicialice la
definición inductiva de HS con un símbolo constante arbitrario a. El subíndice S de H
puede ser omitido si el conjunto de cláusulas es comprensible considerando el
correspondiente contexto.
El Universo de Herbrand es justamente el conjunto de términos cerrados que
pueden formarse con los símbolos de S. Obviamente, si S contiene algún símbolo de
función, el universo de Herbrand es infinito, sin embargo, la estructura es mucho más
simple que la totalidad de todos los términos cerrados posibles. Algunos ejemplos de
Universos de Herbrand están indicados en la Figura 6.2.
Definición 6.4.2: Un término fundamental, es un término donde todas las
variables han sido reemplazadas por elementos del Universo de
Herbrand. Del mismo modo debemos considerar para átomo
fundamental, literal fundamental, y cláusula fundamental.
S1 = { pa w 5 pbqz, 5 qz w 5 pbqz}
HS1 = {a, b}
S2 = { 5 pxf(y), pwg(w)}
HS2 = {a, f(a), g(a), f(f(a)), g(f(a)), f(g(a)), g(g(a)), ... }
S3 = { 5 paf(x, y) w pbf(x, y)}
HS3 = {a, b, f(a, a), f(a, b), f(b, a), f(b, b), f(a, f(a, a)),
f(f(a, a), a), .... }
Figura 6.4.1: Universos de Herbrand
Definición 6.4.3: Una Interpretación de Herbrand es un interpretación donde el
dominio es el universo de Herbrand y donde los símbolos de
constante y función se asignan a si mismos de la siguiente forma:
w(a) = a
w(f(t1, ... , tn)) = f(w(t1), ... , w(tn))
No existen restricciones sobre las asignaciones de las relaciones sobre el
Universo de Herbrand con respecto a los predicados.
Formas Clausales
204
Definición 6.4.4: Sea HS el Universo de Herbrand para el conjunto de cláusulas S,
BS, la Base de Herbrand, es el conjunto de todos los átomos
fundamentales que pueden formarse con predicados de S y con
términos de HS.
Definición 6.4.5: Un Modelo de Herbrand para un conjunto de cláusulas S, es una
interpretación de Herbrand que satisface S. Puede identificarse
con el subconjunto de la Base de Herbrand para el cual:
v(p(t1, ... , tn)) = V
Ejemplo:
BS3 = {paf(a, a), paf(a, b), paf(b, a), paf(b, b), .....
pbf(a, a), pbf(a, b), pbf(b, a), pbf(b, b), .... }
Un modelo de Herbrand para S3 está definido por:
v(paf(a, a)) = F
v(paf(a, b)) = F
v(paf(b, a)) = F
v(paf(b, b)) = F
v(pbf(a, a)) = V
v(pbf(a, b)) = V
v(pbf(b, a)) = V
v(pbf(b, b)) = V
............
o de una manera más simple por el subconjunto de la Base de Herbrand :
{pbf(a, a), pbf(a, b), pbf(b, a), pbf(b, b), ldots}
Teorema 6.4.6: Sea S un conjunto de cláusulas. S tiene un si y solo si tiene un modelo
de Herbrand.
Demostración: Suponer que I es un modelo arbitrario para S. Un modelo de Herbrand
para S es obtenido asignando una relación a cada símbolo de predicado. Definir la
interpretación de Herbrand H por el siguiente subconjunto de la Base Herbrand:
{pi(t1, .... , tn) * (w(t1), .... , w(tn)) 0 Ri}
donde Ri es la relación asignada a pi en I. o sea, existe un átomo fundamental en la
base de Herbrand si su valor vI(pi(t1, .... , tn))
es verdadero cuando se interpreta en el modelo I.
Como I es un modelo para el conjunto de cláusulas S, vI(S) = V para todas las
cláusulas Ci 0 S, la valoración vI(Ci) = V también se cumplirá para todas las cláusulas
Ci 0 S, y existirá algún literal Dij en la cláusula considerada tal que vI(Dij) = V. Pero por
definición de H, vH(Dij) = V si y solo si vI(Dij) = V, a partir de lo cual determinamos que
vH(Ci) = V para todas las cláusulas Ci 0 S y además vH(S) = V. De este modo H es un
modelo de Herbrand para S. Lo inverso es trivial pues si H es un modelo de Herbrand
para S entonces es a si mismo un ejemplo del modelo para S.
Formas Clausales
205
Es importante notar que el teorema no es verdadero si S es una fórmula
arbitraria y no un conjunto de cláusulas. Supongamos que:
S = p(a) v ›x 5 p(x)
entonces tenemos que :
({0, 1}, {p(0) = V, p(1) = F}, (), {0})
es un modelo para S, pero S no tiene modelos de Herbrand ya que sólo existen las
interpretaciones de Herbrand siguientes :
({a}, {p(a) = V}, { }, { })
({a}, {p(a) = F}, { }, { })
y ninguna de ellas es un modelo para A.
Consideremos la construcción de un cuadro semántico para el conjunto de
cláusulas. Recordar que el conjunto de cláusulas es realmente una matriz cuantificada
universalmente :
A = œx1 ... œxnM(x1, ... , xn)
Podemos construir un cuadro semántico instanciando los cuantificadores universales:
A, M(t1, ... , tn)
donde los términos ti son considerados como términos fundamentales que ya
sucedieron en la fórmula, o sea, que son términos del Universo de Herbrand. Lo que
permanece es utilizar las reglas-" y las reglas-$ para descomponer la matriz en
cláusulas y luego en literales fundamentales:
A, D1, ... , Dn
Si la trayectoria no cierra, una instanciación posterior de la fórmula A cuantificada
eventualmente agrega un nuevo conjunto de literales fundamentales al nodo más
inferior en la trayectoria y así sucesivamente. Es fácil de ver que estos conjuntos de
literales de la base de Herbrand forman un conjunto de Hintikka y que un modelo de
Herbrand puede ser definido a partir de ellos.
Inversamente, si el cuadro cierra, cuando descomponemos una cláusula
fundamental utilizando reglas-$:
U, D1 w ... w Dk
⇓ ⇓
U, D1 .....
x ⇓
U, Dk
x
obtenemos un conjunto de fórmulas no satisfechas, lo cual implica que U, D1w ..w Dk
no está satisfecho donde D1 w ... w Dk es una cláusula fundamental. Por inducción,
podemos obtener un conjunto no satisfecho de cláusulas fundamentales. Esto último
es un bosquejo de un teorema extremadamente importante, el denominado Teorema
de Herbrand.
Formas Clausales
206
Teorema 6.4.7 (Herbrand) Si un conjunto de cláusulas S no está cumplimentado
entonces algún conjunto finito de cláusulas
fundamentales de S tampoco está cumplimentado
(satisfecho).
Por ejemplo, la siguiente fórmula:
A = 5 [œx(p(x) | q(x)) | (œx p(x) | œx q(x))]
transformada en un conjunto de cláusulas :
5 px w qx, py, 5 qa
bajo la sustitución :
{x ← a, y ← a}
obtenemos el siguiente conjunto de cláusulas fundamentales :
5 pa w qa, pa, 5 qa
y una aplicación de las reglas-$ da el par de conjuntos no cumplimentados de fórmulas
:
{5 pa , pa , 5 qa} , {qa , pa, 5 qa}
De esta forma la fórmula A original no es cumplimentada.
Usualmente, una simple sustitución no es suficiente para crear un conjunto de
cláusulas fundamentales no satisfechas. Si S es:
pf(x)a w pyg(a), 5 pf(f(a))z
la sustitución siguiente :
{x ← f(a), y ← f(f(a)), z w a}
nos dará el siguiente conjunto de cláusulas fundamentales (ground) :
G1 = pf(f(a))a w pf(f(a))g(a)
G2 = 5 pf(f(a))a
y la siguiente sustitución :
{x ← f(a), y ← f(f(a)), z ← g(a)}
obteniendo las siguientes cláusulas fundamentales :
G1 = pf(f(a))a w pf(f(a))g(a)
G3 = 5 pf(f(a))g(a)
El teorema de Herbrand nos da la herramienta necesaria para definir un
procedimiento eficiente de semi-decisión para la validez de las fórmulas en el cálculo
de predicados:
Formas Clausales
207
* Negar la fórmula.
* Transformarla en forma clausal.
* Generar un conjunto finito de cláusulas fundamentales.
* Controlar si el conjunto de cláusulas fundamentales no está
cumplimentado o satisfecho.
Las dos primeras etapas son triviales y la última no es difícil debido a que en el
caso de cláusulas fundamentales, cualquier procedimiento de decisión conveniente
para el cálculo proposicional puede ser utilizado tratando cada fórmula atómica
fundamental distinta como una letra proposicional distinta. Por ejemplo: p(a, f(a)) y 5
p(a, f(a)) se oponen en cualquier interpretación y p(a, f(a)) y p(b, f(a)) pueden estar
dando siempre valores de verdad diferentes en una interpretación de Herbrand. De
este modo, si una tabla de verdad o cuadro semántico proposicional descubre un
modelo para :
(q w r) v (5 q w r)
entonces existe un modelo para :
(p(a, f(a)) w p(b, f(a))) v (5 p(a, f(a)) w p(b, f(a)))
incluyendo en la Base de Herbrand átomos fundamentales que corresponden a letras
proposicionales dando el valor V en el modelo proposicional. En este ejemplo,
obtenemos : v(q) = F, v(r) = V, con lo cual decimos que el subconjunto de la Base de
Herbrand : {p(b, f(a))} es un modelo para el conjunto de cláusulas fundamentales.
Desafortunadamente, aún no existe un modo eficiente de generación de cláusulas
fundamentales. Existen mayores avances teóricos que los necesarios y que serán
objeto de estudio en las próximas secciones.
6.5.- RESOLUCIÓN FUNDAMENTAL (GROUND)
Combinando la teoría de resolución para el cálculo proposicional con el
teorema de Herbrand, podemos obtener un procedimiento de refutación completo para
el cálculo de predicados, denominado Resolución Fundamental (Ground).
Teorema 6.5.1: El resolvente C es satisfecho si y solo si las cláusulas padres C1 y
C2 son mutuamente satisfechas.
Demostración:Ya que C1 y C2 son satisfechos, también lo serán bajo una
interpretación de Herbrand H. Sea B un subconjunto de la base
de Herbrand que define H. Recalquemos que ello significa :
B = {p(c1, ... , ck) * vH(p(c1, ... , ck)) = V}
Obviamente, o l 0 B o lc
0 B para cualquier literal fundamental en el Universo
de Herbrand de un conjunto de cláusulas, en particular, para el literal l sobre el cual C1
y C2 se oponen. Si l 0 B, entonces lc
no puede ser un elemento de B ya que ambos no
pueden evaluar la verdad.
De este modo, para que C2 sea satisfecha bajo la interpretación H, debe existir
algún otro literal l' 0 C2 tal que l' 0 B. Por construcción del resolvente C usando la
regla de resolución, l' 0 C , tal que v(C) = V, o sea que, H es un modelo para C.
Obtenemos un argumento simétrico si tenemos lc
0 B.
Formas Clausales
208
Regla de Resolución Fundamental
Sean C1, C2 cláusulas fundamentales, tal que l 0 C1, lc
0 C2, C1, C2 son denominados
como las cláusulas de oposición y para oponerse sobre los literales
complementarios l, lc
, C, el resolvente de C1 y C2, es la cláusula :
Res(C1, C2) = (C1 - {l}) c (C2 - {lc
})
C1 y C2 son las cláusulas padres de C.
Final de la Regla
Inversamente, si C es satisfecho, también es satisfecho en una interpretación
Herbrand, H definida por un subconjunto B de la base de Herbrand. Para algún literal l'
0 C, v(l') = V tal que l' 0 B. Pero por construcción tenemos que, l' 0 C1 o l' 0 C2 (o
ambos) y de este modo v(C1) = V o v(C2) = V. Supongamos que l' 0 C1. Por
construcción, ninguno de los literales complementarios opositores l, lC
está en C. De
este modo podemos extender el subconjunto de la base de Herbrand definiendo la
interpretación H a lo siguiente:
B' = B c {lC
}
En esta interpretación, v(lC
) = V, tal que v(C2) = V. Ya que l' 0 B f B', C1 es también
satisfecho en B', tal que C1 y C2 son satisfacidos mutuamente en la interpretación de
Herbrand definida por B'. Es posible un argumento simétrico al mencionado
anteriormente si l' 0 C2.
&
El procedimiento de resolución fundamental está definido como el
procedimiento de resolución en el cálculo proposicional es completo y sólido.
Teorema 6.5.2:La resolución fundamental es un procedimiento de refutación completo
y sólido para el cálculo de predicados.
6.6.- SUBSTITUCIÓN
Hemos estado utilizando hasta ahora el concepto de substitución de términos
por variables de una manera intuitiva. Ahora definiremos formalmente lo que es la
substitución, y que es de importancia para el desarrollo de la resolución general.
Definición 6.6.1: Una substitución (de términos por variables) es un conjunto de la
siguiente forma:
{x1 ← t1 , ... , xn ← tn}
donde cada xi es una variable distinta y cada ti es término que es diferente a la
correspondiente variable xi.
Las letras griegas minúsculas:
8, :, F, 2
Formas Clausales
209
pueden ser utilizadas para indicar substituciones.
Definición 6.6.2: Una expresión es un término, un literal, una cláusula o un
conjunto de cláusulas. Sea E una expresión y :
2 = {x1 ← t1 , ... , xn ← tn}
una substitución. Una instancia E2 de E es obtenida reemplazando simultáneamente
cada ocurrencia de xi en E por ti.
Ejemplo :
E = p(x) w q(f(y))
2 = {x ← y , y ← f(a)}
E2 = p(y) w q(f(f(a)))
La palabra "simultáneamente" en la definición clarifica que no debemos sustituir y por
x para obtener p(y) y luego f(a) por y, para obtener :
p(f(a)) w q(f(f(a)))
Definición 6.6.3: Sea
2 = {x1 ← t1 , ... , xn ← tn}
y
F = {y1 ← s1 , ... , yk ← sk}
dos substituciones. Sean X e Y los conjuntos de variables substituidas por 2 en F,
respectivamente. 2F, es la composición de 2 y F es la substitución de:
2F = {xi w tiF * xi 0 X, xi … tiF} c {yj w sj * yj 0 Y, sj ó X}
En otras palabras: aplicar la substitución F a los términos ti de 2, obteniendose de este
modo que las substituciones resultantes no colapsen a xi ← xi, y añadir las
substituciones a partir de F, cuyas variables no aparecerán en 2.
Ejemplo:
2 = {x ← f(y), y ← f(a), z w u}
F = {y ← g(a), u ← z, v ← f(f(a))}
E = p(u, v, x, y, z )
E2 = p(u, v, f(y), f(a), u)
(E2)F = p(z, f(f(a)), f(g(a)), f(a), z)
2F = {x ← f(g(a)), y ← f(a), u ← z, v ← f(f(a))}
E(2F) = p(z, f(f(a)), f(g(a)), f(a), z}
donde hemos borrado :
Formas Clausales
210
* {z ← u}F = {z ← z} que corresponde a una substitución vacía.
* {y← g(a)} ya que las ocurrencias originales" de y han sido
reemplazadas por f(a) y las "nuevas' ocurrencias de y han sido
reemplazadas por g(a) a partir de F.
Notar que E(2F) = (E2)F. Esta igualdad por lo general es verdadera.
Lema 6.6.4: Sea E una expresión y 2, F substituciones. Entonces:
E(2F) = (E2)F
La composición de substituciones cumple con la propiedad asociativa.
Lema 6.6.5:
2(F8) = (2F)8
6.7.- UNIFICACIÓN
Las siguientes dos cláusulas generales:
p(f(x), g(y))
5 p(f(f(a)), g(z))
no pueden ser resueltas directamente debido a que no se oponen entre ellas. Sin
embargo, bajo la substitución siguiente:
{x ← f(a), y ← f(g(a)), z ← f(g(a))}
obtenemos la siguientes dos cláusulas opositoras:
p(f(f(a)), g(f(g(a))))
5 p(f(f(a)), g(f(g(a))))
Obviamente, esta no es la única substitución que transforma estas dos cláusulas
generales en cláusulas fundamentales opuestas. Otra substitución simple puede ser la
siguiente:
========================
Formas Clausales
211
6.8.- PROBLEMAS CAPITULO VI
1.- Construya una derivación formal para demostrar que los siguientes argumentos
son válidos:
a) Todos los profesores de Matemáticas han estudiado Cálculo.
Ana es profesora de matemáticas.
Por lo tanto Ana ha estudiado Cálculo.
b) En el triángulo XYZ no hay dos ángulos de igual medida.
Si un triángulo tiene dos lados de igual longitud, entonces es un
isósceles.
Si un triángulo es isósceles, entonces tiene dos ángulos de igual
medida.
Por lo tanto, el triángulo XYZ no tiene dos lados iguales.
c) Ninguna estudiante de penúltimo o último año está en inscripta en una
clase de Educación Física.
María está inscripta en una clase de Educación física
Por lo tanto, María no es una estudiante de último año.
d) œx (P(x) ⇒ Q(x))
œx (Q(x) ⇒ R(x))
ˆœx (P(x) ⇒ R(x))
e) œx [ P(x) ⇒ (Q(x) v R(x))]
œx [ P(x) v S(x)]
ˆœx [ R(x) v S(x)]
2.- Las siguientes reglas nos permiten hacer derivaciones en cálculo de
predicados:
TABLA 2
REGLAS DE INFERENCIA PARA CÁLCULO DE PREDICADOS
œx A /> SX
t A Particularización Universal
A /> œx A Generalización Universal
SX
t A />› x A Generalización Existencial
› x A /> SX
b
Particularización Existencial
Junto a estas reglas es importante tener en cuenta al Teorema de la
Deducción en donde, para demostrar una implicación lógica A /> B se utiliza el
siguiente argumento:
a) Se supone A, y se añade A a las premisas
b) Se demuestra B, empleando A, si es necesario
Formas Clausales
212
c) Se prescinde de A, lo que significa que A no es necesariamente
verdadero, y se concluye que A /> B
3.- Demuestre la validez de los siguientes argumentos:
a) Juan ha obtenido una beca para continuar sus estudios.
Toda persona que obtiene una beca para estudiar es afortunada.
ˆ Existe una persona afortunada
b) Las personas conscientes de los riesgos del colesterol evitan comer
embutidos
Alguien es consciente de los riesgos del colesterol
ˆ Hay una persona que evita comer embutidos
c) Si un número es real y no nulo, entonces su cuadrado es positivo
-3 es real y no nulo
ˆ El cuadrado de un número por lo menos es positivo
d) Todos los enteros son números racionales
Hay números que no son racionales
ˆ Existen números que no son enteros
4.- Para las siguientes fórmulas probar ya sea que es válida o dar una
interpretación que la falsifique dentro de cierto dominio:
(a) œxœyœz (p(x, x) v (p(x, z) ⇒ (p(x, y) w p(y, z)))) ⇒ ›xœz p(y, z)
(b) 5((œx p(x) ⇒ œx q(x)) ⇒ œx(p(x) ⇒ q(x)))
5.- Probar que las siguientes fórmulas (Axiomas dentro del Sistema Axiomático de
Hilbert) son siempre válidas:
(a) œxA(x) ⇒ A(a)
(b) œx(A ⇒ B(x)) ⇒ (A ⇒ œx B(x))
(c) A(a) ⇒ ›x A(x)
6.- Probar si es factible deducir las siguientes fórmulas a partir de algunos de los
axiomas de l problema 4 o de alguna suposición válida o inválida:
(a) œx(p(x) ⇒ q) / œx(5q ⇒ 5p(x)) (b) œxp(x) ⇒ ›x p(x)
(c) (p ⇒ œx q(x)) ⇒ œx(p ⇒ q(x))
(d) œx(p(x) ⇒ q) / (›x p(x) ⇒ q)
(e) œx(p(x) ⇒ q(x)) ⇒ (›x p(x) ⇒ ›x q(x))
7.- Transformar las siguientes fórmulas de predicado a una forma clausal:
(a) œx(p(x) ⇒ ›y q(y))
(b) ›x(5 ›y p(y) ⇒ ›z(q(z) ⇒ r(x))
(c) œxœy(›z p(z) v ›u(q(x, u) ⇒ ›v q(y, v))
Formas Clausales
213
8.- Transformar las fórmulas de predicado del problema 19 del capitulo 5 a una
forma clausal.
9.- Transformar las fórmulas de predicado del problema 1 a una forma clausal.
6.9.- BIBLIOGRAFÍA RECOMENDADA
1.- INTRODUCTION TO KNOWLEDGE BASE SYSTEMS
Richard Frost - Macmillan Publishing Co. - 1986
2.- LÓGICA PARA COMPUTACIÓN
Francisco S. Naishtat - EUDEBA - 1986
3.- LOGICA, PROGRAMACION E INTELIGENCIA ARTIFICIAL
Robert Kowalski - DIAZ DE SANTOS S.A. - 1986
4.- LOGIC FOR COMPUTER SCIENCE
Jean H. Gallier - JOHN WILEY & SONS Inc. - 1987
5.- DISCRETE MATHEMATICAL STRUCTURES TO COMPUTER SCIENCE
J.P. Tremblay & R. Manohar - McGRAW HILL - 1988
6.- INTRODUCTION TO FORMAL LOGIC
Patrick Suppes - PRENTICE HALL - 1990
7.- AXIOMATIC SET THEORY AND FIRST ORDER LOGIC
Patrick Suppes - PRENTICE HALL - 1988
8.- AN INTRODUCTION OF FIRST ORDER PREDICATE LOGIC
J.P. Tremblay - McGRAW HILL - 1989
9.- INTRODUCTION TO FORMAL LOGIC
S.V. Yablonsky - MIR PUBLISHERS - 1989
10.- MATHEMATICAL LOGIC FOR COMPUTER SCIENCE
M.Ben-Ari - PRENTICE HALL - 1993
11.- FUZZY SETS, UNCERTAINTY, AND INFORMATION
G.J. Klir - T.A.Folger - PRENTICE HALL - 1993
12.- MATEMATICAS DISCRETAS
R.Johnsonbaugh - MACMILLAN PUBLISHING CO. - 1994
13.- MATEMATICAS DISCRETAS
K.Ross - C.R.B.Wright - PRENTICE HALL - 1990
14.- ESTRUCTURAS DE MATEMATICAS DISCRETAS PARA LA COMPUTACION
B.Kolman - R.C.Busby - PRENTICE HALL - 1989
15.- LOGIC AND ITS APPLICATIONS
E.Burke - E. Foxley - PRENTICE HALL - 1996
16. THE ESSENCE OF LOGIC
John Kelly - PRENTICE HALL - 1997
==========================

Más contenido relacionado

PDF
Tabla de integrales basicas
PPTX
Rectas en el espacio
PPTX
Limites laterales
PDF
Matemáticas básica 2 vectores y matrices con números complejos
PDF
DEMIDOVICH problemas y ejercicios de Analisis Matematico
PPTX
COORDENADAS POLARES
PDF
Identidades trigonometricas
PPTX
Funcion cuadratica clase n°1 prof. cristian maldonado
Tabla de integrales basicas
Rectas en el espacio
Limites laterales
Matemáticas básica 2 vectores y matrices con números complejos
DEMIDOVICH problemas y ejercicios de Analisis Matematico
COORDENADAS POLARES
Identidades trigonometricas
Funcion cuadratica clase n°1 prof. cristian maldonado

La actualidad más candente (20)

PDF
tabla-de-propiedades-del-logaritmo-potencias-y-raices
PDF
Problemas Resueltos-plano-inclinado
PDF
Solucionario analisis matematico I
PPT
Metodos numericos2
PDF
Ejercicios resueltos de geometria analitica del espacio
PPTX
Regla de cramer 3x3
PDF
Centro gravedad-centroide
PDF
-sistemas (1)
DOCX
TRABAJO Y POTENCIA - EJERCICIOS
PDF
curvas de nivel cap 7
PDF
Leyes De Lógica
PPT
solido de revolución
PDF
Examenes resueltos algebra lineal
PPTX
Limite Infinito y Limite en el infinito
PDF
Matemática Discreta y Lógica/Fanjul Roberto
PDF
Problemas resueltos cap 4 fisica alonso & finn
PPT
El método de la secante y secante modificado
PPTX
Interpolacion Lineal
PPTX
Raíces evidentes
PDF
Taller logica conjuntos (2)
tabla-de-propiedades-del-logaritmo-potencias-y-raices
Problemas Resueltos-plano-inclinado
Solucionario analisis matematico I
Metodos numericos2
Ejercicios resueltos de geometria analitica del espacio
Regla de cramer 3x3
Centro gravedad-centroide
-sistemas (1)
TRABAJO Y POTENCIA - EJERCICIOS
curvas de nivel cap 7
Leyes De Lógica
solido de revolución
Examenes resueltos algebra lineal
Limite Infinito y Limite en el infinito
Matemática Discreta y Lógica/Fanjul Roberto
Problemas resueltos cap 4 fisica alonso & finn
El método de la secante y secante modificado
Interpolacion Lineal
Raíces evidentes
Taller logica conjuntos (2)
Publicidad

Destacado (20)

PDF
Libro logica
KEY
Presentacion lógica para la asignatura Lógica y Computabilidad
PDF
Matematica Discreta
PDF
Matemáticas Discreta y Combinatoria Ralph P. Grimaldioria
PDF
Logica computacional t
PDF
Presentacion tc 2010 11
DOCX
Historia de la matemática
DOCX
1 logica computacional kowalski espanol
PPTX
organización de datos y análisis de la varianza
PDF
Logica computacional
PPT
Proposiciones logicas
PDF
Notas de sistemas operativos/Saade Sergio
PPTX
Razonamiento clínico en kinesiología intro
DOCX
Métodos de demostración y silogismo
PDF
Clínica Accesibilidad Web / Lide-ar
PDF
Matematica discreta
DOCX
1 teste finalizadooooo gabarito
PPTX
proposiciones lógicas -matematica basica
DOCX
Metodos de demostracion
PPT
Concepto De Matriz, Tabla de verdad y logica matematicas
Libro logica
Presentacion lógica para la asignatura Lógica y Computabilidad
Matematica Discreta
Matemáticas Discreta y Combinatoria Ralph P. Grimaldioria
Logica computacional t
Presentacion tc 2010 11
Historia de la matemática
1 logica computacional kowalski espanol
organización de datos y análisis de la varianza
Logica computacional
Proposiciones logicas
Notas de sistemas operativos/Saade Sergio
Razonamiento clínico en kinesiología intro
Métodos de demostración y silogismo
Clínica Accesibilidad Web / Lide-ar
Matematica discreta
1 teste finalizadooooo gabarito
proposiciones lógicas -matematica basica
Metodos de demostracion
Concepto De Matriz, Tabla de verdad y logica matematicas
Publicidad

Similar a Logica Computacional/Fanjul Roberto (20)

PDF
apuntes.de.logica.pdf Presenta información importante para la asignatura. Abo...
PDF
Material Complementario Unidad III.pdf
PDF
Logica teoria
PDF
libro de Tomo I - RAZONAMIENTO LOGICO.pdf
DOC
Tema III . Lógica
PDF
IntroduccionGeneral2002.pdf
PDF
1...1 noam chomsky (gramatica generativa, automata de pila, etc.)
PDF
texto abduccion, razonamientos. INTRODUCCION.pdf
DOC
Lógica Matematica-Proposicional-Simbólica
PDF
Carnap. la superación de la metafísica mediante el análisis lógico del lengua...
PDF
Apuntes cortos sobre Lógica proposicional.pdf
PDF
Modulo matematicas y estadistica grado 8
PPT
Universidad Nacional De Cajamarca2
PDF
Utp sirn_s9_logica difusa
PDF
Argumentos y falacias.
PDF
Utp 2015-2_sirn_s9_logica difusa
PDF
Maccormick b (1)
PPT
El Silogismo CategóRico
DOC
Estructura juan c suarez
PDF
A QUE VIENE LA LOGICA
apuntes.de.logica.pdf Presenta información importante para la asignatura. Abo...
Material Complementario Unidad III.pdf
Logica teoria
libro de Tomo I - RAZONAMIENTO LOGICO.pdf
Tema III . Lógica
IntroduccionGeneral2002.pdf
1...1 noam chomsky (gramatica generativa, automata de pila, etc.)
texto abduccion, razonamientos. INTRODUCCION.pdf
Lógica Matematica-Proposicional-Simbólica
Carnap. la superación de la metafísica mediante el análisis lógico del lengua...
Apuntes cortos sobre Lógica proposicional.pdf
Modulo matematicas y estadistica grado 8
Universidad Nacional De Cajamarca2
Utp sirn_s9_logica difusa
Argumentos y falacias.
Utp 2015-2_sirn_s9_logica difusa
Maccormick b (1)
El Silogismo CategóRico
Estructura juan c suarez
A QUE VIENE LA LOGICA

Último (20)

PPTX
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
PDF
Manual del Gobierno Escolar -MINEDUC.pdf
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
DOC
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
PDF
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
PDF
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
PDF
Jodorowsky, Alejandro - Manual de Psicomagia.pdf
PDF
Estadística Aplicada a la Psicología y Ciencias de la Salud Ccesa.pdf
PDF
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PDF
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
PDF
KOF-2022-espanol-mar-27-11-36 coke.pdf jsja
PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
DOCX
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - CUARTO GRADO.docx
PDF
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PDF
ciencia_tecnologia_sociedad Mitcham Carl. (1994)..pdf
DOCX
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - TERCER GRADO.docx
PDF
NOM-020-SSA-2025.pdf Para establecimientos de salud y el reconocimiento de l...
PDF
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
Manual del Gobierno Escolar -MINEDUC.pdf
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
Jodorowsky, Alejandro - Manual de Psicomagia.pdf
Estadística Aplicada a la Psicología y Ciencias de la Salud Ccesa.pdf
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
KOF-2022-espanol-mar-27-11-36 coke.pdf jsja
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - CUARTO GRADO.docx
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
ciencia_tecnologia_sociedad Mitcham Carl. (1994)..pdf
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - TERCER GRADO.docx
NOM-020-SSA-2025.pdf Para establecimientos de salud y el reconocimiento de l...
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf

Logica Computacional/Fanjul Roberto

  • 2. LÓGICA COMPUTACIONAL INDICE CAPITULO I - SINTAXIS DEL LENGUAJE FORMAL 1 1.- LOS ORÍGENES DE LA LÓGICA MATEMÁTICA 1 1.1.- LENGUAJE FORMAL (SINTAXIS Y SEMÁNTICA) 3 1.1.1.- ALGUNOS ARGUMENTOS LÓGICOS IMPORTANTES 6 1.2.- MATERIAL SIMBÓLICO O ALFABETO DEL LENGUAJE 8 1.2.1.- VARIABLES Y CONSTANTES PROPOSICIONALES 9 1.2.2.- CONECTORES PROPOSICIONALES 10 1.2.3.- SÍMBOLOS DE PUNTUACIÓN 11 1.2.4.- REGLAS DE PRIORIDAD 12 1.3.- CADENAS DE CARACTERES, LONGITUD, CONCATENACIÓN 12 1.4.- OCURRENCIA DE UNA CADENA, SUB CADENAS, REEMPLAZO, SUBSTITUCIÓN 13 1.4.1.- NOCIÓN DE APARICIÓN (OCURRENCIA) 13 1.4.2.- REEMPLAZOS 14 1.4.3.- SUBSTITUCIÓN 14 1.4.4.- SUBSTITUCIÓN SIMULTANEA 14 1.5.- EL LENGUAJE DEL CALCULO DE PROPOSICIONES O CONJUNTO F DE EXPRESIONES BIEN FORMADAS (EBF) 15 1.5.1.- REGLAS DE BUENA FORMACIÓN 15 1.5.2.- RAZONAMIENTO POR RECURRENCIA SOBRE LA FORMACIÓN DE LAS EXPRESIONES 16 1.5.3.- NO AMBIGÜEDAD DEL LENGUAJE CONSTRUIDO 17 1.5.4.- DECIDIBILIDAD DEL CONJUNTO F DE LAS EXPRESIONES BIEN FORMADAS 17 1.6.- SUB FÓRMULAS BIEN FORMADAS 18 1.7- CONVENCIONES PARA ABREVIAR LA ESCRITURA 19 1.8- OPERADORES O CONECTIVOS MONODIADICOS 19 1.9.- OPERADORES O CONECTIVOS DIÁDICOS 20 1.10.- OPERADORES O CONECTIVOS TRIÁDICOS 21 1.11.- PROBLEMAS CAPITULO 1 22 I
  • 3. CAPITULO II - SEMANTICA DEL LENGUAJE FORMAL 26 2.1.- NOCIÓN GENERAL 26 2.2.- DEFINICIÓN ALGEBRAICA DE LA SEMÁNTICA DEL LENGUAJE PROPOSICIONAL 26 2.2.1.- DISTRIBUCIÓN DE LOS VALORES DE VERDAD (D.D.V.V.) 26 2.2.2.- EVALUACIÓN DE LAS EBF 26 2.3.- TABLAS DE VERDAD 30 2.4.- DEFINICIÓN DE LOS CONECTIVOS LÓGICOS 32 2.4.1.- FORMULAS PROPOSICIONALES 35 2.4.2.- INTERPRETACIONES BOOLEANAS 37 2.5.- TAUTOLOGÍA, CONTRADICCIÓN E INDEFINIDOS 39 2.6.- SATISFACTORIO , VALIDEZ Y CONSECUENCIA 47 2.7.- LÓGICA TRIVALENTE (LUKASIEWICZ) 47 2.8.- NOCIÓN GENERAL DE SISTEMAS AXIOMÁTICOS 48 2.8.1.- PROPIEDADES DE LOS SISTEMAS AXIOMÁTICOS 49 2.9.- LA LÓGICA PROPOSICIONAL COMO UN SISTEMA AXIOMÁTICO 49 2.9.1.- SISTEMAS GENTZEN 50 2.9.2.- SISTEMA AXIOMÁTICO DE RUSSEL 51 2.9.3.- SISTEMA AXIOMÁTICO DE HILBERT 53 2.10.- PROBLEMAS CAPITULO 2 56 CAPITULO III - DECISION EN EL LENGUAJE FORMAL 61 3.1.- NOCIÓN GENERAL 61 3.2.- LA DECISIÓN POR LAS FORMAS NORMALES 61 3.2.1.- LA TRANSFORMACIÓN DE UNA EBF EN FORMA NORMAL 62 3.2.2.- INTERPRETACIÓN DE LAS FORMAS NORMALES Y DECISIÓN 64 3.3.- ENUNCIADOS Y FORMAS DE ENUNCIADOS 69 3.4.- EL RAZONAMIENTO 71 3.4.1.- FORMAS DE RAZONAMIENTO Y FORMAS DE ENUNCIADOS 74 3.4.2.- LA DECISIÓN EN EL RAZONAMIENTO 77 3.5.- LAS IMPLICACIONES Y DERIVACIONES LÓGICA 77 3.5.1- IMPLICACIONES LÓGICAS 78 3.5.2.- SISTEMAS PARA DERIVACIONES 80 3.5.3.- TEOREMA DE LA DEDUCCIÓN 81 3.6.- LA DECISIÓN POR CUADRO SEMÁNTICO 83 3.7.- LA DECISIÓN POR REDUCCIÓN AL ABSURDO 88 3.8.- PROBLEMAS CAPITULO II 94 II
  • 4. CAPITULO IV - ALGEBRA DE BOOLE COMO UN SISTEMA AXIOMÁTICO 98 4.1.- ÁLGEBRA DE BOOLE COMO UN SISTEMA AXIOMÁTICO 98 4.1.1.- CONCEPTO 98 4.1.2.- PRINCIPIO DE DUALIDAD EN EL ÁLGEBRA DE BOOLE 99 4.1.3.- TEOREMAS EN EL ÁLGEBRA DE BOOLE 99 4.1.4.- TABLAS DE VERDAD Y REPRESENTACIÓN CIRCUITAL 101 4.1.5.- LAS FUNCIONES EN EL ÁLGEBRA DE BOOLE Bn 102 4.1.6.- EXPRESIONES EN EL ÁLGEBRA DE BOOLE Bn 102 4.2.- IMPLEMENTACIÓN DE FUNCIONES BOOLEANAS 105 4.3.- MAPA DE KARNAUGH 111 4.4.- MÉTODO QUINE – MCCLUSKY 121 4.4.1.- ETAPAS EN LA MINIMIZACIÓN DE QUINE – MCCLUSKY 122 4.5.- PROBLEMAS CAPITULO IV 127 CAPITULO V - CALCULO DE PREDICADOS 134 5.1.- INTRODUCCIÓN 134 5.1.1.- REGLAS DE INFERENCIA 134 5.1.2.- LA LÓGICA TIENE NOTACIÓN TRADICIONAL 135 5.1.3.- CUANTIFICADORES DETERMINAN QUE ELEMENTOS SON CIERTOS 138 5.1.4.- VOCABULARIO DE LA LÓGICA DE PREDICADO 139 5.2.- ESTRUCTURA RELACIONAL DE UNA LÓGICA DE PREDICADO 141 5.2.1.- RELACIONES Y PREDICADOS 142 5.3.- SINTAXIS DE LENGUAJES DE PREDICADOS DE PRIMER ORDE 144 5.3.1.- FORMULAS DE PREDICADOS 147 5.4.- SEMÁNTICA DEL LENGUAJE DE PREDICADOS DE 1er ORDEN 150 5.4.1.- INTERPRETACIONES 150 5.4.2.- VALUACIONES (VALORIZACIÓN) 154 5.4.3.- VALORES SEMÁNTICOS/NOTACIONES 155 5.4.4.- CUMPLIMENTACIÓN DE FORMULAS 156 5.4.5.- VERDAD Y MODELOS 157 5.5.- EQUIVALENCIA LÓGICA Y SUBSTITUCIÓN 158 5.6.- CUADROS SEMÁNTICOS 163 5.7.- PROBLEMAS CAPITULO V 173 III
  • 5. CAPITULO VI - FORMAS CLAUSALES 178 6.1.- DERIVACIÓN: Generalización y Particularización 178 6.1.1.- PARTICULARIZACIÓN UNIVERSAL 178 6.1.2.- GENERALIZACIÓN UNIVERSAL 180 6.1.3.- TEOREMA DE LA DEDUCCIÓN Y LA GENERALIZACIÓN UNIVERSAL 182 6.1.4.- ELIMINACIÓN DE LOS CUANTIFICADORES UNIVERSALES 183 6.1.5.- GENERALIZACIÓN EXISTENCIAL 186 6.1.6.- PARTICULARIZACIÓN EXISTENCIAL 188 6.2.- SISTEMA DE GENTZEN: PRUEBAS DEDUCTIVAS 190 6.3.- FORMAS CLAUSALES 197 6.3.1.- INTRODUCCIÓN 197 6.3.2.- FORMA NORMAL PRENEX 198 6.4.- MODELOS DE HERBRAND 203 6.5.- RESOLUCIÓN FUNDAMENTAL (GROUND) 208 6.6.- SUBSTITUCIÓN 209 6.7.- UNIFICACIÓN 210 6.8.- PROBLEMAS CAPITULO VI 211 6.9.- BIBLIOGRAFÍA RECOMENDADA 213 IV
  • 6. Sintaxis del Lenguaje Formal 1 LÓGICA COMPUTACIONAL CAPITULO I SINTAXIS DEL LENGUAJE FORMAL En nuestra práctica diaria, cuando platicamos, escuchamos una conversación, vemos una película, leemos, etc., de acuerdo con lo que vemos u oímos, asentimos afirmando o negando. Si estamos de acuerdo, lo vemos como Alógico@; si lo vemos como algo absurdo o disparatado, expresamos con cierta molestia: ¡eso es Ailógico@ !. Situación esta que nos lleva a formularnos las siguientes preguntas: )qué nos permite considerar un hecho, proposición, idea como Alógico@ o Ailógico@ 1.- LOS ORÍGENES DE LA LÓGICA MATEMÁTICA El estudio de la lógica fue iniciado por los antiguos griegos cuyo sistema educativo recalcaba la competencia en la filosofía y la retórica. La lógica fue utilizada para formalizar la deducción, la derivación de nuevas declaraciones verdaderas a partir de suposiciones. Dado un conjunto de premisas, presumiblemente aceptadas por todos, la deducción de acuerdo a las reglas de la lógica, asegura que también la conclusión es verdadera. La retórica, el arte del buen hablar en público, incluye el estudio de la lógica que define las reglas que deben ser practicadas por todas las personas en todos lados en un debate público. Las reglas de la lógica fueron clasificadas y denominadas. Una de las más famosas reglas de la lógica, el silogismo, se presenta de la siguiente forma: 1.- Todos los hombres son mortales. 2.- X es un hombre. 3.- Por lo tanto, X es un mortal. Si suponemos que las premisas son verdaderas, las dos primeras oraciones, entonces la Ley del Silogismo nos asegura que la tercera oración es verdadera indepen- dientemente de la identidad de X. En particular si X es un hombre determinado tal como Sócrates, podemos deducir que Sócrates es mortal. El uso de una notación imprecisa, tal como lo es un lenguaje natural, significa que el uso descuidado de la lógica puede llevarnos a declarar que ciertas declaraciones falsas son verdaderas, o a declarar que una declaración o proposición es verdadera aún cuando dicha afirmación de verdad no necesariamente dependa de las premisas. Un ejemplo adecuado al anterior comentario, es el siguiente silogismo dado por Smullyan:
  • 7. Sintaxis del Lenguaje Formal 2 1.- Algunos automóviles hacen ruido. 2.- Mi automóvil es algún automóvil. 3.- Por lo tanto, mi automóvil hace ruido. Sin embargo, aún un cuidadoso uso de la lógica puede llevarnos a situaciones inexplicables, tales como las denominadas paradojas, las que son declaraciones auto-contradictorias. )Es la siguiente declaración S verdadera?. Esta oración es falsa. Si S es verdadera, entonces es cierto (verdadero) que la oración S es falsa. In- versamente, si S es falsa, entonces es una oración verdadera. Paradojas, tal como la Paradoja de Liar justamente nos muestra cuan difícil puede ser definir un sistema lógico. El marco filosófico de la lógica construida por los Griegos permanece intacto hasta nuestros días, lo que está demostrado a través del uso inalterable de las palabras griegas teorema y axioma. Sin embargo, hasta el siglo XIX, la lógica nunca supero a sus orígenes para convertirse en una herramienta científica, quizás debido a la falta de una notación simbólica apropiada. Aún más, desafortunadamente la familiaridad con la lógica no es más requerida en nuestro sistema educacional. Los matemáticos eventualmente revivieron el estudio de la lógica para formalizar el concepto de la demostración matemática. A medida de que las teorías matemáticas se hicieron cada vez más complejas, algunos matemáticos cuestionaron la legitimidad de todo el proceso deductivo. Una posible defensa de la deducción matemática es formalizar un sistema de lógica en el cual el conjunto de probables declaraciones o proposiciones es el mismo que el conjunto de las proposiciones verdaderas. En otras palabras, (i) no podemos probar declaraciones falsas, y (ii) si una declaración o pro- posición es un hecho verdadero, existe una demostración en algún lado esperando que algún matemático brillante la descubra. La investigación estimulada por este plan, denominado el Programa de Hilbert, dio como resultado un desarrollo, no justamente como un sistema lógico de acuerdo a la filosofía griega, sino como un conjunto extensivo de teoremas que caracterizan al sistema. La Lógica Matemática define sistema de lógica apropiados para estudiar las matemáticas y desarrolla la teoría matemática de estos sistemas. Incidentalmente, la esperanza de Hilbert fue destrozada cuando Gödel demostró que existen declaraciones verdaderas de la aritmética que no pueden ser probadas. La Lógica tradicional distingue tres entidades lógicas de complejidad creciente: el concepto, el juicio, el razonamiento. El concepto, como entidad ideal que representa a una realidad cualquiera, nada nos dice de esa realidad, se limita a mos- trarla. El concepto árbol, por ejemplo, cumple la función de aludir a la realidad árbol. Pero no afirma o niega algo del árbol, no se le atribuye o rechaza un predicado cu- alquiera. Esto último es precisamente lo que hace el juicio. Es decir vincula dos con- ceptos, uno sujeto, otro predicado, a través de un término relacionante, la cópula verbal es. El esquema de todo juicio afirmativo es: S es P donde S es el concepto sujeto, P es el concepto predicado y es el término que enlaza a ambos. Un ejemplo de juicio: El árbol es viejo.
  • 8. Sintaxis del Lenguaje Formal 3 Los razonamientos se construyen con juicios, así como los juicios se construyen con conceptos. Un ejemplo de razonamiento muy simple, es el siguiente: Todos los árboles son vegetales El Lapacho es un árbol El Lapacho es vegetal En esta primera parte trataremos principalmente con los juicios. Pero no los llamaremos juicios, pues esta palabra conserva un fuerte residuo psicológico, puede engañarnos al sugerirnos que estamos tratando a los juicios como procesos mentales. Emplearemos indistintamente las palabras proposición y enunciado para referirnos al juicio como realidad lógica, es decir como entidad formal y vacía de significado real. A menudo daremos un contenido significativo cualquiera a las proposiciones por razones didácticas, para facilitar la comprensión de algunos temas volviéndolos más intuibles. Pero la Lógica, ciencia de las formas puras del pensamiento, no necesita en principio recurrir a esas significaciones para su constitución. 1.1.- LENGUAJE FORMAL (SINTAXIS Y SEMÁNTICA) Cada lógica da lugar a un lenguaje (realmente un lenguaje formal) para realizar declaraciones acerca de los objetos y para realizar razonamientos acerca de las propiedades de esos objetos. La visualización de la lógica de esta forma es muy general y actualmente nos centralizamos en particular en los denominados objetos matemáticos, programas de computación y en estructuras de datos. Las declaraciones en un lenguaje lógico están construidas de acuerdo a un conjunto predefinido de reglas de formación (dependiendo del lenguaje) denominadas Reglas de Sintaxis. Uno puede preguntarse porque es necesario un lenguaje especial, y porque un lenguaje natural no es adecuado para llevar a cabo un razonamiento lógico. La primera razón es que cualquier lenguaje natural en general es muy rico en contenido y no puede ser descrito formalmente. La segunda razón, la cual es aún más seria, es que el significado de una oración en un determinado lenguaje natural es ambigüo, sujeto a diferentes interpretaciones dependiendo del contexto y de las suposiciones implícitas al lenguaje. Si el objeto bajo estudio es el de realizar argumentos precisos y rigurosos acerca de las afirmaciones y demostraciones, se requiere de un lenguaje preciso cuya sintaxis pueda describirse completamente con solo algunas reglas simples y cuya semántica pueda definirse una manera no ambigüa. Otro factor importante es el laconismo. Los lenguajes naturales tienden a ser verborrágicos, y aún las declaraciones matemáticas más simples se hacen excesivamente largas (y poco claras) cuando se expresan con estos tipos de lenguajes. Los lenguajes lógicos que definiremos contienen símbolos especiales usados para abreviar sintácticamente las construcciones del lenguaje. Un lenguaje lógico puede ser utilizado de diferentes formas. Por ejemplo, un lenguaje puede ser utilizado como un Sistema de Deducción; o sea para construir pruebas o refutaciones. Este uso del lenguaje lógico es conocido como la Teoría de la Comprobación. En este caso, se especifica un conjunto de hechos denominados axiomas y un conjunto de reglas de deducción (reglas de inferencia) y el objetivo es
  • 9. Sintaxis del Lenguaje Formal 4 determinar cuales son los hechos que se derivan de los axiomas y de las reglas de inferencia. Cuando utilizamos la lógica como un sistema de comprobación, no nos interesamos en el significado de las declaraciones que estamos manipulando, pero si estamos interesados en la distribución de estas declaraciones, y específicamente, en que pruebas o refutaciones pueden construirse. En este sentido, las declaraciones del lenguaje son visualizadas como hechos fríos, y las manipulaciones involucradas son puramente mecánicas, hasta el punto tal de que pueden ser realizadas por una computadora. Esto no significa que encontrar una prueba para una declaración no requiere creatividad, pero donde la interpretación de la declaración es irrelevante. El uso de la lógica es similar a la práctica de un juego. Se dan ciertos hechos y reglas, y se supone que los jugadores son perfectos, en el sentido de que ellos obedecen siempre a las reglas. Ocasionalmente puede suceder que siguiendo las reglas nos lleve a inconsistencias, en cuyo caso puede ser necesario revisar las reglas. Sin embargo, las declaraciones expresadas en un lenguaje lógico a menudo tienen un determinado significado. El segundo uso de un lenguaje formal es la de expresar declaraciones que reciben un significado cuando ellas poseen lo que se denomina una interpretación. En este caso, el lenguaje de la lógica es utilizado para formalizar propiedades de estructuras y determinar cuando una declaración es verdadera dentro de una determinada estructura o contexto. Este uso del lenguaje lógico o formal es denominado como la Teoría del Modelo. Uno de los aspectos interesantes de la teoría del modelo es que nos obliga a tener una definición precisa y rigurosa del concepto de verdad de la estructura. Dependiendo de la interpretación que uno posea en la mente, la verdad puede tener un significado bastante diferente. Por ejemplo, que una declaración sea verdad o falsa puede depender de sus parámetros. Una declaración verdadera bajo todas las interpretaciones de los parámetros es definida como válida. Una suposición matemática útil (y bastante razonable) es que la verdad de una declaración puede ser obtenida a partir de la verdad (o falsedad) de sus partes (sub declaraciones). Desde un punto de vista técnico, esto significa que la verdad de una declaración o proposición está definida por recursión de la estructura sintáctica de la proposición. La noción de verdad que hemos descrito (debida a Tarski) formaliza la anterior intuición, y es firmemente justificada en términos de los conceptos del álgebra y su correspondiente homomorfismo. Los dos aspectos descritos no son independientes y es la interacción entre la teoría de los modelos y la teoría de la comprobación lo que hace de la lógica una herramienta efectiva e interesante. Podemos decir que la teoría de los modelos y la de la comprobación forman una dupla en la que cada una individualmente se complementa con la otra. Para ilustrar este punto, consideremos el problema de encontrar un procedimiento para listar todas las proposiciones verdaderas en cierta clase de contexto. Puede ser que comprobando la verdad de las proposiciones requiera de una com- putación infinita. Más aún, si la clase de estructura puede ser contemplada por un conjunto finito de axiomas, podemos encontrar un procedimiento de comprobación que nos de la respuesta buscada. Inversamente, supongamos que poseemos un conjunto de axiomas y deseamos conocer si la teoría resultante (el conjunto de consecuencias) es consistente, en el sentido de que no obtenemos una proposición y su negación a partir de los axiomas. Si descubrimos una estructura en la cual puede verse que los axiomas y sus consecuencias son verdaderas, podremos decir que la teoría es consistente, ya que algunas proposiciones y sus negaciones podrían ser ciertas (en esta estructura).
  • 10. Sintaxis del Lenguaje Formal 5 Para resumir, un lenguaje lógico tiene cierta sintaxis y el significado o semántica, de una declaración o proposición expresada en este lenguaje está dado por una interpretación en su estructura. Dados un lenguaje lógico y su semántica, podemos tener una o más sistemas de comprobación para este sistema lógico. Un sistema de comprobación es solo aceptable si cada fórmula probable o demostrable es realmente válida. En este caso, decimos que el sistema de demostración es sólido. Luego, tratamos de comprobar que el sistema de comprobación está completo. Un sistema de comprobación está completo si cada fórmula válida es demostrable. Dependiendo de la complejidad de la semántica de una lógica dada, no siempre es posible encontrar un sistema de comprobación completo para tal o cual lógica. Este es el caso, por ejemplo, para las lógicas de segundo orden. Sin embargo, existe un sistema de comprobación completo para la lógica proposicional y para la lógica de predicados de primer orden. En el caso de los predicados de primer orden, ello solo significa que puede encontrarse un procedimiento tal que, si la fórmula de entrada es válida, el procedimiento se detendrá y producirá una comprobación.. Pero ello no proporciona un procedimiento de decisión para determinar la validez. Existen diversas maneras de comprobar la perfección del sistema de prueba o de comprobación. Casualmente, muchas comprobaciones estableciendo la perfección solo muestran que una fórmula A es válida, por lo tanto existe una prueba para A. Sin embargo, tal argumento no nos proporciona un método para construir una prueba de A (en el sistema formal). Solo se demuestra la existencia de la comprobación. Este es el caso particular de las denominadas Comprobaciones de Henkin. Para ejemplificar este punto en un modo más colorido y comprensible, la situación anterior es comparable a ir a un restaurante donde decimos que existe una excelente cena en el menú, pero que un cheff inexperto no sabe como preparar esta cena. Esto puede ser satisfactorio para un filósofo, pero no para un científico en computación !. Sin embargo, existe una aproximación que nos da un procedimiento para construir un método de comprobación de si una fórmula es válida. Esta es la aproximación utilizada en un Sistema de Gentzen (Sistemas de Cuadros Semánticos). Además, da como resultado de que pueden obtenerse todos los teoremas de la lógica de predicados de primer orden, utilizando esta aproximación. La lógica proposicional es el sistema lógico con la semántica más simple. Sin embargo muchos de los conceptos y técnicas utilizadas para estudiar la lógica proposicional es generalizada para la lógica de predicado de primer orden. En la lógica de predicado existen proposiciones atómicas (o fórmulas atómicas o átomos) y proposiciones o fórmulas compuestas construidas con las proposiciones atómicas y con los conectivos lógicos. Los hechos o expresiones atómicas son interpretados como que son verdaderos o falsos. Una vez que los átomos en una proposición compuesta han recibido una interpretación, puede computarse el valor de verdad de la proposición. Técnicamente, esto es una consecuencia del hecho de que el conjunto de proposiciones es una estructura cerrada generada libremente e inductivamente. Ciertas proposiciones compuestas son verdaderas para todas las interpretaciones posibles. Ellas son denominadas tautologías. Intuitivamente, una tautología es una verdad universal. Por lo que podemos concluir que las tautologías juegan un papel fundamental en la lógica proposicional o lógica formal.
  • 11. Sintaxis del Lenguaje Formal 6 1.1.1.- ALGUNOS ARGUMENTOS LÓGICOS IMPORTANTES Como ejemplo de un argumento lógicamente válido, consideremos las siguientes oraciones declarativas: 1.- Si la demanda crece, entonces las compañías se expanden. 2.- Si las compañías se expanden, entonces contrata trabajadores 3.- Si la demanda crece, entonces las compañías contratan trabajadores Este argumento lógico tiene tres líneas, y cada línea contiene una afirmación u oración declarativa. Las oraciones de las líneas 1 y 2 proporcionan las premisas del argumento, y la línea 3 contiene la conclusión. Se puede argumentar contra las premisas y reivindicar que son erróneas. Sin embargo, tan pronto como las premisas sean aceptadas, la conclusión también debe aceptarse, porque se sigue lógicamente de las premisas y por lo tanto, el argumento es válido. Consideremos otro ejemplo de un argumento que es válido lógicamente: 1.- Este programa de computadora tiene error, o la entrada es errónea. 2.- La entrada no es errónea. 3.- Este programa de computadora tiene un error. Nuevamente existen dos premisas, que corresponden a las líneas 1 y 2 del argumento. Estas premisas pueden ser verdaderas o falsas en un caso en particular. Sin embargo, si las premisas son verdaderas, no podemos evitar la conclusión de que el programa de computadora tiene errores. Esta conclusión se desprende lógicamente de las premisas. Utilizando afirmaciones como las dadas, Aristóteles desarrolló patrones de argumentos correctos y falsos. Primero, observó que muchas de las declaraciones utilizadas en lógica son realmente declaraciones compuestas; esto es, que constan de varias partes, cada una de las cuales es una afirmación o declaración por derecho propio. El primer ejemplo contiene la siguiente declaración como una de sus premisas: Si la demanda crece, entonces las compañías se expanden Esta declaración tiene dos partes, que son declaraciones por derecho propio. Son Ala demanda crece@ y Alas compañías se expanden@. Estas dos afirmaciones están conectadas mediante: ASi ... entonces@. Es segundo argumento contiene la declaración siguiente: Este programa de computadora tiene error, o la entrada es errónea. Nuevamente esta declaración contiene dos partes: AEste programa de computadora tiene error@ y Ala entrada es errónea@. Ambas partes son declaraciones y están conectadas mediante la palabra AoA.
  • 12. Sintaxis del Lenguaje Formal 7 Para ver que argumentos son correctos y cuáles no, Aristóteles abrevió los enunciados esenciales de los argumentos, sustituyéndolos por letras. De esta forma el patrón de argumentos válidos se puede describir concisamente. Siguiendo la convención de Aristóteles, utilizaremos letras mayúsculas para denotar las declaraciones esenciales. La letra P puede expresar la declaración Ala demanda crece@ , la letra Q puede expresar la declaración @las compañías se expanden@, y la letra R puede representar la declaración Alas compañías con tratan trabajadores@. Utilizando estos símbolos, podemos expresar el argumento que involucra el crecimiento de la demanda, de la siguiente forma: 1.-Si P, entonces Q 2.-Si Q, entonces R 3.-Si P, entonces R Aristóteles incluso dio nombre a este tipo de argumento, lo denomino silogismo hipotético. En el silogismo hipotético P, Q y R, pueden representar a cualquier declaración. Por ejemplo, si P representa: AEl gato ve al pez@, Q para AEl gato agarra al pez@ y R AEl gato se come al pez@, entonces el silogismo hipotético se convierte en: 1.- Si el gato ve al pez, entonces el gato agarra al pez. 2.- Si el gato agarra al pez, entonces el gato se come al pez. 3.- Si el gato ve al pez, entonces se come al pez. Las premisas de este argumento pueden ser verdaderas o falsas. El gato puede estar bien entrenado y nunca hará algo tan desagradable como el de atrapar al pez. Más aún, incluso si el gato agarra al pez, puede decirse que la comida para gatos es preferible al pez vivo. Sin embargo, tan pronto como aceptamos las premisas, no tenemos otra opción que aceptar la conclusión, que es que el gato se come al pez, si ve al pez. Otro patrón para un argumento correcto puede demostrarse haciendo que P, y Q representan declaraciones o afirmaciones en el argumento de error del programa. P representa AEste programa de computadora tiene un error@ y Q representa Ala entrada es errónea@. Utilizando estas abreviaturas, el argumento puede expresarse de la siguiente manera: 1.- P o Q 2.- No P 3.- P Este argumento se denomina silogismo disyuntivo y es un argumento fundamental en la lógica. Obsérvese, otra vez, que las premisas pueden ser verdaderas o falsas, pero si son consideradas verdaderas, entonces la conclusión es inevitable. Existe un argumento lógico extremadamente importante, denominado el modus ponens. Este modus ponens puede formularse de la siguiente forma:
  • 13. Sintaxis del Lenguaje Formal 8 1.- Si P entonces Q 2.- P 3.- Q Por ejemplo, si P es AEl semáforo se pone en rojo@ y Q es ALos coches paran@, entonces las premisas ASi el semáforo se pone en rojo, entonces los coches paran@ y AEl semáforo se pone en rojo@ permite concluir ALos coches paran@. Determinar cuáles patrones de razonamiento lógico son válidos, y cuáles no lo son, es una parte esencial de la lógica y será tratado posteriormente en los próximos capítulos. Las declaraciones o afirmaciones involucradas en los argumentos lógicos tienen una propiedad especial: que son o verdaderas o falsas, y que no pueden ser nada más. En lógica, tales declaraciones se denominan proposiciones. 1.2.- MATERIAL SIMBÓLICO O ALFABETO DEL LENGUAJE El alfabeto L del lenguaje formal, es un conjunto conformado por tres conjuntos sin elementos en común (conjuntos disyuntos). Ellos son: 1.- El conjunto V de variables proposicionales. Este conjunto es infinito y enumerable. V = { p1, p2, ....., pn, .... } 2.- El conjunto K de conectores proposicionales. K = { ¬ } ∪ { ∧, ∨ , ⇒ , ⇔ ) denominados respectivamente: negación, conjunción (AND), disyunción (OR), implicación lógica y doble implicación lógica (ssi). 3.- El conjunto P de símbolos de puntuación o paréntesis. Este conjunto es de naturaleza impropia. P = { ( , ) } En consecuencia el alfabeto, correspondiente a un lenguaje formal para la lógica, está definido por la unión de los tres conjuntos antes detallados. L = V c K c P
  • 14. Sintaxis del Lenguaje Formal 9 1.2.1.- VARIABLES Y CONSTANTES PROPOSICIONALES Decimos que una proposición representa a todos los tipos y formas de oraciones declarativas del lenguaje natural. Decimos que una proposición es simple o atómica cuando no contiene a otra proposición. Tal es el caso del siguiente ejemplo: El niño juega Pero si decimos: El niño juega y no llora fácilmente pueden distinguirse aquí dos proposiciones: El niño juega, El niño no llora. Ambas están unidas por la conjunción y. En lógica esta conjunción recibe un tratamiento diferente del gramatical. Mientras la conjunción gramatical y enlaza adjetivos, sustantivos, verbos, etc. la conjunción lógica enlaza solamente proposiciones. Cuando tal enlace es de dos o más proposiciones simples, como en el último ejemplo, el resul- tado es una proposición compuesta o molecular. Definiremos a una proposición compuesta como aquella proposición formada por dos o más proposiciones simples unidades entre si por alguna partícula lógica. Se establece además que cualquier proposición simple puede ser simbolizada por las letras minúsculas p, q, r, s, t, etc. Las letras ante mencionadas, que por convención representan proposiciones, reciben el nombre de variables lógicas. Así como en las matemáticas se emplean variables como x, y, z, que pueden recibir cualquier valor (valores numéricos fijos como 1, 345, 5, etc.), así también en lógica las variables p, q, r, s, t, etc. pueden recibir valores fijos, constantes. Cuáles valores?. Los siguientes dos valores: V y F. Es decir los valores de verdad y falsedad. La variable lógica o expresión lógica o declaración o proposición representa a un conjunto de oraciones declarativas dentro de un contexto o universo de discurso, mientras que una constante lógica, representada por las primeras letras mayúsculas del alfabeto, reprenda a una oración declarativa en particular dentro de ese universo de discurso (UD). Por emplear dos valores esta lógica recibe el nombre de Lógica Bivalente. Hay otras lógicas que emplean más de dos valores, que reconocen en las proposiciones no sólo su carácter de verdaderas o falsas sino algunos valores más, como por ejemplo, "más falso que verdadero", "ni falso ni verdadero". Según el número de valores que emplee, la lógica construida sobre ellos será trivalente, tetravalente, polivalente, fuzzy o borrosa, etc. En esta lógica bivalente, pues, distinguiremos elementos cuyo valor es variable (p, q, r, s, t, etc.) y otros cuya significación es constante (V, F). En este último grupo debemos incluir a las conectivas, porque todas ellas poseen un sentido invariable. La lógica proposicional se detiene en las proposiciones entendidas como un todo, sin desarticularlas en sus partes componentes (sujeto, predicado, conector) como hacen otros capítulos de la lógica. Tampoco tiene en cuenta el sentido de las proposi- ciones. Se desentiende igualmente de saber cómo se estableció que tal o cual proposición es verdadera (V) o falsa (F). Acaso se diga: si a esta lógica no le interesa el contenido de las proposiciones, ni el análisis formal de las partes que las componen, ni cómo saber cuándo son verdaderas o falsas, acaso queda algo de lo que pueda
  • 15. Sintaxis del Lenguaje Formal 10 ocuparse respecto de las proposiciones ?. Ese algo parecerá, en un principio, nada o muy poco: la lógica proposicional quiere saber que derivaciones formales se obtienen al combinar proposiciones verdaderas o falsas. 1.2.2.- CONECTORES PROPOSICIONALES Ya se vio en la sección anterior (1.1.1.) un tipo de partícula lógica o conector proposicional, definido como aquel elemento que interconecta dos o más proposiciones atómicas; el conector Y, que en la lógica se lo escribe con un símbolo especial. Pero la lógica proposicional y también el lenguaje natural emplean otras partículas o conectores para interconectar proposiciones simples. Por ejemplo: Le cuentan un cuento o no se duerme También, se establece una vinculación entre las proposiciones "le cuentan un cuento" y "no se duerme". Esta vez las proposiciones simples no están unidas por la conjunción, sino por la disyunción. Enumeremos ahora las partículas o conectivos más importantes, con su correspondiente simbolización, que se emplea en la lógica proposicional y/o simbólica: CONEC- TIVO DENOMINACIÓN LECTURA EN ESPAÑOL ∧ Conjunción Y ∨ Disyunción O ⇒ Implicación o Condicional si ... entonces ⇔ Bicondicional o Equivalencia si y sólo si ... entonces ¬ Negación No Todas ellas reciben el nombre de conectivas lógicas y también el de functores de verdad. Si se establece que cualquier proposición puede ser simbolizada por las letras minúsculas p, q, r, s, t, etc., p ∧ q , se leerá p y q p ∨ q , se leerá p o q p ⇒ q , se leerá : si p, entonces q p ⇔ q , se leerá : si y sólo si p, entonces q ¬ p , se leerá: no p (o también: no es el caso que p)
  • 16. Sintaxis del Lenguaje Formal 11 Se observará que el último conectivo lógico, "5", actúa sobre una sola proposición, sin unir, como las cuatro anteriores, dos proposiciones. Por eso la negación, se dice, es una conectiva unaria o monaria, en tanto que las restantes son conectivas binarias. 1.2.3.- SÍMBOLOS DE PUNTUACIÓN En un idioma natural se apela a símbolos de puntuación que permiten ordenar a grupos de palabras y separarlos de otros. Sin dicha puntuación, el sentido de las frases puede alterarse considerablemente. Es conocida la anécdota de Sarmiento reprendiendo ásperamente a una maestra por su negligencia ante el empleo de la coma. Sarmiento -se cuenta- hizo escribir a un alumno en la pizarra esta misma frase con la diferencia de la ubicación de una coma y el añadido de otra: La maestra dijo, Sarmiento es ignorante. La maestra, dijo Sarmiento, es ignorante. La diferencia de sentido es manifiesta. Para evitar esa anarquía, también las matemáticas usan de símbolos de puntuación. En el ejemplo: 13 - 4 + 2 podemos ver la misma incertidumbre acerca del sentido de la operación que vimos en el ejemplo de la coma. En efecto, ante dicha operación podemos llegar a dos resultados: 7 ú 11. Para expresar el primer resultado, la puntuación correcta será: 13 - (4 + 2). Para el segundo: (13 - 4) + 2. También en la lógica se emplean signos de puntuación para evitar equívocos en las expresiones. Si nos encontramos con esta fórmula (mal formada, tal como veremos más adelante); p ⇒ q ∧ r, dudaremos entre las siguientes dos interpretaciones: (p ⇒ q) ∧ r p ⇒ (q ∧ r) Se podrán utilizar paréntesis, corchetes y llaves, significando lo mismo desde el punto de vista de la sintaxis del lenguaje formal, como veremos más adelante. Los dos ejemplos anteriores, lo mismo que la fórmula ¬ (p ∧ ¬ q), que será analizado como equivalente de p ⇒ q, emplean paréntesis. Pero a veces la extensión de la fórmula exige la utilización de otros paréntesis, lo que lleva a confusión sin saber realmente que encierra cada uno, por lo cual es permitido utilizar corchetes o llaves: [(p ∨ q) ∧ (r ⇒ s)] ⇒ p (1) ¬ {[(p ∨ q) ∧ (r ⇒ s)] ⇒ p} (2) Fácil es ver que tiene mayor alcance siempre la conectiva que está fuera del signo de puntuación. En (1) tiene mayor alcance la implicación fuera del corchete que la conjunción dentro del corchete. Este, a su vez, tiene mayor alcance que la disyunción y la implicación encerrada en los paréntesis. En (2) la negación es la conectiva que afecta más, pues afecta a todo el conjunto. Le sigue la implicación externa al corchete, pero dentro de la llave. En tercer lugar la conjunción que une los dos paréntesis. Finalmente éstos, la disyunción y el condicional, sólo afectan a las dos proposiciones encerradas en los paréntesis respectivos. También
  • 17. Sintaxis del Lenguaje Formal 12 se notará que el paréntesis tiene menor alcance que el corchete y éste que la llave, desde este punto de vista aceptado en la sintaxis del lenguaje formal. 1.2.4.- REGLAS DE PRIORIDAD Muy poca gente trabaja con expresiones completamente entre paréntesis, porque tales expresiones son largas y con frecuencia difíciles de leer. En particular, los paréntesis externos de una expresión son casi siempre omitidos. Por lo tanto en lugar de ( p ∧ q ), escribimos p ∧ q y en lugar de (( p ∧ q) ⇒ ( p ∨ q )) se escribe: ( p ∧ q ) ⇒ ( p ∨ q ). Cuando hacemos esto, no debemos olvidar nunca añadir paréntesis detrás cuando la expresión en cuestión esté compuesta con alguna otra expresión. Los paréntesis dentro de la expresión también pueden ser omitidos. Para interpretar correctamente la expresión resultante, se utilizan las llamadas reglas de prioridad o precedencia. Generalmente, cada conectivo tiene dada una prioridad, y los conectivos con una prioridad más alta introducen una unión más fuerte que los conectivos con una prioridad más baja. El conectivo 5 tiene siempre la prioridad más alta. Por consiguiente ¬ p ∨ q debe ser entendida como ( ¬ p ) ∨ q y no como ( ¬ p ∨ q ). En el caso de los conectivos binarios, la prioridad más alta esta dada por ∧, seguida de ∨, ⇒, y ⇔, en ese orden. En la expresión p ∧ q ∨ r, por ejemplo, ∧ tiene la prioridad sobre ∨ cuando forma sub expresiones y debe ser entendida como ( p ∧ q )∨ r. De igual modo p ⇒ q ∨ r debe ser entendida como p ⇒ ( q ∨ r ), porque ∨ toma prioridad sobre ⇒ . El conectivo correspondiente a la doble implicación ⇔recibe la prioridad más baja, lo que implica que la expresión p ⇔ q ⇒ r debe entenderse como p ⇔ ( q ⇒ r ). Definición 1.1.- Un conectivo u operador binario se denomina asociativo por la izquierda si el conectivo por la izquierda tiene prioridad sobre el conectivo sobre la derecha. Un conectivo binario se denomina asociativo por la derecha si el conectivo por la derecha tiene prioridad sobre el conectivo por la izquierda. 1.3.- CADENAS DE CARACTERES, LONGITUD, CONCATENACIÓN Disponiendo símbolos o signos del alfabeto L, uno tras otro conformamos series finitas de signos o cadenas de signos. A estas series las denominamos CADENAS DE CARACTERES. En los siguientes ejemplos indicamos algunos casos de cadenas de caracteres que son proposiciones atómicas y/o compuestas. Ejemplo 1.3.1: " p1 ⇒ ∧ ∨ " , " ¬ () p7 ¬ ¬ ¬ " , " ( p2 ⇒ p3 )" Definimos los siguientes casos particulares de cadenas de caracteres: Ejemplo 1.3.2: ((p ⇒ q) ≡ (¬p ∨ q)) , (¬ A1 ≡ ( A1 ⇒ A2)) , ( A1 ∨ A2) , ( A1 ∧ A2)
  • 18. Sintaxis del Lenguaje Formal 13 CADENA VACÍA: es aquella cadena que no contiene ningún signo o símbolo del alfabeto L y la denotamos de la siguiente forma: " < > ". CONCATENACIÓN: Cuando colocamos dos cadenas, una a continuación de la otra, obtenemos otra cadena y que la representaremos por " { " y que es una ley de composición interna a la que denominamos concatenación, es asociativa pero no es conmutativa. ( A { B ) { C es lo mismo que A { ( B { C ) A { B es diferente de B { A CADENA NEUTRA: La cadena vacía es denominada también cadena neutra a derecha e izquierda para la concatenación ( no altera a la cadena concatenada con ella ). A { < > = < > { A = A Denominamos al conjunto de todas las cadenas de caracteres, en el marco del alfabeto L, como L* . El par ordenado ( L* , { ) es una estructura matemática axiomática del tipo monoidal ( ley de composición interna y asociativa ). LONGITUD DE UNA CADENA: Es igual al número de signos o símbolos que constituyen dicha cadena. 1.4.- OCURRENCIA DE UNA CADENA, SUB CADENAS, REEMPLAZO, SUBSTITUCIÓN 1.4.1.- NOCIÓN DE APARICIÓN (OCURRENCIA) Si una cadena A es del tipo BCD, donde B y D pueden ser vacías, pero C no lo es, decimos que C presenta una aparición en A ( o que C es una SUBCADENA no vacía de A ). Puede darse el caso de que la cadena C presente varias apariciones en la ca- dena A. Ejemplo 1.4.1: A = "(p ⇒ ∧ p ⇒ q ¬ ∧ )" Tenemos la sub cadena C = p ⇒ y se presentan dos apariciones en la cadena A. La primera C1, determinada por B1 = "(" y D1 = "∧ p ⇒ q ¬ v )", lo que nos determina la composición de A = B1C1D1. La segunda aparición será C2 determinada por B2 = "( p ⇒ ∧" y D2 = " q ¬ v )" , luego obtenemos A = B1C1D1 = B2C2D2, donde C1 = C2 = " p ⇒ ". OBSERVACIÓN En general las letras p, q, r, s, t, salvo contraindicación en con- trario, designarán elementos del conjunto V de variables proposicionales.
  • 19. Sintaxis del Lenguaje Formal 14 1.4.2.- REEMPLAZOS Consideremos a los elementos B, C, D, A, que son cadenas de caracteres en el marco del alfabeto L. Reemplazar la cadena C por la cadena C' en A, donde A = BCD, consiste en formar una nueva cadena BC'D. El resultado del reemplazo de C por C' en BCD, lo expresamos de la siguiente forma: C Remp BCD = BC'D, o bien A(C/C') C' 1.4.3.- SUBSTITUCIÓN Sustituir una cadena B por el carácter X en la cadena A, consiste en reemplazar por B TODAS las apariciones de X en A. El resultado será denotado por: X Sub A , o bien A(X/B) B Ejemplo 1.4.2: A = " p ∨ ( q ∨ r) (( p )) (" ; A(q/s ∨ t) = " p ∨ ( s ∨ t ∨ r) (( p )) (" 1.4.4.- SUBSTITUCIÓN SIMULTANEA Sean x1, x2, x3, ...., xn, n caracteres distintos del alfabeto L, con apa- riciones en la cadena A. Sustituir las cadenas B1, B2, B3, ...., Bn por las cadenas x1, x2, x3, ...., xn respectivamente, consiste en sustituir B1 a todas las apariciones de x1, B2 a todas las apariciones de x2, B3 a todas las apariciones de x3, ..., y Bn a todas las apariciones de xn, o sea una substitución de una manera simultánea. El resultado puede expresarse de la siguiente forma: x1, x2, x3, ...., xn Sub A , o bien A(x1/B1, x2/B2, x3/B3,..., xn/Bn) B1, B2, B3, ...., Bn Ejemplo 1.4.3: A = "((( p q r ⇒ ∧ ¬ ≡ )" A ((/ t, p / ⇒, ≡ / ∨) = "t t t ⇒ q r ⇒ ∧ ¬ ∨ )"
  • 20. Sintaxis del Lenguaje Formal 15 VARIANTE Toda cadena obtenida por substitución simultánea en A será llamada Va- riante de A, si la substitución operada cumple con las siguientes con- diciones: 1.- Reemplazar variables proposicionales por variables proposicio- nales. 2.- Dejar intacto los otros caracteres de A. 3.- Reemplazar variables proposicionales distintas por variables proposicionales distintas. Ejemplo 1.4.4: "( q ⇒ ( p⇒ r ) )" es una variante de "( p ⇒ ( q ⇒ r ) )" 1.5.- EL LENGUAJE DEL CALCULO DE PROPOSICIONES O CONJUNTO F DE EXPRESIONES BIEN FORMADAS (EBF) Existe un único tipo de cadenas, a partir del alfabeto L, que nos interesa, el denominado conjunto de EXPRESIONES BIEN FORMADAS (EBF) O FORMULAS PROPOSICIONALES. Dicho conjunto, denominado F, constituye el lenguaje del cálculo proposicional. Si L* es el conjunto de todas las cadenas dentro del marco del alfabeto L, nuestro lenguaje F, será un subconjunto de L* , o sea que F d L* . ENUMERABILIDAD DEL CONJUNTO F Todo lenguaje constituido a partir de un alfabeto A enumerable, es también enumerable. Sea el alfabeto A = { s0, s1, s2, ...., sn }, luego a todo conjunto finito de cadenas de A, le asociamos el simple orden alfabético, definido a partir del orden propio de A. Tal, orden es denominado ORDEN LEXICOGRÁFICO. Ejemplo 1.5.1: L0 = { s0s1, s1s0s1, s0s0s1 } y se ordena de la siguiente forma : : s0s0s1 s0s1 s1s0s1 B ; ↓ ↓ ↓ C 1 2 3 1.5.1.- REGLAS DE BUENA FORMACIÓN El conjunto F de todas las EBF, se define por un conjunto de Reglas RECUR- RENTES, denominadas "REGLAS DE BUENA FORMACIÓN" y son las que a continuación detallamos:
  • 21. Sintaxis del Lenguaje Formal 16 REGLA I Una variable proposicional cualquiera es una EBF. œ p 0 V; p 0 F o lo que es lo mismo V ⊂ F REGLA II Las sub reglas siguientes permiten formar nuevas EBF, a partir de EBF ya existentes. REGLA II - 1 Si A es una EBF, entonces ¬ A es una EBF. REGLA II - 2 Si A y B son EBF, entonces ( A * B ) es una EBF, donde * 0 K - {¬}, es decir que * es uno de los siguientes conectores: {∧, ∨, ⇒, ⇔}. REGLA III Es también denominada la regla de CLAUSURA. Solamente las cadenas formadas por las REGLAS I, II - 1 y II - 2 son EBF. Ejemplo 1.5.2: "p " , " ¬ p " , "(( p ⇒ q ) ∧ ( r ⇒ t ))" Contra ejemplo: ( p ∧ q ⇒ p) Ejemplo 1.5.3: Ejemplos de variaciones con los símbolos de puntuación (p ∧ q ⇒ p) es una variación de ((p ∧ q ) ⇒ p) (p ∧ q ∨ r) es una variación de (p ∧ (q ∨ r)) (p ∨ q ∨ r) es una variación de ((p ∨ q) ∨ r) 1.5.2.- RAZONAMIENTO POR RECURRENCIA SOBRE LA FORMACIÓN DE LAS EXPRESIONES Debido a que las EBF son recurrentes, podemos establecer por RECURRENCIA las propiedades de las EBF. Para establecer que toda EBF posee una propiedad P determinada, basta con demostrar que 1.- Todas las EBF iniciales (fijadas por la Regla I) poseen la propiedad P. 2.- Qué la aplicación de la Regla II - 1 a una EBF que posee P, da nacimiento a una EBF que posee P y que la aplicación de la Regla II - 2 a dos EBF que poseen P, da nacimiento a una EBF que posee P. Traduciendo esta metodología a un lenguaje más accesible, podemos decir lo siguiente: Sea P una propiedad. La etapa 1, equivale a demostrar P para las fórmulas de complejidad 0. La etapa 2, equivale a demostrar la propiedad P para una fórmula cualquiera F, a partir
  • 22. Sintaxis del Lenguaje Formal 17 de la suposición que cualquier fórmula de complejidad estrictamente inferior a F posee la propiedad P, lo que implica que si: F = 5 G, G posee P y que si F = (G * H ) , G y H poseen P. EJEMPLO DE DEMOSTRACIÓN POR RECURRENCIA Toda EBF contiene un número igual de paréntesis abiertos y de paréntesis cerrados. 1.- Es cierto para las EBF atómicas: una variable proposicional se escribe sin paréntesis. 2.- Sea F una fórmula cualquiera. Toda fórmula de complejidad estricta- mente inferior a F posee la propiedad. F puede ser de dos tipos (a) F = 5G y (b) F = (G * H), donde (*) es un conector binario, G y H son EBF de complejidad estrictamente inferior a F. Caso (a): Por hipótesis, G posee un número igual de paréntesis abiertos y cerrados. Luego 5G posee esta propiedad. Caso (b): G y H poseen un número igual de paréntesis abiertos y cerrados (por ser EBF de complejidad inferior). Luego (G * H) contiene solamente un paréntesis abierto y uno cerrado, además de los que contienen G y H. 1.5.3.- NO AMBIGÜEDAD DEL LENGUAJE CONSTRUIDO El lenguaje que hemos construido está exento de ambigüedad, esto significa que: 1.- Si una EBF A es de la forma 5 B, no existe una EBF B' distinta de B, tal que 5 B' sea lo mismo que A. 2.- Si una EBF A es de la forma (B * C), donde * designa un conector binario, no existirán EBF B' y C' distintas de B y C, tales que (B' * C') sea la misma expresión que A. 1.5.4.- DECIDIBILIDAD DEL CONJUNTO F DE LAS EXPRESIONES BIEN FORMADAS Como determinar si una cadena determinada es una EBF?. Si A es de longitud moderada, por simple lectura determinamos si A es o no es una EBF. No existe un límite superior para una cadena y en consecuencia la simple lectura puede ser insuficiente. Es necesario buscar un procedimiento seguro, que al cabo de un número FINITO de etapas no diga, si A es o no es una EBF. Este procedimiento es un
  • 23. Sintaxis del Lenguaje Formal 18 ALGORITMO. Toda EBF que no está reducida a un variable proposicional única contiene un Conector Principal. Se busca si la cadena tiene un conector que cumpla con esta función. En caso negativo (y si la cadena no se reduce a una sola variable), la cadena no es una EBF. En caso afirmativo, se debe verificar, empleando el mismo método, si las cadenas unidas por el conector principal son EBF, utilizando el mismo método o sea buscando el conector principal de cada una de las cadenas componentes y así sucesivamente. Consideremos a continuación el Algoritmo desarrollado: Sea C la cadena de caracteres que debemos examinar: (1) C = " p " (donde p es cualquier v.p.) STOP. EBF (2) C = 5 A (donde A designa una cadena) TESTEAR A (3) C = ( B ) (donde B designa una cadena) 3.1 B No termina con un paréntesis cerrado ")" LEER B DE DERECHA A IZQUIERDA, BUSCAR EL PRIMER CONECTOR BINARIO 3.1.1 Se encuentra uno : B = C * D TESTEAR C Y D 3.1.2 No se encuentra conector. STOP. NO EBF 3.2 B termina con ")" LEER B DE DERECHA A IZQUIERDA. BUSCAR EL PRIMER CONECTOR BINARIO POSTERIOR AL PRIMER PARÉNTESIS ABIERTO "(" DE INDICE N EN B (donde el índice de una aparición de paréntesis es el número totalizado en esa aparición, luego de haber contado + 1 por cada paréntesis abierto y – 1 por cada paréntesis cerrado) 3.2.1 Se encuentra uno : B = E * F TESTEAR E Y F 3.2.2 No se encuentra STOP. NO EBF (4) No nos encontramos en ninguna de las situaciones STOP. NO EBF precedentes. 1.6.- SUB FÓRMULAS BIEN FORMADAS Más adelante, veremos que para interpretar una fórmula en el marco de la semántica, es indispensable descomponerla en sus sub fórmulas bien formadas hasta llegar a sus expresiones más simples, del tipo variables proposicionales (fórmulas atómicas). Cada fórmula posee una única descomposición de este tipo. Todas las fórmulas que figuran en el árbol genealógico de la fórmula original serán llamadas SUBFÓRMULA BIEN FORMADAS de esta EBF. La siguiente definición por recurrencia, que introduce la noción de sub fórmula inmediata, formaliza la noción de árbol genealógico. Sea X la EBF considerada. 1.- Si X = p (donde p designa una V.P.), X no posee sub fórmula inmediata.
  • 24. Sintaxis del Lenguaje Formal 19 2.- Si X = A, A es la SFI de X (SFI = Sub fórmula Inmediata). 3.- Si X = (B * C), B y C son las dos SFI de X. 4.- Si X = A, A es la sub fórmula de X. 5.- Si A es SFI de X, A es sub fórmula de X. 6.- Si B es sub fórmula de A, y A es sub fórmula de X, entonces B es sub fór- mula de X. Podemos representarla a través del ÁRBOL GENEALÓGICO de la fórmula. ¬ ((¬ p ∧ (q ⇒ ¬ r)) ∨ ((p ∧ q) ⇒ (p ∨ ¬ r))) ↓ ↓ ↓ (¬ p ∧ (q ⇒ ¬ r)) ((p ∧ q) ⇒ (p ∨ ¬ r)) ↓ ↓ ↓ ↓ ↓ ↓ ¬ p (q ⇒ ¬ r) (p ∧ q) (p ∨ ¬ r) ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ p q r p q p r 1.7.- CONVENCIONES PARA ABREVIAR LA ESCRITURA 1.- En general suprimimos los paréntesis exteriores y escribiremos, por ejemplo " p w (q w r) " en lugar de " (p w (q w r)) ". 2.- Eventualmente reemplazaremos los paréntesis por corchetes o llaves sin prestar a esto último ninguna significación particular. 3.- Hasta ahora hemos respetado la convención que consiste, para hablar de una cadena de caracteres, en escribir dicha cadena entre comillas, por ejemplo, hemos escrito " " (p ⇒ q) " es una EBF". Por un abuso de escritura universalmente aceptado, escribiremos en adelante (p ⇒ q) es una EBF". OBSERVACIÓN Los signos a, b, c, ..., A, B, ..., *, etc., que solemos introducir para determinar, ya sea una variable proposicional, una constante lógica o una cadena, no pertenece al alfabeto L del lenguaje artifi- cial; como las comillas, pertenecen a la lengua que utilizamos para hablar del lenguaje artificial y que llamamos metalenguaje. Estos signos son denominados VARIABLES SINTÁCTICAS. Destaquemos en este sentido, que el enunciado de las reglas, son en general las variables sintácticas quienes intervienen.
  • 25. Sintaxis del Lenguaje Formal 20 1.8.- OPERADORES O CONECTIVOS MONODIADICOS Existen un conjunto de conectores u operadores monodiadicos, igual a un total de 4 (cuatro), a los cuales se los denomina como Conectores f. Estos conectores son: f0 Una función cuyo resultado es siempre falso, independientemente del valor que tome la proposición a la cual afecta. f1 Corresponde al conector de la negación, ¬ p, discutido previamente en este capítulo. f2 Una función que simplemente entrega el mismo valor de la proposición afectada por el conectivo considerado: f2 (p) ≡ p f3 Una función cuyo resultado es siempre verdadero, independientemente del valor que tome la proposición a la cual afecta. 1.9.- OPERADORES O CONECTIVOS DIÁDICOS Existen 16 posibles conectores diádicos o binarios, identificados con las letras g0 a g15. De estos, seis representan a conectivos degenerados correspondientes a verum (función binaria que siempre retorna el valor verdadero, una tautología binaria g15), falsum (que siempre retorna el valor falso de la proposición a la cual afecta, g0), p (siempre toma el valor de p, g12), q (siempre toma el valor de q, g10), ¬ p (siempre toma el valor de ¬ p, g3), y ¬ q (siempre toma el valor de ¬ q, g5), dejando 10 conectivos realmente de interés para las aplicaciones lógicas. Por supuesto dentro de ellos están los conectivos considerados más comunes, como por ejemplo; la disyunción w ( g14), la conjunción ∧ (g8), la doble implicación ⇔ (g9), y la implicación ⇒ (la cual no es conmutativa, por lo tanto existen dos conectivos g11 y g13). Los cinco conectivos restantes se detallan a continuación: g 6 Este es el conectivo denominado OR Exclusivo o la No Equivalencia, representado por el símbolo x, la negación de la equivalencia. Este conectivo puede ser representado por la siguiente expresión: p x q ≡ T ( p ∨ q ) ∧ ¬ ( p ∧ q ) De un modo alternativo podemos expresar este conectivo de la siguiente forma: p x q ≡ T ( p ∧ ¬ q ) ∨ ( q ∧ ¬ p ) g 1 Este es el conectivo NOR o Junta Denegada o Flecha de Pierce, el cual puede ser denotado por el siguiente símbolo:↓. Puede ser representada como la negación de la disyunción, expresada de la siguiente forma: p ↓ q ≡ T ¬ ( p ∨ q ) ≡ T ¬ p ∧ ¬ q g 1 Este es el conectivo NAND o de Incompatibilidad o el Pincel de Sheffer, está denotado por el siguiente símbolo / y es considerado como la negación de la conjunción de la siguiente forma:
  • 26. Sintaxis del Lenguaje Formal 21 p / q ≡ T ¬ ( p ∧ q ) ≡ T ¬ p ∨ ¬ q g 4, g 2 Estas dos funciones son consideradas como la No Implicación, denotadas por el símbolo ¹ y representada por la siguiente expresión o fórmula lógica: p ¹ q ≡T ¬ ( p ⇒ q ) ≡ T p ∧ ( ¬ q ) 1.10.- OPERADORES O CONECTIVOS TRIÁDICOS Podemos utilizar los mismos argumentos para determinar los Operadores o Conectivos Triádicos, aquellos que toman tres operandos o proposiciones simples. Algunos de ellos son de interés directo sobre un total 256 posibles conectivos. Estos conectivos triádicos son difíciles de escribirlos como operadores, ya que no pueden ser representados por un simple símbolo infijo. Describiremos aquellos que son considerados importantes, a saber: Disyunción Condicionada Es representada por la siguiente expresión: [ p, q, r ] = T ( q ∧ p ) ∨ ( ¬ q ∧ r ) La proposición del medio q actúa como un llave de determinado tipo. Incompatibilidad Condicionada Está relacionada con el anterior conectivo, y se escribe de la siguiente forma: [[ p, q, r ]] = T ( q ∧ ¬ p ) ∨ ( ¬ q ∧ ¬ r ) Además es la negación de la Disyunción Condicionada, tal como se indica: [[ p, q, r ]] = T ¬ [ p, q, r ] L 2 ( Mayoría ) El conectivo considerado: L 2 ( p, q, r ) toma el valor verdadero si y sólo si dos o más de las proposiciones participantes toman el valor verdadero. L2 significa al menos dos. Este conectivo puede ser expresado de la siguiente forma: L 2 ( p, q, r )= T ( p ∧ q ) ∨ ( q ∧ r ) ∨ ( r ∧ p ) Alternativamente podemos utilizar la disyunción condicionada y escribir la siguiente expresión: L 2 ( p, q, r )= T [ q ∨ r , p , q ∧ r ]
  • 27. Sintaxis del Lenguaje Formal 22 L 1 ( Al Menos Uno ) De la misma forma que definimos el anterior conectivo, definimos ahora el conectivo L 1 ( p , q, r ), de la siguiente forma: L 1 ( p , q, r )= T p ∨ q ∨ r L 3 ( Al Menos Tres ) De la misma forma que definimos el anterior conectivo, definimos ahora el conectivo L 3 ( p , q, r ), de la siguiente forma: L 3 ( p , q, r )= T p ∧ q ∧ r 1.11.- PROBLEMAS CAPITULO 1 1.- )Cuáles de las siguientes oraciones son proposiciones? (a) 9 es múltiplo de 3 (b) El Sol gira alrededor de la Tierra (c) )Qué hora es? (d) Les deseo Felices Pascuas (e) La parte continental de la República Argentina tiene una superficie de 2.791.810 Km2 . (f) Hoy llueve. (g) Desde Tucumán a Salta 2.- )Cuáles son proposiciones atómicas y cuales compuestas? (a) Juan y Javier son primos (b) Todos los gatos tienen cola (c) El coche que pasó era verde o azul (d) 2 es divisor de 8 y 12 (e) Salgo de paseo, si no llueve 3.- Traduzca las siguientes oraciones compuestas a la notación de la lógica formal: (a) O el fuego fue producido por incendio premeditado o fue producido por combustión espontánea. (b) Si el agua es clara, entonces Enrique puede ver el fondo del piletón o es un tonto. (c) O Juan no está aquí o María está, y Elena ciertamente está. (d) Si hay más gatos que perros, entonces hay más caballos que perros y hay menos serpientes que gatos. (e) El hombre de la Luna es una patraña y si lo mismo es verdad de Santa Claus, muchos niños son engañados. (f) Si las pelirrojas son amables y las rubias no tienen pecas, entonces la lógica es confusa. (g) Si las habitaciones son escasas o la gente quiere vivir con sus parientes políticos y si la gente no quiere vivir con sus parientes políticos, entonces las habitaciones son escasas. (h) Si Juan rinde testimonio y dice la verdad, será encontrado culpable; y si no rinde testimonio, será encontrado culpable.
  • 28. Sintaxis del Lenguaje Formal 23 (i) Si Racine no era un compatriota de Galileo, entonces o Descartes no nació en el siglo dieciséis o Newton no nació antes que Shakespeare. (j) Si se elevan los precios o los salarios, habrá inflación. Si hay inflación, entonces el Congreso debe regularla, o el pueblo sufrirá. Si el pueblo sufre, los congresistas se harán impopulares. El Congreso no regulará la inflación y los congresistas no se volverán impopulares. En consecuencia, no subirán los precios. (k) Si el mercado es perfectamente libre, entonces un solo proveedor no puede afectar los precios. Si un solo proveedor no puede afectar los precios, entonces hay un gran número de proveedores. Hay, en efecto, un gran número de proveedores. En consecuencia el mercado es perfectamente libre. 4.- Sean las siguientes variables proposicionales: n = "Nueva York es más grande que Chicago"; w = "Nueva York está al norte de la ciudad de Washington"; c = "Chicago es más grande que la ciudad de Nueva York" Escribir en el lenguaje natural las siguientes expresiones bien formadas del lenguaje formal: (a) (n ∨ c) (b) (n ∧ c) (c) (¬ n ∧ ¬ c) (d) (n ⇔ (¬ w ∨ c)) (e) ((w ∨ ¬ c) ⇒ n) (f) ((w w n) ⇒ (w ⇒ ¬c)) (g) ((w ⇔ ¬ n) ⇔ (n ⇔ c)) (h) {(w ⇒ n) ⇒ [(n ⇒ ¬ c) ⇒ (¬ c ⇒ w)]} 5.- Sean p, q, r las siguientes proposiciones: p = "está lloviendo" , q = "el sol está brillando" , r = "hay nubes en el cielo" traduzca la siguiente notación lógica, utilizando p, q, r y los conectivos lógicos. (a) Está lloviendo y y el sol está brillando. (b) Si esta lloviendo, entonces hay nubes en el cielo. (c) Si no está lloviendo, entonces el sol no está brillando y hay nubes en el cielo. (d) El sol está brillando si y solo si está brillando. (e) Si no hay nubes en el cielo, entonces el Sol está brillando. 6.- Sean las siguientes variables proposicionales: p = "Jane Austen fue contemporáneo de Beethoven"; q = "Beethoven fue contemporáneo de Gauss"; r = "Gauss fue contemporáneo de Napoleón"; s = "Napoleón fue contemporáneo de Julio Cesar" Escribir en el lenguaje natural las siguientes expresiones bien formadas del lenguaje formal: (a) ((p ∧ q) ∧ r) (b) (p ∧ (q ∧ r)) (c) (s ⇒ p) (d) (p ⇒ s) (e) ((p ∧ q) ∧ (r ∧ s)) (f) ((p ∧ q) ⇔ (r ∧ ¬ s)) (g) ((p ⇔ q) ⇒ (s ⇔ r)) (h) ((¬ p ⇒ q) ⇒ (s ⇒ r)) (i) ((p ⇒ ¬ q) ⇒ (s ⇔ r)) (j) {(p ⇒ q) ⇒ [(q ⇒ r) ⇒ (r ⇒ s)]} 7.- Sean p, q, r definidas como en el ejercicio 5. Traducir las siguientes expresiones al lenguaje natural castellano : (a) (p ∧ q) ⇒ r (b) (p ⇒ r) ⇒ q (c) ¬ p ⇔ (q ∨ r) (d) ¬ (p ⇔ (q ∨ r)) (e) ¬ (p ∨ q) ∧ r
  • 29. Sintaxis del Lenguaje Formal 24 8.- Cuales de las siguientes son proposiciones?. (a) x2 = x para todo x 0 ú (b) x2 = x para algún x 0 ú (c) x2 = x (d) x2 = x para exactamente una x 0 ú (e) xy = xz implica y = z (f) xy = xz implica y = z para toda x, y, z 0 ú 9.- Proporcione las reciprocas de las siguientes proposiciones : (a) p ⇒ q (b) Si soy listo entonces soy rico (c) Si x2 = x entonces x = 0 o x = 1 (d) Si 2 + 2 = 4 entonces 2 + 4 = 8 10.- Exprese las siguientes proposiciones condicionales de otra manera: (a) La botella contiene una etiqueta de advertencia si contiene ácido. (b) Los coches paran si el semáforo está en rojo. (c) Si Juan está en el granero, entonces Pablo estará en el granero también. (d) Marco es rico solo si es feliz. (e) No se trabaja, no se paga 11.- Traduzca las siguientes oraciones al cálculo proposicional y dé el alcance de todas las conexiones lógicas: (a) María practica básquetbol, pero su hermano fútbol y voley (b) Si 5 es mayor que 3, y 3 es mayor que 2, entonces 5 es mayor que 2 (c) Si no llueve , iremos al cine o al teatro (d) Me curaré, si tomo los remedios y hago reposo. (e) La extracción de minerales es provechosa si la concentración de mineral es alta pero sólo si la distancia hasta el mercado es corta. 12.- Usando las equivalencias lógicas correspondientes encuentre una afirmación equivalente a las siguientes: (a) No es cierto que el esté informado y sea honesto. (b) Si las mercancías no fueron entregadas, el cliente no debe haber pagado. (c) Esta tarde ni llueve ni nieva (d) Si él esta en la oficina, le daremos las noticias. (e) No es cierto que, si llueve nos reuniremos en el club 13.- Encuentre la negación de los siguientes enunciados aplicando las equivalencias lógicas correspondientes: 1) Juan estudia Ingles y Computación 2) Podemos comprar esta casa o comprar un auto 3) Es suficiente que sea feriado para que no trabaje. 4) Si no hay sol, no iré a la pileta. 5) Si no hay paga, no hay trabajo 6) El programa es legible solamente si está bien estructurado. 7) El público se dormirá cuando el presidente de la sesión dicte la conferencia 8) Nos veremos en el parque en caso que no llueva 9) Si llueve, nos reuniremos en el club o en la casa de María
  • 30. Sintaxis del Lenguaje Formal 25 10) Solicitaré un préstamo, si viajo a Brasil o a Chile. 11) Terminar de escribir mi programa antes del almuerzo es necesario para que juegue al tenis esta tarde. 12) María puede subir a la motocicleta de Luis sólo si usa el casco 14.- Determinar si las expresiones lógicas del Problema N1 4, son las denominadas expresiones bien formadas (EBF), utilizando las Reglas de buena formación. 15.- Determinar si las expresiones lógicas del Problema N1 6, son las denominadas expresiones bien formadas (EBF), utilizando las Reglas de buena formación. 16.- Determinar si las expresiones lógicas del Problema N1 7, son las denominadas expresiones bien formadas (EBF), utilizando las Reglas de buena formación. 17.- Sean p, q y r variables proposicionales (EBF) o fórmulas atómicas distintas.Determinar si las expresiones lógicas siguientes son expresiones bien formadas (EBF), utilizando las Reglas de buena formación. (a) (p ∨ q) ⇒ (q ∨ p)) (b) (p ⇒ (p ∨ q) ∨ r) (c) (p ∨ ¬ p) (d) (p ⇒ ¬ p ⇒ q) (e) ((p ⇒ q) ⇒ (q ⇒ p)) (f) {[(p ⇒ q) ⇔ q] ⇒ p} (g) {p ⇒ [q ⇒ (q ⇒ p)]} (h) ((p ∧ q) ⇒ (p ∨ r)) (i) [p ∨ (¬ p ∧ q)] ∨ (¬ p ∧ ¬ q) (j) (p ∧ q) ⇒ [p ⇔ (q ∨ r)] (k) {p ∧ [q ⇒ [(p ∧ ¬ p) ⇒ (q ∨ ¬ q)} ∧ (q ⇒ q) 18.- Aunque normalmente utilizaremos "implica" y "si ..... entonces" para describir una implicación, en la práctica surgen otras palabras y frases como las de los siguientes ejemplos. Sean p, q y r las siguientes proposiciones: p = "la bandera está puesta," q = "I = 0", r = "la subrutina S ha terminado" Traducir cada una de las siguientes proposiciones a símbolos usando las letras p, q, r y los conectivos lógicos. (a) Si la bandera está puesta entonces I = 0. (b) La subrutina S ha terminado si la bandera está puesta. (c) La bandera está puesta si la subrutina S no termina. (d) Siempre que I = 0 la bandera está puesta. (e) La subrutina S ha terminado sólo si I = 0. (f) La subrutina S ha terminado sólo si I = 0 o la bandera está puesta. Notar la ambigüedad del punto (f); hay dos respuestas distintas, cada una con su propia validez. )Ayudaría la puntuación?. 19.- Construir un algoritmo que me permita determinar si una expresión, proposición compuesta, o fórmula lógica es una expresión bien formada (usar como comparación el ejemplo indicado en el Capítulo I de los apuntes de clase). 20.- (a) Demostrar que x = -1 es un contraejemplo de "(x + 1)2 ≥ x2 para toda x ∈ ú" (b) Encontrar otro contra ejemplo. (c) )Puede servir de contraejemplo cualquier número no negativo?. Justifique su respuesta.
  • 31. Semántica del Lenguaje Formal 26 CAPITULO II SEMANTICA DEL LENGUAJE FORMAL 2.1.- NOCIÓN GENERAL En el capítulo precedente definimos la sintaxis del lenguaje proposicional. Pudimos comprobar que posee las dos buenas propiedades que la hace utilizable en lógica formal, la decibilidad sintáctica y la no ambigüedad de lectura. El presente capítulo tiene por función definir una interpretación para el lenguaje proposicional. Hasta ahora, en efecto, nuestras EBF o expresiones del lenguaje son puras combinaciones de signos sin sentido alguno. La definición de una interpretación revierte esta situación y dota al lenguaje de un poder singular de expresión. Este aspecto del lenguaje se denomina SEMÁNTICA DEL LENGUAJE FORMAL. 2.2.- DEFINICIÓN ALGEBRAICA DE LA SEMÁNTICA DEL LENGUAJE PROPOSICIONAL Advertencia: A los efectos de poder tratar de la manera booleana la semántica del lenguaje, confundiremos los valores de verdad (FALSO, VERDADERO) con la dupla (0, 1). 2.2.1.- DISTRIBUCIÓN DE LOS VALORES DE VERDAD (D.D.V.V.) Una distribución de los valores de verdad es una aplicación δ del conjunto V de todas las variables proposicionales sobre el conjunto Z = {0, 1}. δ : V -→ Z El conjunto de todas las distribuciones de valores de verdad será el siguiente cardinal 2 card (V) . Denominaremos V {0, 1} como el conjunto de todas las distribuciones de verdad y en general A B es el conjunto de todas las aplicaciones de un conjunto A sobre un conjunto B. Donde A es el conjunto de partida y B el conjunto de llegada. 2.2.2.- EVALUACIÓN DE LAS EBF Sea F una fórmula donde figuran los átomos p1, p2, p3, ...., pK. La semántica formal no dice bajo que condición p1, p2, p3, ...., pK son verdaderos o falsos. Lo que permite deducir, en cambio, es cómo un Interpretación determinada de p1, p2, p3, ...., pK, es decir, una determinada distribución de valores de verdad restringida a p1, p2, p3, ...., pK, determina el valor de verdad de la fórmula F.
  • 32. Semántica del Lenguaje Formal 27 Por ejemplo, de la semántica formal se deduce que si una distribución de verdad, asigna a la variable p el valor 0 y a la variable q el valor 1, el valor de verdad (δ (p) = 0 y δ (q) = 1) de la fórmula p ⇒ q es 1, el de la fórmula p ∧ q es 0, el de la fórmula ¬ p es 1, etc. En general estos valores se introducen por medio de las 5 (cinco) "tablas de verdad" correspondientes a cada uno de los conectivos lógicos o proposicionales. Sin embargo, esto apenas daría la semántica de las fórmulas más simples, conectadas por un solo conectivo, cuando en realidad es necesario definir la semántica de toda expresión del lenguaje. Sólo la definición por recurrencia puede satisfacer esta exi- gencia. DEFINICIÓN POR RECURRENCIA DE LA SEMÁNTICA DE LAS EBF Sea δ una distribución de valores de verdad, de forma tal que asigna a las variables proposicionales p1, p2, p3, ...., pn, ...., valores tomados del conjunto {0, 1}, que anotaremos de la siguiente forma δ (p1), δ (p2), ...., δ (pn), ...., denominadas funciones de verdad. Definir el valor de verdad que toma una fórmula A de acuerdo con las dis- tribuciones δ, es definir una aplicación Φδ del conjunto F de las EBF sobre el conjunto Z = {0, 1}. Φδ : F -→ {0, 1} La función Φδ se define por recurrencia de la siguiente forma: 1.- Φδ (p) = δ (p) ; œ p 0 V 2.- Φδ (5 A) = 5' Φδ (A) = 1 - Φδ (A) Donde el signo "-" designa la simple diferencia aritmética. 3.- Φδ (A v B) = v' (Φδ (A), Φδ (B)) = MIN (Φδ (A), Φδ (B)) Donde "MIN" designa el mínimo de acuerdo con el orden natural de la aritmética. Ejemplo: MIN (0, 0) = 0 , MIN (1, 0) = 0 , MIN (1, 1) = 1 4.- Φδ (A w B) = w' (Φδ (A), Φδ (B)) = MAX (Φδ (A), Φδ (B)) Donde "MAX" designa el máximo de acuerdo con el orden natural de la aritmética. Ejemplo: MAX (0, 0) = 0 , MAX (1, 0) = 1 , MAX (1, 1) = 1 5.- Φδ (A ⇒ B) = ⇒' (Φδ (A), Φδ (B)) = MAX (Φδ (¬ A), Φδ (B)) 6.- Φδ (A ≡ B) = ≡' (Φδ (A), Φδ (B)) = MIN (Φδ (A ⇒ B), Φδ (B ⇒ A))
  • 33. Semántica del Lenguaje Formal 28 Observaciones : 1.- No se deben confundir los conectivos proposicionales ¬, ∧, ∨,⇒, ≡, que son signos del lenguaje formal, con las funciones inducidas por cada uno de los conectivos y que los denominamos : ¬', ∧', ∨', ⇒', ⇔'. 2.- La definición formal de la semántica exige en principio, para conocer el valor de verdad Φδ de una fórmula F, que esté definida por la aplicación δ, cuyo conjunto de partida es V. Teorema de Restricción El valor de verdad de EBF sólo depende de la variables proposicionales (v.p.) que intervienen en esta EBF. Demostración Sea F una EBF y a una variable proposicional, que no figura en F. Sea δ una distribución de valores de verdad cualquiera. Definimos δ' de la siguiente manera: δ' (p) = δ (p) si p … a δ' (p) = 1 - δ (a) Demostremos que Φδ' (F) = Φδ (F) por inducción sobre la formación de F: 1.- F = p , luego a … p y por definición δ' (p) = δ (p) . Por lo tanto, se cumplirá que : Φδ (p) = Φδ' (p). 2.- F = ¬ G , Φδ (F) = 1 - Φδ (G). Pero por hipótesis de recurrencia Φδ (G) = Φδ' (G). Luego tenemos que : Φδ (F) = 1 - Φδ' (G) = Φδ' (5 G) = Φδ' (F). 3.- F = G * H (donde * es cualquier conectivo binario del lenguaje) Φδ (F) = *' (Φδ (G), Φδ (H)) = *'H.R. (Φδ' (G), Φδ' (H)) = Φδ' (F) Observaciones: 1.- En lo sucesivo llamaremos L (F) (Se lee lenguaje de F) al conjunto de va- riables proposicionales, que figuran en la fórmula F. 2.- Esta inducción puede servir de esqueleto para las pruebas venideras; el esquema es el siguiente: (a) Probar la propiedad para toda la fórmula atómica. (b) Suponer que la propiedad está demostrada para toda fórmula de
  • 34. Semántica del Lenguaje Formal 29 complejidad estrictamente inferior a k y demostrar la propiedad para toda fórmula de complejidad igual a k (recurrencia amplia). Esto equivale a darse una fórmula F cualquiera y descomponerla según los dos únicos casos que se presentan de acuerdo a la sin- taxis del lenguaje: 2.1. F = 5 G ; 2.2. F = G * H. Algunas Consideraciones Respecto De Las Funciones De Verdad En la expresión matemática x = 2.y, se establece una vinculación tal entre las variables x e y, que cualquiera sea el valor de y, x asumirá un valor equivalente al valor de y multiplicado por 2. El valor de x, pues, depende del valor de y. Eso quiere expresarse cuando se afirma que x es una función de y. También la lógica estudia la relación funcional que existe entre las variables proposicionales y/o EBF. Consideremos el siguiente ejemplo: Las naranjas maduran y el invierno se avecina. que simbolizamos como p v q, es una fórmula o EBF molecular. Será como toda propo- sición, verdadera o falsa. A la lógica le interesa establecer de qué modo el valor de verdad (V o F) de las proposiciones moleculares depende, es una función, de los valores de verdad de las proposiciones que componen a dichas proposiciones moleculares. En nuestro ejemplo, la proposición compuesta será verdadera cuando las proposiciones "las naranjas maduran", "el invierno se avecina" sean ambas verdaderas. Bastará que una de ellas sea falsa para que la proposición compuesta también lo sea. Y si son falsas las dos proposiciones atómicas, con mayor razón será también falsa la proposición molecular. Cuando el valor de verdad de una proposición compuesta depende de los valores de verdad de las proposiciones que la componen, estamos ante una función de verdad. Se preguntará, ) acaso no ocurre eso siempre ?, ) acaso el valor de verdad de una proposición compuesta no depende invariablemente de las proposiciones que la componen ?. La respuesta es negativa. Pues hay proposiciones moleculares cuya verdad o falsedad no están condicionadas solamente por los valores de verdad de las proposiciones componentes. Veamos: Las naranjas maduran porque el invierno se avecina Hemos reemplazado en el mismo ejemplo el conectivo lógico ∧ por otro no lógico, "po- rque". Este último alude a un modo de relación entre fenómenos de la realidad. Aquí puede ocurrir que ambas proposiciones atómicas sean verdaderas y que la proposición compuesta no lo sea. Tal sería el caso si "Las naranjas maduran" fuera un fenómeno cuya causa no es "El invierno se avecina". La proposición compuesta que comentamos exige, por un lado, que ambas proposiciones componentes sean verdaderas. Por otro, que sea verdadero también el nexo objetivo que vincula ambos órdenes de fenómenos. A ésto se debe que una proposición compuesta semejante no sea función de las proposiciones componentes. Y como la lógica es una disciplina formal, ese tipo de conectivas como "porque", "a fin de qué", por ej., que suponen una referencia al mundo real, no serán consideradas por ella. Tradicionalmente se distingue entre la compresión y la extensión de las
  • 35. Semántica del Lenguaje Formal 30 proposiciones. La compresión es el significado de la proposición, aquello que ella significa. La extensión es el ámbito, mayor o menor según que la proposición sea universal, particular o individual, al cual la proposición hace referencia. Si la lógica actual no se ocupa de la compresión, es decir del contenido significativo de las proposiciones, será extensional. Pero ) qué debe entenderse por extensión de una proposición? No la amplitud de realidad que la proposición abarca, porque la lógica es ciencia formal, no se vincula con los hechos del mundo. Para la lógica proposicional, la extensión de una proposición se reduce a cubrir este ámbito mínimo: ser verdadera o falsa. En rigor, para esta lógica hay sólo dos proposiciones; una verdadera, otra falsa. Las infinitas proposiciones posibles pueden reducirse a dos grupos. el de las verdaderas, el de las falsas. Todas las verdaderas son equivalentes. Todas las falsas son equivalentes. La lógica bivalente no distingue (pues no se ocupa del sentido) entre: El hombre llegó a la luna Kant fue alemán Le basta saber que son verdaderas. Tampoco ve diferencia alguna entre: La Tierra es cuadrada Los monos hablan sánscrito Arriba dijimos que cuando el valor de verdad de una proposición molecular depende de los valores de verdad de las proposiciones que la componen, estamos ante una función de verdad. Pero no es imprescindible que una función de verdad sea una proposición molecular. Un esquema proposicional más simple, como ¬ p, por ejemplo, también es función de verdad. 2.3.- TABLAS DE VERDAD Veamos ahora con más detalles cómo un esquema proposicional realizado con una o más variables y conectivos es función de verdad de la proposición o proposiciones que la componen. Para ello formamos una Tabla de Verdad. Esta tabla se compone de dos partes. Una, ubicada a la izquierda, es la columna de referencia. Se coloca allí todos los valores posibles que pueden asumir una o más proposiciones. Si se trata de una sola proposición, la columna de referencia será: p V F
  • 36. Semántica del Lenguaje Formal 31 Si se emplean dos proposiciones, la columna de referencia es más compleja: p q V V V F F V F F Si se utilizan tres variables proposicionales, la tabla tendrá la siguiente forma: p q r V V V V V F V F V V F F F V V F V F F F V F F F La columna de referencia es el punto de partida para el cálculo proposicional. Cada una de sus líneas horizontales constituye una o más premisas para resolver qué valor le corresponde a una fórmula ubicada en el lado derecho de la tabla. Veamos un ejemplo, el más simple. Si queremos conocer cuál es el valor de verdad de la fórmula 5 p, empleamos la tabla con una sola variable: p ¬ p V F F V
  • 37. Semántica del Lenguaje Formal 32 La columna ubicada debajo de ¬ p es la columna matriz de dicha fórmula. Ella muestra el resultado del cálculo; cuando p es V (valor consignado en la primer línea horizontal de la columna de referencia), ¬ p es F; cuando p es F(segunda línea), ¬ p es V. Nótese, pues, que la proposición ¬ p es una función de (depende de) los valores de la proposición p, que forma parte de ¬ p. 2.4.- DEFINICIÓN DE LOS CONECTIVOS LÓGICOS En el ejemplo del apartado anterior, hemos mostrado cómo ¬ p es una función de verdad. Pero hemos definido también la negación. En efecto, la columna de la derecha, la columna matriz donde consignamos los resultados del cálculo, define al elemento " ¬ ", operador monódico. Daremos a continuación las tablas de verdad de los restantes conectivos lógicos o functores de verdad. * La conjunción o producto lógico: p q p ∧ q V V V V F F F V F F F F Es decir que la conjunción de dos proposiciones sólo es verdadera cuando ambas proposiciones lo son. Basta que una de ellas sea falsa para que también lo sea la proposición compuesta. * La disyunción o suma lógica: Es preciso distinguir en este conectivo dos sentidos muy diferentes que también posee la " O " en el lenguaje español. Veamos los dos ejemplos siguientes: Juan es escritor o músico La mesa es rectangular o circular En el último ejemplo, las dos proposiciones vinculadas por "O" son incompatibles. Una excluye a la otra y lo mismo ocurre al revés. Para que la proposición molecular sea verdadera, pues, es preciso que una de las proposiciones componentes sea falsa y es preciso también que otra sea verdadera. En el primer ejemplo, en cambio no hay incom- patibilidad entre ambas proposiciones. "Juan es escritor" y "Juan es músico" pueden ser ambas verdaderas. Lo cual no ocurre con "La mesa es circular" y "La mesa es rec- tangular". Llamaremos Inclusiva a este tipo de disyunción que acepta la verdad de ambas proposiciones componentes, pero exige que una de las proposiciones sea ver- dadera para que también el conjunto lo sea. Llamamos Exclusiva a la disyunción que
  • 38. Semántica del Lenguaje Formal 33 impone como requisito para que la proposición compuesta sea verdadera, que una de las proposiciones componentes sea falsa y la otra verdadera. Para esta disyunción exclusiva empleamos un signo propio : " x ". Su tabla de verdad o matriz es distinta de " w ". P q p ∨ q p q p x q V V V V V F V F V V F V F V V F V V F F F F F F Como veremos, puede prescindirse de la disyunción exclusiva sin que ello acarree dificultades para el cálculo. Puede, en efecto, expresarse lo mismo que la expresión compuesta p x q recurriendo al bicondicional. * El bicondicional o equivalencia : p q p ⇔ q V V V V F F F V F F F V Lo que afirma el bicondicional es que p es condición necesaria y suficiente para q, del mismo modo que q es condición necesaria y suficiente para p. En Si y sólo si un sistema está aislado, entonces su energía total es constante. queremos afirmar que la primera proposición es equivalente a la segunda, que cualquie- ra de ambas es condición necesaria y suficiente de la otra. En pocas palabras, que ambas proposiciones son equivalentes. En nuestro ejemplo hemos tomado dos pro- posiciones cuyas significaciones son fácticamente equivalentes. Pero ello no debe ocurrir. Si y sólo si los vegetales vuelan, entonces Sócrates vive. Si y sólo si la leche alimenta, la tierra se mueve. En estos dos ejemplos la tabla nos informa que existe equivalencia. El primero, en e- fecto, es un ejemplo de la última línea horizontal (F, F); el segundo lo es de la primera línea (V, V). Los resultados muestran, en ambos casos, V. A nadie se le escapará que dicha equivalencia está lejos de cumplirse en el campo de las significaciones de las proposiciones en cuestión. Pero debemos recordar una vez más que la significación no
  • 39. Semántica del Lenguaje Formal 34 es tenida en cuenta por la lógica de las proposiciones. )De qué equivalencia hablamos, entonces? Pura y simplemente de ésta: F es equivalente a F, por eso las dos proposicio- nes del primer ejemplo dan V; igualmente V es equivalente a V, por eso las dos proposiciones del segundo ejemplo conducen al resultado V. * El condicional o implicación: Este conectivo presenta algunas dificultades, pues su equivalencia con el giro gramatical "Si ...... entonces" es solo parcial. En efecto, "Si ..... entonces" en el lenguaje español permite conectar dos proposiciones en muy diversos sentidos. Los siguientes ejemplos son algunos de ellos: 1 Si es mamífero, es vertebrado. 2 Si el peso supera los mil kilogramos, la balanza se estropea. 3 Si estuviera muerto no respiraría. 4 Si se decide hoy, lo hará mañana. 5 Si todos los triángulos son figuras, el escaleno es figura. Todos son enunciados hipotéticos. En la estructura de estos enunciados hay, al menos, tres elementos importantes : (a) el antecedente, es decir la proposición comprendida entre el signo "Si" y el signo "entonces"; (b) el consecuente, o sea la proposición que sigue al signo "entonces"; (c) la afirmación de que siendo verdadero el antecedente, el consecuente también lo será. Es decir que estos enunciados afirman, no que el antecedente sea verdadero, sino que en caso de serlo también lo será el consecuente. Esto quiere afirmarse cuando se dice que el antecedente implica al consecuente. Ahora bien, esa implicación es de naturaleza múltiple. Los ejemplos antes mencionados son algunos modos de implicación. Los dos primeros establecen una relación entre dos órdenes de la realidad; 1 señala un vínculo permanente entre dos fenómenos; 2 indica no sólo un nexo constante entre dos hechos sino que además la producción del segundo por el primero, es decir apunta a un nexo causal. 3 alude no ya a una vinculación entre dos fenómenos reales sino posibles. Es más sugiere que el antecedente es falso, que no es un hecho. De ahí el nombre de contra fácticos que reciben estos enunciados hipotéticos formulados de un modo subjuntivo. Los órdenes que enlaza 4 son de distinta naturaleza; uno pertenece al ámbito de la conciencia, el otro forma parte de la realidad. 5 muestra una implicación completamente distinta porque no se refiere ni a la realidad ni a un hecho de conciencia; establece un nexo entre dos órdenes formales, ideales. Aquí el antecedente implica necesariamente, forzosamente al consecuente. Pero entre tantas diferencias (y otras muchas que aún pueden señalarse) de sentido que tiene "Si ..... entonces" en un idioma natural, como el español, habrá quizás un elemento común, un parentesco básico afín a esos múltiples sentidos. La ló- gica, cuando emplea el signo " ⇒ " pretende representar ese núcleo descarnado del concepto de implicación, sin procurar recoger en él, las múltiples significaciones que le otorga el lenguaje natural. Cualquiera sea el ejemplo de condicional que tomemos, lo que allí se afirma básicamente es que aceptando la verdad del antecedente, el consecuente no puede ser falso. Es decir que al afirmar que p ⇒ q, suponemos que p ∧ ¬ q será una proposición falsa. En la oración 1, por ejemplo, decir "Es mamífero y no vertebrado" sería precisa- mente lo opuesto de lo que el condicional quiso afirmar. Ahora bien, si la oración "Es
  • 40. Semántica del Lenguaje Formal 35 mamífero y no vertebrado" es lo opuesto de "Si es mamífero entonces es vertebrado", una proposición equivalente a este último condicional, será la negación de "Es mamífero y no vertebrado". En símbolos lógicos, tal negación se expresa de la siguiente forma: ¬ (p ∧ ¬ q). Esta fórmula es, efectivamente, equivalente a p ⇒ q. Por lo tanto, en la tabla de verdad ambas fórmulas tendrán igual matriz de valores de verdad. Veamos: P q ¬ q p ∧ ¬ q ¬ (p ∧ ¬ q) p ⇒ q V V F F V V V F V V F F F V F F V V F F V F V V Esta vez hemos utilizado la misma columna de referencia para calcular el valor de varias proposiciones. Como queríamos establecer el valor de ¬ (p ∧ ¬ q), empezamos cal- culando ¬ q, luego p ∧ ¬ q. Para el cálculo de Esta última fórmula usamos como refe- rencia la columna de p y la de ¬ q; se tuvo en cuenta, asimismo, la definición de con- junción. Una vez resuelto p ∧ ¬ q, es fácil resolver también su negación. Para ello simplemente se invierten los valores de verdad de la fórmula p ∧ ¬ q. Resumiendo, una proposición molecular formada por el signo de implicación es verdadera o cuando su consecuente es verdadero o cuando su antecedente es falso. El único caso en que es falsa se da cuando siendo verdadero el antecedente, su consecuente es falso. 2.4.1.- FORMULAS PROPOSICIONALES En lugar de utilizar la palabra proposición o expresión proposicional, podemos utilizar la palabra fórmula, o más bien específicamente fórmula proposicional. Las fórmulas aceptadas sintácticamente pueden describirse como que tienen una gramática libre de contexto simple similar a las gramáticas BNF utilizadas para describir lenguajes de programación. La sintaxis es de la misma forma, pero expresada matemáticamente diferente a lo visto en las secciones y capítulos anteriores, utilizando nuevos conceptos empleados por Chomsky. Nos servirá además como base simbólica de la teoría en la construcción de compiladores. Las reglas gramaticales son de la siguiente forma: símbolo ‰= símbolo - 1 . . . símbolo - N donde símbolo puede ser reemplazado por cualquier secuencia de N símbolos. Reglas de la forma: símbolo ‰= símbolo - 1 │. . . │símbolo - N
  • 41. Semántica del Lenguaje Formal 36 donde esta regla significa que símbolo puede ser reemplazado por cualquiera de los símbolos del lado derecho de la regla. Los símbolos que aparecen en el lado izquierdo son denominados no terminales, mientras que los símbolos que aparecen a la derecha de la regla son denominados terminales. Los no terminales representan gramaticalmente clases mientras que los terminales son palabras del lenguaje. Comenzando en un no terminal inicial, rescribir un no terminal reemplazándolo con una secuencia de símbolos del lado izquierdo de la regla. Esta construcción finaliza cuando la secuencia de símbolos consiste únicamente de terminales. Tal cadena de símbolos está correcta sintácticamente o bien formada en el lenguaje definido por la gramática. En el cálculo proposicional los terminales son los conectivos lógicos y el conjunto de símbolos arbitrarios denominados como el conjunto de proposiciones atómicas o átomos. Los átomos son denotados con letras minúsculas del alfabeto y posiblemente con subíndice. Definición 2.4.1.1: Una fórmula en el cálculo proposicional es una cadena generada por la siguiente gramática : fórmula :: = p Para cualquier p ∈ P fórmula :: = ¬ fórmula fórmula :: = fórmula op fórmula op :: = ∨ │ ∧ │ ⇒│ ⇐ │ ≡ Por ejemplo, la siguiente secuencia de símbolos muestra la derivación de la fórmula proposicional p v q, a partir de una fórmula no terminal inicial. 1.- fórmula 2.- fórmula op fórmula 3.- fórmula ∧ fórmula 4.- p ∧ fórmula 5.- p ∧ q, Cada fórmula tiene un único árbol de formación asociado con la representación de la aplicación de las reglas gramaticales utilizadas a tal fin. La Figura 2.4.1 indica el árbol de formación que representa la siguiente fórmula: p ⇒ q ≡ ¬ p ⇒ ¬ q ≡ b ` ⇒ ⇒ b ` b ` p q ¬ ¬ 9 9 p q Figura 2.4.1 Árbol de Formación
  • 42. Semántica del Lenguaje Formal 37 de acuerdo con la siguiente derivación : 1.- fórmula 2.- fórmula ≡ fórmula 3.- fórmula ⇒ fórmula ≡ fórmula 4.- p ⇒ fórmula ≡ fórmula 5.- p ⇒ q ≡ fórmula 6.- p ⇒ q ≡ fórmula ⇒ fórmula 7.- p⇒ q ≡ ¬ fórmula ⇒ fórmula 8.- p ⇒ q ≡ ¬ p ⇒ fórmula 9.- p ⇒ q ≡ ¬ p ⇒ ¬ fórmula 10.- p ⇒ q ≡ ¬ p ⇒ ¬ q Sin embargo, la anterior secuencia de símbolos es ambigüa y puede ser igualmente representada por otro árbol de formación, que por ejemplo puede ser obtenido expandiendo los no terminales en una secuencia diferente. Existen tres modos diferentes de resolver ambigüedades si ellas representan fórmulas. La secuencia lineal de símbolos puede ser creada por un pre-orden transversal del árbol de formación: * Considerar la raíz. * Considerar el sub-árbol izquierdo. * Considerar el sub-árbol derecho. otorgando la siguiente expresión para el primer árbol : ≡ ⇒ pq ⇒ ¬ p ¬ q y la siguiente expresión para el segundo árbol : ⇒ p ≡ q ¬ ⇒ p ¬ q Esta notación es denominada Notación Polaca luego que el grupo de lógicos comandados por J. Lukasiewicz la inventaran a principios de siglo. La notación es difícil de interpretar para muchas personas y no es muy utilizada, excepto en la representación interna de una expresión en una computadora y en algunas operaciones de cálculo. La ventaja de la notación polaca es que una expresión puede ser ejecutada o calculada en un orden lineal a medida que aparecen los símbolos. El segundo modo de resolver una ambigüedad es a través de la utilización de paréntesis. La gramática deberá cambiarse a las siguientes reglas : fórmula :: = p Para cualquier p 0 P fórmula :: = (¬fórmula) fórmula :: = (fórmula op fórmula) op :: = ∨ │ ∧ │ ⇒│ ⇐ │ ≡
  • 43. Semántica del Lenguaje Formal 38 Las dos fórmulas siguientes son ahora representadas por distintas cadenas y de esa forma no existirá ambigüedad: ((p ⇒ q) ≡ ((¬ q) ⇒ (¬ p))) (p ⇒ (q ≡ (¬ (p⇒ (¬ q))))) El problema con los paréntesis es que cargan demasiado a las fórmulas y las hacen difícil de leerlas. El tercer modo de resolver la ambigüedad dentro de las fórmulas o expresiones lógicas es definir las convenciones de precedencia y de asociatividad entre los conectivos lógicos. A través del uso de los paréntesis podemos determinar y obtener la asociatividad en las fórmulas proposicionales. El orden de precedencia de los conectivos lógicos en las fórmulas es el siguiente de mayor a menor: ¬ , ∧ , ∨ , ⇒ , ⇐ , ⇔ , ≡ 2.4.2.- INTERPRETACIONES BOOLEANAS Consideremos las expresiones aritméticas. Dada una expresión E tal como por ejemplo la siguiente a ( b + 2, podemos asignar valores a los elementos a y b y luego evaluar la expresión. Por ejemplo si a = 2 y b = 3 entonces la evaluación de E es de 8 . Debemos ahora definir un concepto análogo para las fórmulas booleanas o expresiones lógicas, o más bien las denominadas interpretaciones booleanas, que por razones históricas utilizan terminologías diferentes. Antes de seguir adelante debemos incluir una regla más dentro de la sintaxis de las fórmulas proposicionales y es aquella que considera a dos proposiciones atómicas constantes falso y verdadero, que de algún modo es similar a la valorización de las expresiones lógicas o de las proposiciones. En consecuencia tenemos que: fórmula :: = falso │ verdadero Definición 2.4.2.1: Sea A una fórmula proposicional y sea el conjunto {p1, ... , pn} de proposiciones o átomos que aparecen en A. Una Interpretación para A es la siguiente función: v : {p1, ... , pn} ⇒ {V, F} o sea que v asigna uno de los valores de verdad F o V a la fórmula A de acuerdo a los valores de verdad asignados en las diferentes tablas de verdad para cada uno de los conectivos lógicos. Por ejemplo, dada la siguiente fórmula: (p⇒ q) ≡ (¬ q ⇒ ¬ p) y la interpretación siguiente :
  • 44. Semántica del Lenguaje Formal 39 v(p) = F , v(q) = V en función de tal interpretación podemos calcular el valor de verdad de la fórmula : v (p ⇒ q) = V v (¬ q) = F v (¬ p) = V v (¬ q ⇒ ¬ p) = V v ((p ⇒ q) ≡ (¬ q ⇒ ¬ p)) = V Ya que cada fórmula A está representada por un único árbol de formación, v está bien definida. Ello significa que dado un A y una interpretación v, v(A) tiene exactamente un valor cuando la definición inductiva se lleva a cabo. Si tratamos de usar la definición sobre la cadena p ⇒ q ⇒ p sin el concepto de árbol de formación, entonces para v(p) = F y v(q) = V, la interpretación v(A) podrá evaluarse como V o F dependiendo del orden de la evaluación : v ( p ⇒ ( q ⇒ p )) = V v (( p⇒ q ) ⇒ p ) = F Como un punto técnico, es conveniente decir que v es una interpretación para A si v asigna valores al menos a los átomos de A. Si se asigna a más átomos que aquellos que aparecen en A, podemos ignorar las asignaciones extras cuando computamos v(A). 2.5.- TAUTOLOGÍA, CONTRADICCIÓN E INDEFINIDOS Hemos empleado las tablas de verdad para mostrar cómo una función de verdad depende efectivamente de los valores de verdad de la proposición o de las proposi- ciones que la componen. En la columna izquierda, que llamamos de referencia, colocamos todos los valores de verdad posibles que pueden asumir dichas proposicio- nes componentes. En la columna derecha, que llamamos matriz, consignamos los resul- tados del cálculo. En segundo lugar, hemos utilizado las tablas de verdad para definir cada una de los conectivos lógicos. Pero aún existen otros usos más que haremos de las tablas de verdad: 1.- Para determinar el valor de verdad de las proposiciones. 2.- Para determinar el carácter de las proposiciones. 3.- Para descubrir relaciones entre proposiciones dadas. 4.- Para determinar la validez de razonamientos. A continuación veremos cada uno de estos ejemplos de las tablas, salvo el último que lo trataremos más adelante.
  • 45. Semántica del Lenguaje Formal 40 1.- Para determinar el valor de verdad de las proposiciones componentes Cualquier esquema proposicional que enlace sus proposiciones componentes con una o más conectivos lógicos, ya lo indicamos, tiene un valor de verdad de- terminado. La determinación de dicho valor puede hacerse recurriendo a la tabla. En el apartado anterior vimos dos ejemplos sencillos, ¬ p y ¬ (p ∧ ¬ q), cuyos valores de verdad calculamos usando como punto de partida la columna de referencia. Aunque la complejidad de la fórmula aumente, la tabla nos permitirá en forma mecánica establecer cuáles valores corresponden a la misma. Veamos el ejemplo siguiente: Deseamos determinar el valor de la fórmula ¬ [(p ⇒ q) ≡ (p ∧ q)] Para ello seguimos este orden: calculamos primero los conectores de menor alcance (el condicional y la conjunción), luego el que los sigue en mayor alcance (el bicondicional) y finalmente el de mayor alcance (la negación). Las matrices primera y segunda (todas las matrices se colocan debajo del conectivo, pues él determina los valores de la fórmula) se calcularon teniendo en cuenta la columna de referencia; la tercer matriz está construida en base a las dos pri- meras y la cuarta matriz en función de la tercera. Como se verá, es im- prescindible para poder hacer el cálculo de valores de verdad tener presente las definiciones de los diferentes conectivos o conectores lógicos. p q (p ⇒ q) (p ∧ q) (p ⇒ q) ≡ (p ∧ q) 5[(p ⇒ q) ≡ (p ∧q)] V V V V V F V F F F V F F V V F F V F F V F F V 2.- Para determinar el carácter de las proposiciones Veamos ahora cómo la tabla permite determinar el carácter de las proposicio- nes. Tomemos los siguientes ejemplos: (p ∨ q); (p ⇒ q) ≡ (5 p ∨ q); p ∧ (5 p ∧ q) p q (p ∨ q) (p ⇒ q) ≡ (¬ p ∨ q) p ∧ (¬ p ∧ q) V V V V V V F F V F V F V F F F F V V V V V F V F F F V V V F F
  • 46. Semántica del Lenguaje Formal 41 Si se observan los valores de verdad que muestran las tres EBF (dichos valores están ubicados en todos los casos debajo del conectivo de mayor alcance) se percibirá una notable diferencia entre ellos; el primero es verdadero algunas veces (tres veces) y falso otra; el segundo es siempre verdadero y el tercero es siempre falso. Los enunciados o fórmulas del primer tipo, aquellos que a veces son falsos y otras verdaderos, reciben el nombre de INDEFINIDOS. Los del segundo tipo, siempre verdaderos, se denominan TAUTOLOGÍAS; los del tercer tipo, siempre falsos, son de- nominados CONTRADICCIONES. Definiremos estos tres tipos de expresiones recurriendo a las nociones de Avaloración y de Dominio, introducidas por Carnap. Se entiende por Avaloración al conjunto de combinaciones de los valores de verdad de una fórmula. Tomemos por e- jemplo, la fórmula p ∨ q: debajo de ella están los resultados del cálculo, que son cuatro según se parta de los valores VV, VF, FV o FF de las proposiciones componentes. Esos cuatro resultados constituyen la avaloración de p ∨ q. Dominio, en cambio, alude solamente a aquellos casos de avaloración verdaderos. En la expresión lógica considerada, el dominio es igual a tres. El dominio se denomina pleno cuando coincide con la avaloración, cuando todas las combinaciones entre V y F dan por resultado siempre V. El dominio se dice vacío cuando en la avaloración sólo figuran F, cuando todas las combinaciones entre V y F conducen a F. Ahora podemos definir a la Tautología como aquella fórmula cuyo dominio es pleno, o en la que todas las interpretaciones son verdaderas. Esto también suele denominarse como que el modelo es válido. A la contradicción como aquella fórmula que tiene un dominio vacío, o cuando todas las interpretaciones son falsas, suele decirse que la fórmula no es satisfacible o satisfecha. A la indefinida (o sintética) como una fórmula cuyo dominio es parcial, es decir que incluye V en su avaloración, pero también F, o cuando las interpretaciones son algunas falsas y otras verdaderas, en cuyo caso diremos que la fórmula es satisfacible o que está satisfecha. Recordemos el concepto de interpretación. Interpretar una fórmula es adjudi- carle un contenido significativo. El ejemplo p ∧ q, es una fórmula vacía y como tal la estudia la lógica. Pero podemos convenir dentro de cierto contexto, que p ∧ q signifique "El zorzal silba y el loro habla", por ejemplo. Decimos entonces que la fórmula considerada está interpretada. Ahora bien, ocurre que cuando interpretamos las fórmulas lógicas descubrimos que sus propiedades son muy distintas según se trate de una tautología, de una contradicción o de una fórmula indefinida. Lo veremos en los siguientes ejemplos: P q p ∧q p ∨ ¬ p p ∧ ¬ p V V V V F V F F V F F V F V F F F F V F
  • 47. Semántica del Lenguaje Formal 42 La segunda fórmula, p ∨ ¬ p, es tautológica. Si la interpretamos, es fácil ver que nada nos informa sobre la realidad. En efecto, "El zorzal silba o el zorzal no silba", nada me permite conocer sobre el comportamiento real del zorzal. Sé que es verdad que o el zorzal silba o no lo hace, su conducta ha de ser una u otra. Pero no sé cuál es porque la tautología nada me informa. Algo semejante ocurre con el tercer ejemplo, que es una contradicción, p ∧ ¬ p. Ante una afirmación como "El zorzal silba y el zorzal no silba", no dudamos en desecharla como indudablemente falsa pues atribuye si- multáneamente dos conductas contradictorias al zorzal. Nos resulta imposible concebir que el zorzal esté silbando y no lo esté haciendo. Aunque de distinto modo, las fórmulas contradictorias interpretadas hacen algo semejante a las tautologías: nada nos informa sobre los hechos. El segundo ejemplo, en cambio, algo nos informa sobre la realidad cuando es in- terpretado. Efectivamente, si se que p ∧ q es verdadero, si se que "El zorzal silba y el loro habla" es verdadero, tengo un conocimiento del modo de ser de la realidad en cuestión. No ocurre aquí, lo que ocurría con p ∨ ¬ p. Pues podíamos estar seguros de que esta última expresión era absolutamente verdadera y sin embargo nada conocer de la realidad que hablaba. La verdad de p ∧ q es más fuerte que la de p ∨ ¬ p cuando ponemos en vinculación ambas fórmulas con la realidad. La tautología parece ser un esquema no apto para retener significados del mundo real. La contradicción es un esquema incompatible con la realidad. Las fórmulas indefinidas, en cambio, pueden expresar una significación real. Para terminar este punto recordemos que nuestro propósito era mostrar cómo la tabla de verdad sirve para determinar el carácter de las proposiciones, es decir de- terminar en forma indudable, si cualquier fórmula, EBF o enunciado es contradictoria, tautológica o indefinida. Hemos visto varios ejemplos. Si al resolver el valor de verdad de una fórmula nos damos con que su matriz tiene dominio pleno estamos ante una tautología; si el dominio es vacío, ante una contradicción y si es parcial estamos ante una fórmula indefinida o sintética. 3.- Para descubrir relaciones entre las proposiciones dadas Veamos cómo la tabla de verdad sirve también para descubrir relaciones dife- rentes entre dos fórmulas cualesquiera. Observemos los siguientes dos ejem- plos: p ⇒ q y ¬ ( ¬ p ∨ q) A simple vista no podemos saber qué relación guardan ambas fórmulas entre sí. Pero haciendo la tabla de verdad de ambas esa relación puede mostrarse claramente a través de ella. Salta a la vista que la matriz de la segunda fórmula (ubicada bajo la negación fuera del paréntesis) es inversa punto por punto a la matriz de la primera fórmula; cuando aquella es F, ésta es V; cuando aquella es V, ésta es F. Decimos, en casos así, que una fórmula es la negación de la otra, que una contradice a la otra y viceversa. En suma, que la relación entre ambas es la contradicción.
  • 48. Semántica del Lenguaje Formal 43 p q p ⇒ q ¬ (¬ p ∨ q) V V V F V V F F V F F V V F V F F V F V Pero existen otras relaciones posibles. Consideremos las siguientes dos expre- siones lógicas: p ∧ q y p ≡ q Recordemos sus correspondientes tablas de verdad: p q p ∧ q p ≡ q V V V V V F F F F V F F F F F V )Qué ocurrirá si entre ambas matrices colocamos el signo de la implicación? Es decir, )qué resultado tendrá esta fórmula que combina las dos anteriores por medio del condicional? (p ∧ q) ⇒ (p ⇔ q). Recurramos nuevamente a la tabla: p q (p v q) ⇒ (p ⇔ q) V V V V V V F F V F F V F V F F F F V V El resultado de la implicación es siempre V. Es decir que la primer fórmula o expresión lógica (p v q) implica a la segunda (p ⇔ q). Entre dos fórmulas cualesquiera dadas, recurriendo a la tabla puede establecerse fácilmente (como en el ejemplo con- siderado), si una de ellas implica a la otra o no. Notar que en el ejemplo realizado, que
  • 49. Semántica del Lenguaje Formal 44 si bien (p ∧ q) implica (p ⇔ q), no ocurre lo mismo al revés : (p ⇔ q) implica a (p ∧ q). Por esta sencilla razón: hay un caso en que el antecedente (p ⇔ q) es ahora V y el consecuente (p ∧ q) es F, en la última línea horizontal. La implicación en ese caso único, sería falsa. Pero ese caso de F basta para que la matriz de la implicación no sea una tautología. En resumen, la relación entre ambas fórmulas es de implicación si (p ∧ q) es antecedente, pero no lo es si (p ⇔ q) es el antecedente. Pero existe una relación posible entre dos fórmulas que para nosotros tendrá mayor utilidad en los cálculos a realizar en otros apartados. Como en los dos casos anteriores, también aquí la tabla pone al descubierto esta nueva relación. Tomemos nuevamente dos ejemplos: ¬ (p ∧ q) y (¬ p ∨ ¬ q) p q ¬ (p ∧ q) (¬ p ∨ ¬ q) V V F F V F V V F V V V F F V V Las matrices de ambas fórmulas son idénticas, son equivalentes. Es decir que si colocamos entre ambas el signo del conectivo bicondicional o equivalencia, ob- tendremos una matriz tautológica, una matriz que sólo tendrá V. Lo mismo ocurrirá con este segundo ejemplo: ¬ (p ∨ q) y (¬ p ∧ ¬ q). p q ¬ (p∨ q) (¬ p ∧ ¬ q) V V F F V F F F F V F F F F V V Ambas fórmulas son, pues, equivalentes. Es decir que la fórmula compuesta por estas últimas: ¬ (p ∨ q) ≡ (¬ p ∧ ¬ q) es tautológica. Y también la resultante de unir las dos del primer ejemplo con el bi- condicional: ¬ (p ∧ q) ≡ (¬ p ∨ ¬ q)
  • 50. Semántica del Lenguaje Formal 45 Ambas tautologías, como todas las tautologías, son Teoremas de la lógica pro- posicional. Los dos teoremas mostrados anteriormente reciben el nombre de Teoremas de De Morgan. Pero estas equivalencias tienen para nosotros un particular interés. Porque, como se puede observar, no sólo son equivalentes dos fórmulas entre sí en los ejemplos dados. Existen en ellas, además, un detalle importante: emplean conectivos diferentes y a pesar de ello sus matrices son idénticas. Ello hace que nos preguntemos, en una forma más general: )toda fórmula expresada por un conectivo tiene su equivalente en otra expresión bien formada que utiliza un conectivo diferente? La respuesta a ello es afirmativa. Veamos ahora a qué reglas debe someterse el traslado de una fórmula a su equivalente con un conectivo diferente. Empecemos con la conjunción y con la disyun- ción. (a).- Para pasar de una expresión expresada en conjunción a otra expresión equiva- lente expresada en disyunción: primero cambiar el valor del conjunto (si el conjunto está negado, pasa a ser afirmativo y viceversa). Segundo, cambiar también el valor de las proposiciones componentes. Esto es lo que se hizo en el ejemplo ¬ (p ∧ q). Primero se cambió el valor del conjunto y segundo se invirtió también el de las proposiciones componentes, p y q; el resultado fue la fórmula equivalente: (¬ p ∨ ¬ q). Es importante destacar que la misma regla se emplea para pasar de disyunción a conjunción. Es lo que vimos en el segundo teorema de De Morgan. La fórmula original era ¬ (p ∨ q). Siguiendo iguales indicaciones que en el caso anterior, resulta la fórmula equivalente expresada en conjunción: (¬ p ∧ ¬ q). Si se construyen las tablas de las siguientes equivalencias, se comprobará que todas ellas son tautologías, o teoremas: ( p ∧ q ) ≡ ¬ (¬ p ∨ ¬ q) (¬p ∧ q ) ≡ ¬ ( p ∨ ¬ q) ¬ ( p ∧ ¬ q) ≡ (¬ p ∨ q) ( p ∨ q ) ≡ ¬ (¬ p ∧ ¬ q) (b).- Para pasar de una fórmula expresada en conjunción a otra fórmula equivalente, pero expresada en condicional, la regla que utilizamos es distinta a la anterior. Esta vez debemos, primero cambiar el valor del conjunto y, segundo, cambiar el valor del segundo miembro. Por ejemplo, (p ∧ q) será equivalente a la expresión ¬ (p ⇒ ¬ q), lo cual se confirma fácilmente con la siguiente tabla:
  • 51. Semántica del Lenguaje Formal 46 p q (p ∧ q) ¬ (p ⇒ ¬ q) V V V V V F F F F V F F F F F F La misma regla nos permite pasar de condicional a conjunción. Es lo que se hizo cuando definimos la implicación (p ⇒ q) como sinónimo o equivalente de la expresión ¬ (p ∧ ¬ q). (c).- Para pasar de disyunción a condicional o viceversa, la regla indica simplemente: cambiar solamente el valor del primer miembro. La proposición (p ∨ q), por ejem- plo, será equivalente a (¬p⇒ q). p q (p ∨ q) (¬ p ⇒ q) V V V V V F V V F V V V F F F F Y la implicación (p ⇒ q) será equivalente a una disyunción siguiendo la misma regla. En este caso será (¬ p ∨ q), otra fórmula equivalente del condicional. Esta última expresión será, forzosamente, también equivalente a ¬ (p ∧ ¬ q) y que, como se vio anteriormente, era también equivalente a la implicación. No hemos agotado las equivalencias. Simplemente consideramos algunas de el- las, que serán importantes para el cálculo posterior. Indicaremos a continuación algunas de las equivalencias más importantes y que son de gran utilidad en el cálculo proposicio- nal. Debemos recordar que todas ellas son teoremas o tautologías. (1) (p ⇔ q) ≡ [(p ⇒ q) ∧ (q ⇒ p)] Bicondicional (2) (p ⇔ q) ≡ [(p ∧ q) ∨ (¬ p ∧ ¬ q)] Bicondicional (3) (p ∨ q) ≡ (q ∨ p) Conmutación de ∨ (4) (p ∧ q) ≡ (q ∧ p) Conmutación de ∧ (5) [p ∨ (q ∨ r)] ≡ [(p ∨ q) ∨ r] Asociación de ∨ (6) [p ∧ (q ∧ r)] ≡ [(p ∧ q) ∧ r] Asociación de ∧ (7) ¬ (¬ p) ≡ p Doble Negación (8) (p ⇒ q) ≡ (¬ q ⇒ ¬ p) Transposición (9) p ≡ (p w p) Tautología
  • 52. Semántica del Lenguaje Formal 47 (10) [(p ∧ q) ⇒ r] ≡ [p ⇒ (q ⇒ r)] Exportación (11) [p ∧ (q ∨ r)] ≡ [(p ∧ q) ∨ (p ∧ r)] Distributiva de v (12) [p ∨ (q ∧ r)] ≡[(p ∨ q) ∧ (p ∨ r)] Distributiva de w 2.6.- SATISFACTORIO , VALIDEZ Y CONSECUENCIA Definición 2.6.1: Una fórmula proposicional A es satisfactoria si su valor es verdadero en alguna interpretación. Una interpretación satisfactoria es denominada como un modelo para A. Una fórmula A es válida si su valor es verdadero para todas interpretaciones, a lo cual lo denotamos como: Ö A Definición 2.6.2: Una fórmula proposicional A es no satisfactoria o contradictoria si no es satisfactoria, o sea que, su valor es falso para todas interpretaciones. Es no válida o falsa si no es válida, o sea que, es falsa para algunas interpretaciones. 2.7.- LÓGICA TRIVALENTE (LUKASIEWICZ) Consideramos una lógica con tres valores de verdad designados por las letras "V", "F" y "I" (Verdadero, Falso, Indeterminado), con los mismos conectivos lógicos: Negación "¬", Conjunción "∧", Disyunción "∨", Condicional "⇒" y Bicondicional "⇔", definidos por las tablas de verdad siguientes: P ¬ p p q p ∨ q p ∧ q p ⇒ q p ⇔ q V I V V V V V V I F V I V I I I F V V F V F F F I V V I I I I I I I I I I F I F I I F V V F V F F I I F V I F F F F V V Llamaremos Tautología, como en la lógica bivalente, a las expresiones bien formadas que toman el valor V para cualquier combinación de valores de verdad de las proposiciones o EBF componentes de la expresión dada. De igual forma tendremos las Contradicciones (siempre falso) y las Indefiniciones (siempre indeterminados).
  • 53. Semántica del Lenguaje Formal 48 2.8.- NOCIÓN GENERAL DE SISTEMAS AXIOMÁTICOS Un sistema axiomático, en matemática, consiste en los siguientes objetos : i) términos primitivos constituidos por elementos, conjuntos o relaciones, cuya naturaleza no queda especificada de antemano. ii) axiomas, que son fundamentalmente funciones proposicionales cuantificadas, relativas a las variables que representan a los términos pri- mitivos; es decir, son propiedades a las que deben satisfacer dichos términos primitivos. Los axiomas definen implícitamente a éstos. iii) definiciones, de todos los términos no primitivos. iv) teoremas, es decir, propiedades que se deducen de los axiomas. Anexado al Sistema Axiomático se admite la lógica bivalente, con cuyas leyes es posible demostrar los teoremas de la teoría. Cuando se sustituyen las variables o tér- minos primitivos por significados concretos, se tiene una interpretación del sistema axiomático; si esta interpretación es tal que los axiomas se convierten en proposiciones verdaderas, entonces se tiene un modelo del sistema axiomático. En este caso, todo lo demostrado en abstracto en el sistema es válido para el modelo, y nada hay que probar en particular. Ejemplo 2.8.1. Consideremos el siguiente sistema axiomático. i) términos primitivos. Un conjunto A, y una relación R definida en A, es decir: R d A x A No se especifica aquí cuál es el conjunto ni se define la relación. ii) axiomas A1: R es reflexiva en A. A2: R es antisimétrica en A. A3: R es transitiva en A. Los tres axiomas pueden resumirse en el siguiente: R es una relación de orden amplio en A. iii) definición: en A se considera la relación S, tal que: (a, b) 0 S / (b, a) 0 R iv) teoremas: Demostramos la siguiente propiedad relativa a S: S es reflexiva en A.
  • 54. Semántica del Lenguaje Formal 49 ∀ a : a ∈ A → (a, a) 0 R por A1 (a, a) 0 R → (a, a) ∈ R por iii) Entonces, por la ley del silogismo hipotético, resulta: œ a : a 0 A → (a, a) 0 S y en consecuencia, S es reflexiva en A. Con un procedimiento análogo, se demuestra que S es antisimétrica y transitiva en A. Ello significa que la relación S, inversa de R, determina un orden amplio en A. Damos las siguientes interpretaciones para este sistema axiomático: a).- Si A es el conjunto de los números reales, y R es la relación de "menor o igual", se verifican A1, A2 y A3. La relación S es, en este caso, la de "mayor o igual". Se tiene un modelo del sistema axiomático. b).- Si A es el conjunto de las partes de un conjunto U, y R es la relación de inclusión, entonces valen los axiomas y se tiene otro modelo del sistema. 2.8.1.- PROPIEDADES DE LOS SISTEMAS AXIOMÁTICOS No toda elección arbitraria de términos primitivos y de propiedades relativas a estos, caracteriza un determinado sistema axiomático. Es necesario que de los axiomas no se derive ninguna contradicción, O si en el sistema aparecen dos axiomas o teoremas contradictorios, entonces el sistema es incompatible o inconsistente. Otra propiedad es la independencia del sistema, en el sentido de que ningún a- xioma puede probarse a expensas del resto de los axiomas presentes dentro del siste- ma. La no independencia no niega la consistencia del sistema. 2.9.- LA LÓGICA PROPOSICIONAL COMO UN SISTEMA AXIOMÁTICO El análisis del cálculo proposicional ha seguido un orden determinado; este orden está bien lejos de constituir lo que comúnmente denominamos como Sistema. Es decir una organización tal del conocimiento en la que unos aspectos de la misma se deducen de otros aspectos y que unos determinados símbolos se definan a partir de otros símbolos. Un conjunto de conocimientos constituye un sistema deductivo o axiomático, cuando a partir de ciertos puntos de apoyo no definidos, ni demostrados, se define y se demuestra ese conjunto de conocimientos. Un sistema axiomático, dentro de la lógica proposicional, consiste en los siguientes objetos: i) términos primitivos constituidos por proposiciones y por conectivos principales lógicos. En algunos casos son denominados también como símbolos terminales cuando son simples y no terminales cuando son compuestos. ii) axiomas y teoremas, que fundamentalmente son funciones proposicionales, relativas a las variables que representan a los términos primitivos; es decir, son tautologías que deben satisfacer dichos términos
  • 55. Semántica del Lenguaje Formal 50 primitivos. Los axiomas son fbf tautológicas que no pueden ser dedu- cidos de otras fbf tautológicas, es decir son independientes. En cambio los teoremas son fbf tautológicas que pueden ser deducidos o probados a través de la utilización de los axiomas. iii) definiciones, expresiones, fórmulas lógicas que son derivadas de los teoremas o axiomas y que a veces son considerados como términos no primitivos. iv) reglas, es decir, propiedades que deben cumplir las proposiciones o fórmulas lógicas. De entre ellas tenemos: Reglas de Formación. Son aquellas que dan lugar a la constitución sintáctica del sistema axiomático cuando el mismo es considerado como un lenguaje formal. Reglas Transformación Son aquellas que permiten la transformación de fbf tautológicas en otras fbf tautológicas y además existen las de- nominadas Reglas de Inferencia, las que definen las operaciones sintácticas por la cual pueden generarse nuevas fórmulas fbf. v) signos auxiliares o términos no primitivos constituidos por todos aquellos elementos no primitivos, entre ellos podemos considerar los símbolos de puntuación lógicos. 2.9.1.- SISTEMAS GENTZEN El sistema axiomático G ha describirse a continuación es denominado como el Sistema Gentzen en honor al lógico que inventó este sistema formal. Definición 2.9.1: El sistema formal G consiste de axiomas y de reglas de inferencia. Un Axioma es cualquier conjunto de fórmulas U que contienen un par complementario de literales: {p, ¬ p} ∈ U y las reglas de inferencia son de la siguiente forma: U1 ^ (α1, α2) U1 ^ (α) donde las descomposiciones α y β, se indican en las figuras 4.2.1 y 4.2.2. El conjunto de fórmulas por encima de la línea son denominadas premisas y el conjunto de fórmulas por debajo de la línea es denominado como la conclusión. A partir de las premisas podemos inferir la conclusión o que la conclusión puede ser probada o comprobada a partir de las premisas Intuitivamente, si tenemos pruebas independientes de dos fórmulas podemos en consecuencia inferir su conjunción y si tenemos una prueba de un conjunto de fórmulas podemos entonces inferir sus conjunciones.
  • 56. Semántica del Lenguaje Formal 51 Definición 2.9.2: Una prueba en G es una secuencia de fórmulas tal que cada elemento es un axioma o puede ser inferido a partir de uno o dos elementos previos de una secuencia utilizando una regla de inferencia. Si A es el último elemento de una secuencia, la secuencia es denominada como una prueba de A y de este modo A es demostrable. Notación empleada: | A α α1 α2 A ¬¬ A ¬ (A1 ∧ A2) ¬ A1 ¬ A2 A1 ∨ A2 A1 A2 A1 ⇒ A2 ¬ A1 A2 A1 ⇐ A2 A1 5 A2 ¬ (A1 ⇔ A2) ¬ (A1 ⇒ A2) ¬ (A2 ⇒ A1) Figura 2.9.1 : Reglas α de Inferencia para el Sistema Gentzen La comprobación es escrita como una secuencia de conjuntos de fórmulas las que son numeradas para una referencia conveniente. A la derecha de cada conjunto numerado de fórmulas colocamos la justificación con la cual cada conjunto puede ser inferido. La justificación puede ser el axioma a aplicarse o una regla de inferencia aplicada al conjunto o conjuntos de fórmulas en el paso anterior de la secuencia. Si se ha utilizado una regla de inferencia, debe ser identificada como regla-α o regla-β sobre el conectivo principal de la conclusión y el número o números de las líneas conteniendo las premisas. β β1 β2 ¬ (B1 ∨ B2) ¬ B1 ¬ B2 B1 ∧ B2 B1 B2 ¬ (B1⇒ B2) B1 ¬ B2 ¬ (B1 ⇐ B2) ¬ B1 B2 B1 ⇔ B2 B1 ⇒ B2 B2 ⇒ B1 Figura 2.9.2 : Reglas β de Inferencia para el Sistema Gentzen Consideremos un ejemplo:
  • 57. Semántica del Lenguaje Formal 52 Ejemplo 2.9.1: | (p ∨ q) ⇒ (q ∨ p) Demostración: 1.- ¬ p, q, p Axioma 2.- ¬ q, q, p Axioma 3.- ¬ (p ∨ q) , q , p Regla-β - ∨ , (1) , (2) 4.- ¬ (p ∨ q) , q ∨ p Regla-α - ∨ , (3) 5.- (p ∨ q) ⇒ (q ∨ p) Regla-α - ⇒ , (4) Podemos realizar la comprobación en el Sistema de Gentzen utilizando cualquiera de los métodos de decisión explicados en el Capítulo III. 2.9.2.- SISTEMA AXIOMÁTICO DE RUSSEL Los elementos básicos del sistema proposicional de Russel son los siguientes: A.- Términos Primitivos 1: " 5 " Negación. 2: " ∨ " Disyunción 3: p, q, s Proposiciones B.- Axiomas o Teoremas A1: (p ∨ q) ⇒ p A2: q ⇒ (p ∨ q) A3: (p ∨ q) ⇒ (q ∨ p) A4: (q ⇒ r) ⇒ [(p ∨ q) ⇒ (p ∨ r)] C.- Definiciones 1: p ⇒ q ≡ df. (¬ p ∨ q) 2: p v q ≡ df. ¬ (¬ p ∨ ¬ q) 3: (p ⇔ q) ≡ df. (p ∧ q) ∨ (¬ p ∧ ¬ q) D.- Reglas a).- De Formación 1: Las fórmulas p, q, r, s están bien formadas (fbf). 2: Si p es una fbf, entonces ¬ p es una fbf. 3: Si una conectiva lógica está flanqueada por una fbf, el conjunto constituye una fbf. b).- De Transformación 1: Regla de Sustitución Uniforme. Si en una tautología (axioma o teorema) sustituimos una variable proposicional en todos los casos por una fbf, la fórmula resultante también es tautológica.
  • 58. Semántica del Lenguaje Formal 53 2: Regla de Inferencia. Si en una implicación, que es teorema, el antecedente lo es también, en consecuencia el consecuente es también un teorema. E.- Signos Auxiliares 1: Todos los símbolos de puntuación lógica. Ejemplo N1 1:Consideremos el siguiente ejemplo de utilización de la Regla de Sustitu- ción Uniforme, la que nos permite que a partir de cualquier tau- tología (axioma o teorema) llegar a otra fbf igualmente tauto- lógica. A2 1) q ⇒ (p ∨ q) En 1) p ⇒ q/ q 2) (p ⇒ q) ⇒ [p ∨ (p ⇒ q)] Otro ejemplo de reemplazo es considerar el siguiente ejercicio: A3 1) (p ∨ q) ⇒ (q ∨ p) En 1) def. de ⇒ 2) (¬ p⇒ q) ⇒ (q w p) 2.9.3.- SISTEMA AXIOMÁTICO DE HILBERT Al comparar este Sistema Axiomático de Hilbert con el de Russel, podemos indi- car las diferencias que se presentan y que son las que se presentan en los Términos Primitivos a los que se agregan la Implicación y la Conjunción; y dentro de los Axiomas debemos considerar 10 (diez) más importantes, sin embargo enunciaremos algunos otros teoremas o tautologías. A.- Términos Primitivos 1: " ¬ " Negación. 2: " ∨ " Disyunción 3: " ∧ " Conjunción 4: "⇒ " Implicación 5: p, q, s Proposiciones B.- Axiomas o Teoremas A1 : p ⇒ (q ⇒ p) A2 : [p⇒ (q ⇒ r)] ⇒ [(p ⇒ q) ⇒ (p ⇒ r)] A3 : (p ∧ q) ⇒ p Simplificación A4 : (p ∧ q) ⇒ q Simplificación A5 : (p ⇒ (q ⇒ (p ∧ q))) A6 : p ⇒ (p ∨ q) Adición A7 : q ⇒ (p ∨ q) Adición A8 : (p ⇒ r) ⇒ [(q ⇒ r) ⇒ ((p ∨ q) ⇒ r)]
  • 59. Semántica del Lenguaje Formal 54 A9 : [(p ⇒ q) ⇒ ((p ⇒ ¬ q) ⇒ ¬ p)] A10: p ∨ 5p A partir de ahora enunciamos teoremas (a veces son definidos como propieda- des de los símbolos no terminales) dentro del sistema axiomático de Hilbert, los que como ya hemos definido no son axiomas, pero pueden ser deducidos de los 10 axiomas considerados. 11.| p ≡ p 12.| ¬ p ⇒ (p ⇒ q) 13.| (p ⇒ (q ⇒ r)) / (q ⇒ (p ⇒ r)) 14.| (p ⇒ q) ⇒ ((q ⇒ r) ⇒ (p ⇒ r)) 15.| (q ⇒ r) ⇒ ((p ⇒ q) ⇒ (p ⇒ r)) 16.| (p ⇒ (q ⇒ r)) ⇒ ((p ∧ q) ⇒ r) 17.| ((p v q) ⇒ r) ⇒ (p ⇒ ( q ⇒ r)) 18.| (p ⇒ q) ⇒ ((p ⇒ r) ⇒ (p ⇒ (q v r))) 19.| (p ⇒ q) ⇒ ((r ⇒ s) ⇒ ((p ∧ r) ⇒ (q ∧ s))) 20.| (p ⇒ r) ⇒ ((q ⇒ r) ⇒ ((p ∨ q) ⇒ r)) 21.| (¬ p ⇔ q) ≡ (p ⇔ ¬ q) 22.| (p ⇔ q) ≡ (5p ⇔ ¬ q) 23.| (¬ p ⇒ p) ≡ p Tautología 24.| (p ∧ q) ≡ ¬ (¬ p ∨ ¬ q) De Morgan 25.| (p ∨ q) ≡ ¬ (¬p ∧ ¬ q) De Morgan 26.| p ≡ ¬¬ p Doble Negación 27.| (p ∨ q) ≡ (q ∨ p) Conmutativa de w 28.| (p ∧ q) ≡ (q ∧ p) Conmutativa de v 29.| ((p ∨ q) ∨ r) ≡ (p ∨ (q ∨ r)) Asociativa de w 30.| p ≡ (p ∨ p) Idempotencia 31.| p ≡ (p ∧ p) Idempotencia 32.| (p ⇒ q) ≡ (¬ q ⇒ ¬ p) Transposición 33.| (p ∧ (q ∨ r)) ≡ (p ∧ q) ∨ (p ∧ r) Distributiva C.- Definiciones Def.: p ⇒ q ≡ (5p ∨ q) ≡ 5(p ∧ 5q) D.- Reglas a).- De Formación 1: Las fórmulas p, q, r, s están bien formadas (fbf). 2: Si p es una fbf, entonces 5p es una fbf.
  • 60. Semántica del Lenguaje Formal 55 3: Si una conectiva lógica está flanqueada por una fbf, el conjunto constituye una fbf. b).- De Transformación 1: Regla de Sustitución Uniforme. Si en una tautología (axioma o teorema) sustituimos una variable proposicional en todos los casos por una fbf, la fórmula resultante también es tautológica. 2: Regla de Inferencia. Consideramos la regla del Modus Ponens ((p ⇒ q) ∧ p) ⇒ q p ⇒ q p ⎯⎯⎯⎯ ˆ q E.- Signos Auxiliares 1: Todos los símbolos de puntuación lógica. ============================
  • 61. Semántica del Lenguaje Formal 56 2.10.- PROBLEMAS CAPITULO 2 1.- Construir la tabla de verdad para cada una de las siguientes expresiones bien formadas lógicas siguientes: (a) (n ∨ c) (b) (n ∧ c) (c) (¬ n ∧ ¬ c) (d) (n ⇔ (¬ w ∨ c)) (e) ((w ∨ ¬ c) ⇒ n) (f) ((w ∨ n)⇒(w ⇒ ¬ c)) (g) ((w ⇔ ¬ n) ⇔ (n ⇔ c)) (h) {(w ⇒ n) ⇒[(n ⇒ ¬ c) ⇒ (¬ c ⇒ w)]} 2.- Construir la tabla de verdad para cada una de las siguientes expresiones bien formadas lógicas siguientes: (a) ((p ∧ q) ∧ r) (b) (p ∧ (q ∧ r)) (c) (s ⇒ p) (d) (p ⇒ s) (e) ((p ∧ q) ∧ (r ∧ s)) (f) ((p ∧ q) ⇔ (r ∧ ¬ s)) (g) ((p ⇔ q) ⇒ (s ⇔ r)) (h) ((¬ p ⇒ q) ⇒ (s ⇒ r)) (i) ((p ⇒ ¬ q) ⇒ (s ⇔ r)) (j) {(p ⇒ q) ⇒ [(q ⇒ r) ⇒ (r ⇒ s)]} 3.- Construir la tabla de verdad para cada una de las siguientes expresiones bien formadas lógicas siguientes: (a) (p ∧ q) ⇒ r (b) (p ⇒ r) ⇒ q (c) ¬ p ⇔ (q ∨ r) (d) ¬ (p ⇔ (q ∨ r)) (e) ¬ (p ∨ q) ∧ r 4.- Construir la tabla de verdad para cada una de las siguientes expresiones bien formadas lógicas siguientes: (a) (p ∨ q) ⇒ (q ∨ p)) (b) (p ⇒ (p ∨ q) ∨ r) (c) (p ∨ ¬ p) (d) (p ⇒ ¬ p ⇒ q) (e) ((p ⇒ q) ⇒ (q ⇒ p)) (f) {[(p ⇒ q) ⇔ q] ⇒ p} (g) {p ⇒ [q ⇒ (q ⇒ p)]} (h) ((p ∧ q) ⇒ (p ∨ r)) (i) [p ∨ (¬ p ∧ q)] ∨ (¬ p ∧ ¬ q) (j) (p ∧ q) ⇒ [p ⇔ (q ∨ r)] (k) {p ∧ [q ⇒ [(p ∧ ¬ p) ⇒ (q ∨ ¬ q)} ∧ (q ⇒ q) 5.- Aplicando las correspondientes definiciones y propiedades, determinar cual de las expresiones lógicas del problema 1 son tautologías, indefiniciones o contradicciones. 6.- Aplicando las correspondientes definiciones y propiedades, determinar cual de las expresiones lógicas del problema 2 son tautologías, indefiniciones o contradicciones. 7.- Aplicando las correspondientes definiciones y propiedades, determinar cual de las expresiones lógicas del problema 3 son tautologías, indefiniciones o contradicciones.
  • 62. Semántica del Lenguaje Formal 57 8.- Aplicando las correspondientes definiciones y propiedades, determinar cual de las expresiones lógicas del problema 4 son tautologías, indefiniciones o contradicciones. 9.- Transformar las siguientes expresiones lógicas en otras equivalentes con la co- nectiva que se indique en cada caso y simplificar si es posible: (a) (¬ p ⇒ q) ⇔ (p ∨ q) a conjunción (b) (p ⇔ q) ⇔ [(p ⇒ q) ∧ (q ⇒ p)] a conjunción (c) (p ⇒ q) ⇔ r a disyunción (d) ¬ (¬ p ∨ q) a condicional (e) (p ∨ q) ∧ (p ⇒ q) a disyunción (f) (¬ p ∧ q) ⇒ (¬ q ∨ p) a conjunción (g) (p ⇒ ¬ q) ∧ (p ∨ ¬ q) a condicional (h) (p ∧ ¬ q) ⇔ ¬ (¬ p ∨ q) a conjunción (i) (¬ p ∧ q) ⇔ ¬ (¬ p ⇒ ¬ q) a condicional 10.- Utilizando las propiedades de la lógica formal, simplificar las siguientes ex- presiones y/o expresarlas únicamente como disyunciones: (a) (r ⇔ (¬ w ∨ s)) (b) ((w ∨ ¬ p) ⇒ q) (c) ((w ∨ p) ⇒ (w ⇒ ¬ p)) (d) ((w ⇔ ¬s) ⇔ (s ⇔ p)) (e) {(w ⇒ p) ⇒ [(p ⇒ ¬ w) ⇒ (¬ p ⇒ w)]} (f) [(p ∧ q) ∨ (¬ p ∧ ¬ q)] ⇔ (p ⇔ q) 11.- Utilizando las propiedades de la lógica formal, simplificar las siguientes ex- presiones y/o expresarlas únicamente como conjunciones: (a) ((p ∧ q) ∨ (p ⇒ s)) (b) ((p ⇒ q) ⇔ (p ∨ ¬ q)) (c) ((p ⇔ q) ⇒ (q ⇔ ¬ p)) (d) ((¬ p ⇒ q) ∨ (s ⇒ r)) (e) ((p ⇒ ¬ q) ⇒ (s ⇔ r)) (f) {(p ∨ q) ⇒ [(q ⇔ r) ⇒ (r ⇒ s)]} 12.- Utilizando las propiedades de la lógica formal, simplificar las siguientes ex- presiones y/o expresarlas únicamente como conjunciones: (a) (p ⇒ q) ⇒ (¬ q ⇒ p) (b) ¬ (p ⇒ q) ⇔ (¬ q ∧ p) (c) (p ∨ q) ⇔ (p ⇒ q) (d) (p ⇔ q) ⇒ ¬ (p ⇒ q) (e) [(p ⇒ q) ∧ ¬ q] ⇒ ¬ p (f) [(p ⇒ q) ∧ ¬ p] ⇒ ¬ q (g) [(p⇒ q) ∨ (q ⇒ p)] (h) p ∧ ¬ [¬ (p ⇒ q) ∨ q] (i) ¬ [(p ∨ q) ⇔ (p ⇒ q)] ⇔ [¬(p ∨ q) ⇔ (p ⇒ q)] (j) p ⇒ (p ∨ q)
  • 63. Semántica del Lenguaje Formal 58 13.- ( I ) Elimine ⇒ y ⇔ de las siguientes expresiones: (a) (p ⇒ (q ∧ r)) (b) ((p ∨ s) ⇔ ¬ q) (c) (r ⇔ s) ⇒ p) (d) (((p ⇔ s) ∧ (s ⇔ r) ⇒ (p ⇔ r)) (e) (p ⇒ q) ⇔ ((p ∧ q) ⇔ q) ( II ) Inserte ⇒ y ⇔ en las siguientes expresiones: a) (¬ s ∨ (p ∧ q)) b) (p ∧ ¬ (q ∧ r)) c) (¬ (p ∧ q) ∨ r) d) ((r ∧ s) ∨ (¬ r ∧ ¬ s)) 14.- ( I ) Utilizando las Leyes Lógicas, demuestre las siguientes equivalencias: a) ¬ ((p ∧ q) ∨ p) ≡ (¬ p ∧ q) b) (p ∧ (q ∧ (r ∧ ¬ p))) ≡ F, donde F es la constante proposicional “Falso” c) ((¬ q ∨ (q ∧ r)) ∨ ¬ r) ≡ V, donde V es la constante proposicional “Verdadero” d) ¬ (¬ p ∨ ¬ ( r ∨ s )) ≡ (( p ∧ r ) ( p ∧ s )) e) (( p ∨ r ) ∧ ( q ∨ s )) ≡(( p ∧ q ) ∨ ( p ∧ s ) ∨ ( r ∧ q ) ∨ ( r ∧ s )) f) (( p ⇒ r ) ∧ ( q ⇒ r )) ≡ (( p ∨ q ) ⇒ r ) g) (( p ⇒ q ) ∧ ( p ⇒ r )) ≡ ( p ⇒ ( q r )) h) (( p ∧ q ) ⇒ r ) ≡ ( p ⇒ ( q ⇒ r )) i) (p ⇒ q ) ≡ (( p ∧ ¬ q ) ⇒ F) j) (p ∨ ( p ∧ ( p ∨ q )) ≡ p k) ( p ∨ q ∨ ( ¬ p ∧ ¬ q ∧ r )) ≡ ( p ∨ q ∨ r ) l) ( p (( ¬ q ⇒ ( r ∧ r )) ∨ ¬ ( q ∨ (( r ∧ s ) ∨ ( r ∧ ¬ s )))) ( II ) Simplifique las siguientes expresiones. Establezca cada ley que use. a) ((p ∧ V ) ∧ ( q ∨ F )) b) (p ∧ ( q ∧ ( r ∧ ¬ p ))) c) ((p ∧ V ) ∧ ( q ∧ ¬ p )) d) ((p ∨ ( q ∧ s)) ∨ ( ¬ q ∧ s )) e) ¬ ((p ∧ ¬ (q ∨ ¬ r )) f) (p ∨ ¬ (p ∧ ¬ (q ∨ r ))) g) ((¬ p ∨ q ) ∧ ( p ∧ ( p ∧ q ))) h) (¬ (q ∧ r ∧ ¬ q ) ∧ p ) i) (((p ∨ q ) ∨ ( p ∧ ¬ q )) ∨ q )
  • 64. Semántica del Lenguaje Formal 59 j) (¬ (p ∨ q) ∨ ((¬ p ∧ q) ∨ ¬ q)) k) ((p ⇒ q) ∧ ( ¬ q ∧ ( r ∨ ¬ q ))) 15.- Usando las equivalencias lógicas correspondientes encuentre una afirmación equivalente a las siguientes: a) No es cierto que el esté informado y sea honesto. b) Si las mercancías no fueron entregadas, el cliente no debe haber pagado. c) Esta tarde ni llueve ni nieva d) Si él esta en la oficina, le daremos las noticias. e) No es cierto que, si llueve nos reuniremos en el club 16.- Encuentre la negación de los siguientes enunciados aplicando las equivalencias lógicas correspondientes: a) Juan estudia Ingles y Computación b) | - 3 | = 3 y 2 ≥ 3 c) Juan y Javier aprobaron el examen. d) Podemos comprar esta casa o comprar un auto e) Es suficiente que sea feriado para que no trabaje. f) Si no hay sol, no iré a la pileta. g) Si no hay paga, no hay trabajo h) El programa es legible solamente si está bien estructurado. i) El público se dormirá cuando el presidente de la sesión dicte la conferencia j) Nos veremos en el parque en caso que no llueva k) Si llueve, nos reuniremos en el club o en la casa de María l) Solicitaré un préstamo, si viajo a Brasil o a Chile. m) Terminar de escribir mi programa antes del almuerzo es necesario para que juegue al tenis esta tarde. n) María puede subir a la motocicleta de Luis sólo si usa el casco
  • 65. Semántica del Lenguaje Formal 60 La siguiente tabla resume las equivalencias lógicas más importantes del Álgebra proposicional. TABLA 1: EQUIVALENCIAS LÓGICAS ¬¬ p ≡ p Doble negación ( p ∧ q ) ≡ (q ∧ p) ( p ∨ q ) ≡ (q ∨ p) ( p ⇔ q ) ≡ (q ⇔ p) Leyes conmutativas (( p ∧ q ) ∧ r ) ≡ ( p ∧ (q ∧ r)) (( p ∨ q ) ∨ r) ≡ (p ∨( q ∨ r)) Leyes asociativas ( p ∨ ( q ∧ r )) ≡(( p ∨ q ) ∧ ( p ∨ r )) ( p ∧ ( q ∨ r )) ≡(( p ∧ q ) ∨ ( p ∧ r )) Leyes Distributivas ( p ∨ p ) ≡ p ( p ∧ p ) ≡ p Leyes de idempotencia ( p ∨ F ) ≡ p ( p ∧ V ) ≡ p Leyes de Identidad ( p ∨ V ) ≡ V ( p ∧ F ) ≡ F Leyes de Dominación ( p ∨ ¬ p ) ≡ V ( p ∧ ¬ p ) ≡ F Leyes de los Inversos ¬ ( p ∨ q ) ≡ ( ¬ p ∧ ¬ q ) ¬ ( p ∧ q ) ≡ ( ¬ p ∨ ¬ q ) Leyes de De Morgan ( p ⇒ q) ≡( ¬ q ⇒ ¬ p) Ley de la Contrarecíproca ( p ⇒ q) ≡( ¬ p ∨ q ) ¬ ( p ⇒ q) ≡( p ∧ ¬ q ) Leyes del Condicional (( p ∧ q ) ∨ p ) ≡ p (( p ∨ q ) ∧ p ) ≡ p Leyes de Absorción
  • 66. Decisión en la Lógica Formal 61 LÓGICA COMPUTACIONAL CAPITULO III DECISION EN EL LENGUAJE FORMAL 3.1.- NOCIÓN GENERAL En los capítulos anteriores vimos dos puntos importantes, que ahora pondremos en relación. El primero es el empleo de la tabla de verdad para determinar el carácter de una proposición, fórmula o EBF. Dicha determinación tiene en la lógica un nombre técnico: Decisión. Para decidir con certeza lógica, si una expresión bien formada es tautológica, contradictoria o indefinida, se recurre a diferentes procedimientos. Uno de ellos, como vimos en el capítulo anterior, es la tabla de verdad. Estos procedimientos son mecánicos y finitos. Mecánicos, porque sin interpretar la fórmula, sin intuir significado alguno, podemos concluir en que la misma es o invariablemente verdadera, o invariablemente falsa o unas veces falsa y otras veces verdadera. Finitos, pues por compleja que sea la fórmula, en un número limitado de pasos y siguiendo reglas precisas, puede establecerse el carácter del expresión lógica. El segundo punto ya considerado en los capítulos anteriores, es la posibilidad de traducir una fórmula, expresada con un conectivo, a otra fórmula equivalente que emplea un conectivo distinto o diferente. Dentro de estos procedimientos, tenemos las formas normales, razonamiento y formas de razonamiento, reducción al absurdo, y método del árbol. En este capítulo estudiaremos todos estos métodos o procedimientos de decisión. 3.2.- LA DECISIÓN POR LAS FORMAS NORMALES Cuando hablamos de poner en relación ambos temas, los dos puntos mencionados en el apartado anterior, pensamos en un procedimiento de decisión que emplee la transformación de una fórmula dada en otra fórmula derivada y equivalente a la original. Esto es lo que hace el procedimiento llamado de decisión por Formas Normales. Las formas normales o canónicas, llamadas así acaso porque el pensamiento expresado en ellas ofrece mayor claridad, son fórmulas o EBF construidas solamente con los conectivos lógicos de conjunción y disyunción y bajo ciertas condiciones. Existen dos formas normales; la forma normal conjuntiva (que abreviamos de la siguiente forma: f.n.c.) y la forma normal disyuntiva (que abreviamos f.n.d.).
  • 67. Decisión en la Lógica Formal 62 Forma Normal Conjuntiva Una forma normal conjuntiva es una serie continua de conjunciones y donde los factores de esas conjunciones son sólo disyunciones. Por ejemplo, consideremos lo siguiente expresión lógica que es una f.n.c.: (¬ p ∨ q) ∧ (p ∨ ¬ q) ∧ (¬ p ∨ ¬ q) Forma Normal Disyuntiva Una forma normal disyuntiva es una serie continua de disyunciones y donde los factores de esas disyunciones son sólo conjunciones. Por ejemplo, consideremos lo siguiente expresión lógica que es una f.n.d.: (p ∧ q) ∨ (p ∧ ¬ q) ∨ (¬ p ∧ q) Ambas formas normales deben aún cumplir con este otro requisito: no deben tener negaciones compactas, es decir negaciones que afecten a proposiciones moleculares o compuestas. La negación puede aparecer solamente en una forma normal afectando a las proposiciones atómicas o simples. La diferencia visible entre una y otra forma normal es, como se habrá notado en los ejemplos dados, que mientras la f.n.c. emplea a la conjunción como conectivo de mayor alcance y a la disyunción como conectivo de menor alcance, en la f.n.d. se utiliza a la conjunción como conectivo de menor alcance y a la disyunción como conectivo de mayor alcance. Para la transformación de una expresión lógica dada en una forma normal emplearemos especialmente las reglas que permitan pasar de un conectivo a otro en la expresión. Muy importantes también serán los teoremas de la distribución, asociación y conmutación, propiedades éstas, que caracterizan a la conjunción y a la disyunción. Más adelante iremos incorporando otros teoremas a los ya conocidos y cuyo uso facilitará la transformación de cualquier expresión o fórmula a una forma normal. Para utilizar las formas normales como procedimiento de decisión, deben seguirse dos pasos generales: transformar primero la fórmula dada en una forma normal; en segundo lugar interpretar la forma normal para saber si la misma es tautológica, contradictoria o indefinida. 3.2.1.- LA TRANSFORMACIÓN DE UNA EBF EN FORMA NORMAL Tomemos el ejemplo más simple: (p ⇒ q) ∧ (p ∨ q) Esta expresión no es una forma normal, no coincide con ninguna de la definiciones de forma normal. Por lo pronto incluye el signo de la implicación, conectivo que no aceptan las formas normales. Lo primero que realizaremos será eliminar el mencionado conectivo, convertirlo en alguno de los que permiten las formas normales.
  • 68. Decisión en la Lógica Formal 63 1) (p ⇒ q) ∧ (p ∨ q) Fórmula dada 2) (¬ p w q) ∧ (p ∨ q) Definición de "⇒" El paso dos es una forma normal conjuntiva. Consideremos otro ejemplo simple: 1) (p ⇒ q) ⇒ (p ∧ q) Fórmula dada 2) ¬ (p ⇒ q) ∨ (p ∧ q) Def. de "⇒" 3) ¬ (¬ p ∨ q) ∨ (p ∧ q) Def. de "⇒" 4) (p ∧ ¬ q) ∨ (p ∧ q) T. de De Morgan La expresión indicada en (4) es una forma normal conjuntiva. Pero puede suceder que el resultado no sea tan claro, como en los ejemplos vistos, el carácter de forma normal de la expresión a la que se llego por medio de las transformaciones. Consideremos el siguiente ejemplo en el cual se muestra un caso de esa situación en que a pesar de no cumplir en forma aparente con los requisitos de la f.n., la expresión realmente es una f.n.: 1) p ⇒ (q ⇒ p) Fórmula dada 2) ¬ p ∨ (¬ q ∨ p) Def. de "⇒" 3) ¬ p ∨ ¬ q ∨ p Asociatividad 4) p ∨ ¬ p ∨ q Conmutatividad La expresión en (4) es una forma normal conjuntiva. Puede objetarse que la misma no cumple con los requisitos de una f.n., no es una conjunción de disyunciones, pues sólo se ven disyunciones en ella. La cuestión se aclara si mostramos que la expresión (4) es idéntica a la siguiente expresión: (p ∨ ¬ p ∨ q) ∧ (p ∨ ¬ p ∨ q) Esta fórmula es idéntica en su valor de verdad a (4). Muestra de una forma clara el aspecto total de una f.n.c. Pero es redundante y reiterativa, ya que el segundo paréntesis no agrega nada a la fórmula. De igual forma, en lógica, como en matemática, podemos simplificar y reducir de esta forma la expresión, sin repeticiones inútiles. En este caso la simplificación puede realizarse gracias al siguiente teorema: (p ∧ p) ≡ p. El ejemplo que acabamos de considerar es una f.n.c. de un solo miembro, es una forma normal degenerada. Como caso límite de esa situación podemos tomar a p, que es una forma normal. Consideremos el siguiente ejemplo: 1) (p ⇔ q) ⇒ (p ⇒ q) Fórmula dada 2) [(p ⇒ q) ∧ (q ⇒ p)] ⇒ (p ⇒ q) Def. de "⇔" 3) ¬ [(¬ p ∨ q) ∧ (¬ q ∨ p)] ∨ (¬ p ∨ q) Def. de "⇒" 4) [¬ (¬ p ∨ q) ∨ ¬ (¬ q ∨ p)] ∨ (¬ p ∨ q) T. de De Morgan 5) [(p ∧ ¬ q) ∨ (q ∧ ¬ p)] ∨ (¬ p ∨ q) T. de De Morgan 6) (p ∧ ¬ q) ∨ (q ∧ ¬ p) ∨ (¬ p ∨ q) Asociatividad Es preciso tener en cuenta que todas las expresiones transformadas son equivalentes a la original. Es por eso de que las formas normales pueden ser un método de decisión. A través de ellas podremos determinar si la expresión lógica original es tautológica, contradictoria o indefinida.
  • 69. Decisión en la Lógica Formal 64 Deber tenerse en cuenta asimismo, que para obtener un f.n. pueden existir varios caminos. En el ejemplo anterior (cuyo punto final mostrará una forma normal disyuntiva), podríamos haber partido de otra definición de bicondicional y seguir un ordenamiento diferente en las transformaciones. Pero cualquiera sea el camino seguido, llegaremos siempre a una f.n.c y a una f.n.d., ambas equivalentes. Es decir cada fórmula tiene una f.n.c. y una f.n.d., pero lo recíproco no es válido, porque una misma forma normal corresponde a muchas fórmulas. 3.2.2.- INTERPRETACIÓN DE LAS FORMAS NORMALES Y DECISIÓN Las dos formas normales no sólo se diferencian por el empleo distinto que hacen de la conjunción y de la disyunción. Cada f.n. revela algo importante de la expresión original. La f.n.c. nos informa acerca de la verdad de la expresión. Veamos de qué forma. Consideremos el ejemplo siguiente: (p ∨ ¬ p) ∧ (q ∨ ¬ q) f.n.c. tenemos el caso de una conjunción cuyos dos factores o paréntesis son verdaderos. Y lo son ambos, por simbolizar el clásico Principio Lógico del Tercero Excluido, uno de los tres principios formulados por la lógica tradicional. Este principio afirma que dos proposiciones contradictorias no pueden ser ambas falsas: (p ∨ ¬ p), p o no p significa que una es verdadera o la otra lo es. No existe una tercera posibilidad. Interprétese con cualquier ejemplo esa fórmula y se verá que es tautológica ("Las mariposas son canarios" o "Las mariposas no son canarios", "El espacio es infinito" o "El espacio no es infinito", etc.). Ahora bien, si la conjunción que vimos une dos tautologías, entonces es verdadero. Pues una conjunción exige, para ser verdadera, que los miembros unidos por ella sean ambos verdaderos. En este caso se cumple. Pero existe algo más. Una expresión como: (p ∨ ¬ p ∨ q) es igualmente tautológica, por el solo hecho de que p ∨ ¬ p forma parte de ella. En efecto, cualquiera sea el valor de q, el valor de verdad del conjunto será verdadero. Si construimos la tabla de p ∨ ¬ p, siempre tendremos verdadero. Si a partir de ahí, construimos la tabla de (p ∨ ¬ p) ∨ q, como ya existe una columna de dominio total, cualquiera sea el valor de q, el resultado de su disyunción con una tautología será otra tautología. Debido a que una disyunción exige para ser verdadera que al menos uno de sus factores lo sea. Podemos expandir la fórmula, agregarle cuántas proposiciones queramos (r, s, t, u, etc.) a las anteriores, siempre será un conjunto tautológico. La tautología del Tercero Excluido trasmitirá su carácter de invariablemente verdadera a cualquier fórmula que lo incluya y le agregue proposiciones mediante la disyunción: (p ∨ ¬ p ∨ q ∨ r ∨ t ∨ s), como (p ∨ ¬ p), es también tautología. En resumen, la conjunción de disyunciones, sin negaciones compactas (forma normal conjuntiva), es tautológica si cada factor incluye una variable proposicional y su negación. Por eso decíamos que la f.n.c. nos informaba acerca de la verdad o no de una expresión lógica, o sea si es o no una tautología. Si la f.n.c. no tiene una variable proposicional y su negación en cada uno de los factores, entonces la expresión no será tautológica. Lo importante es que la f.n.c. solo nos permite decidir si la fórmula de la cual empezamos, es tautológica o no. Pero, como ya sabemos, existen fórmulas contradictorias y también indefinidas. Una forma normal disyuntiva nos informará acerca de que si una expresión es contradictoria o no.
  • 70. Decisión en la Lógica Formal 65 Consideremos el siguiente ejemplo: (p ∧ q ∧ ¬ p) ∨(¬ p ∧ q ∧ ¬ q) Se trata de una f.n.d.. Y es contradictoria, porque cada una de las expresiones que vincula la disyunción incluye una variable proposicional y su negación. Es decir que ambos factores son falsos, contradictorios. Como se recordará, este era el único caso en que una disyunción es falsa. Si en la f.n.c. nos basábamos en el Principio del Tercero Excluido, ahora estamos empleando otro principio lógico no menos importante, el Principio de la Contradicción. Este principio afirma que dos proposiciones contradictorias (p y ¬ p) no pueden ser ambas verdaderas. Si en una conjunción de dos o más variables proposicionales aparece una proposición y su negación, la fórmula o expresión es automáticamente contradictoria. Es fácil ver porqué; por ejemplo consideremos (p ∧ q ∧ ¬ p), la cual es falsa cualquiera sea el valor de verdad de q, pues la presencia de p y de ¬ p en la expresión hace invariablemente falso a uno de los términos de la conjunción. Y un término falso en una conjunción es suficiente para que la expresión sea falsa. En resumen, la disyunción de conjunciones, sin negaciones compactas (forma normal disyuntiva), es contradictoria si cada factor incluye una variable proposicional y su negación. Por eso hemos dicho que la f.n.d. nos informa si la expresión lógica dada es contradictoria o no, nos informa acerca de la falsedad de la fórmula original. Si la f.n.d. no tiene una variable proposicional y su negación, en todos sus factores, la expresión original no es falsa, no es contradictoria. Del análisis realizado hasta ahora con las formas normales, se desprenden dos interrogantes aún no contestados, a saber: (a).- Si una f.n.c. no es tautológica, ¿cómo decidir si la expresión es contradictoria o indefinida? Pues la f.n.c. sólo nos informa si es tautológica o no la fórmula original o de partida. (b).- Si una f.n.d. no es contradictoria, ¿cómo podemos determinar si la expresión es tautológica o indefinida? Pues si la f.n.d. no es contradictoria, eso significa que la expresión original es, una vez al menos, verdadera. Pero nos resta saber si es siempre verdadera, o unas veces si y otras no. Los dos interrogantes tienen una sola respuesta: en ambos casos es preciso transformar una forma normal en otra. Si es f.n.c. transformarla en f.n.d. y si es f.n.d. transformarla en f.n.c. Es decir que para determinar si una forma normal es indefinida, es preciso transformar esa forma normal en la otra forma normal. El método es claro si se tiene en cuenta que las dos formas normales nos dan información restringida, es tautología o contradicción. Y como existe una tercera posibilidad, el carácter indefinido de la expresión, si realizamos la transformación de una forma normal en otra, ocurrirá forzosamente alguna de estas posibilidades: 1).- La f.n.c. no es tautológica. Transformada en f.n.d., se observa que no es contradictoria. Entonces es indefinida. 2).- La f.n.c. no es tautológica. Transformada en f.n.d. cada factor incluye una variable proposicional y su negación. Entonces es una contradicción.
  • 71. Decisión en la Lógica Formal 66 3).- La f.n.d. no es contradictoria. Transformada en f.n.c., se observa que no es tautológica. Entonces es indefinida. 4).- La f.n.d. no es contradictoria. Transformada en f.n.c. cada factor incluye una variable proposicional y su negación. Entonces es una tautología. El problema consiste ahora en saber como transformar una f.n.c. en una f.n.d. y viceversa, para luego decidir si la fórmula es indefinida o no. Esa transformación se realiza utilizando la Propiedad Distributiva. En los teoremas 11 y 12 de la lista de teoremas del Capítulo II, podemos ver en qué consiste y a qué reglas se somete la distribución. El teorema: [p ∧ (q ∨ r)] ≡ [(p ∧ q) ∨ (p ∧ r)] afirma que la conjunción (producto lógico) es distributivo respecto de la disyunción (suma lógica). La misma propiedad la tiene el producto algebraico con respecto a la suma: [3 x (4 + 6)] = 30 / [(3 x 4) + (3 x 6)] = 30 Cuando decimos que la conjunción es distributiva respecto de la disyunción, estamos aceptando que el producto lógico de disyunciones (y por lo tanto también una f.n.c.) es equivalente a una disyunción de conjunciones(o sea una f.n.d.). Para efectuar la transformación debemos proceder de la siguiente forma: (a).- Distribuir cada variable proposicional de un factor con cada variable proposicional de los factores restantes. (b).- En esa distribución debe invertirse la ubicación de los conectivos: la conjunción, que tenía mayor alcance, pasa a tener el alcance menor, pasa a unir las variables de los nuevos factores. La disyunción, que tenía el menor alcance, pasa a tener mayor alcance, a unir los factores entre sí. Consideremos el siguiente ejemplo: 1) (¬ p ∨ ¬ q) v (p ∨ r) f.n.c. 2) (¬ p ∧ p) ∨ (¬ p ∧ r) ∨ (¬ q ∧ p) ∨ (¬ q ∧ r) Por Distribución 3) (p ∧ ¬ p) ∨ (¬ p ∧ r) ∨ (p ∧ ¬ q) ∨ (¬ q ∧ r) Por Distribución La expresión (1) es una f.n.c., que como no tiene una variable proposicional y su negación en cada factor, no es tautología. En (2), por el teorema de la distribución, la f.n.c es transformada en f.n.d., y aplicamos la propiedad conmutativa en (3) para poder ver mejor si todos los factores poseen una variable proposicional y su negación. Pero como observamos que ello se cumple únicamente en el primer factor, la f.n.d. no es contradictoria. En consecuencia es indefinida. Se cumplió la posibilidad 1. Veamos ahora el otro teorema de la propiedad distributiva, el que nos permite transformar una f.n.d. en una f.n.c.: [p ∨ (q ∧ r)] ≡ [(p ∨ q) ∧ (p ∨ r)] El teorema afirma que la suma lógica (disyunción) es distributiva con respecto al producto lógico (conjunción). Dicha propiedad no la posee la suma algebraica o aritmética:
  • 72. Decisión en la Lógica Formal 67 {[3 + (2 x 3)] = 9} … {[(3 + 2) x (3 + 3)] = 30} En cambio la disyunción (suma lógica) acepta la distribución con el producto lógico (conjunción). Ello puede confirmarse fácilmente mediante la tabla de verdad. La propiedad distributiva de la disyunción con relación a la conjunción nos permite transformar una disyunción de conjunciones a una conjunción de disyunciones. También aquí es preciso distribuir cada variable proposicional de un factor con cada variable proposicional de los factores restantes e invertir el alcance de los conectivos. Consideremos el siguiente ejemplo: 1) (p ∧ q) w (¬ q ∧ ¬ p) f.n.d. 2) (p ∨ ¬ q) ∧ (p ∨ ¬ p) ∧ (q ∨ ¬ q) ∧ (q ∨ ¬ p) Por Distribución La f.n.d. no es contradictoria y la transformamos en una f.n.c. Como ésta no incluye en todos sus factores a una variable proposicional y su negación, no es tautológica. Por lo tanto es una expresión lógica indefinida. Luego se verá que los paréntesis segundos y tercero de la expresión (2) pueden simplificarse, en un tercer paso. Como ambos son tautologías, al eliminarlos de la expresión no altera en nada el valor de verdad de la fórmula total y quedará reducida a la siguiente expresión: (p ∨ ¬ q) ∧ (q ∨ ¬ p). Debemos tomar en cuenta una variante de la propiedad distributiva: (p ∧ ¬ q) ∨ (¬ q ∨ p) Observar que en esta fórmula el conectivo de mayor alcance aparece también en el segundo factor. En casos como el indicado, el factor se distribuye en bloque , de la forma dada a continuación: 1) (p ∧ ¬ q) ∨ (¬ q ∨ p) Expresión dada 2) (¬ q ∨ p ∨ p) ∧ (¬ q ∨ p ∨ ¬ q) Por Distribución La distribución ofrece algunas dificultades cuando se trata de más de dos miembros. Los ejemplos siguientes indicarán como debemos proceder en cada caso: 1) (p ∨ q) ∧ (¬ p ∨ r) ∧ (¬ q ∨ s) f.n.c. Su correspondiente f.n.d. es la siguiente expresión: (p v ¬ p v ¬ q) w (p v¬ p v s) w (p v r v ¬ q) w (p v r v s) w (q v ¬ p v ¬ q) w (q v ¬ p v s) w (q v r v ¬ q) w (q v r v s) Se observará que hemos distribuido primero la primera variable proposicional del primer miembro con la primera del segundo y ambas con las restantes variables del tercer miembro. Así surgen los dos primeros miembros de la f.n.d.. Luego está distribuida la primera variable del primer miembro con la segunda del segundo y ambas con las variables del tercer miembro: de allí los miembros tercero y cuarto de la f.n.d.. Finalmente se realizo lo mismo con la segunda variable del primer miembro; fácil es ver que los cuatro últimos miembros de la f.n.d. se diferencian de los cuatro primeros en que donde éstos tienen p, aquellos tienen q. 2) (p v q) w (r v s) w (¬ p v ¬ r) w (¬ q w s) f.n.d.
  • 73. Decisión en la Lógica Formal 68 Esta vez tenemos como ejemplo una f.n.d., que tiene un miembro (el último) cuyo conectivo es el mismo que el de mayor alcance de la fórmula. En casos así, como ya vimos, se distribuye compactamente dicho miembro: (5 q w s w p w r w 5 p) v (5 q w s w p w r w 5 r) v (5 q w s w p w s w 5 p) v (5 q w s w p w s w 5 r) v (5 q w s w q w r w 5 p) v (5 q w s w q w r w 5 r) v (5 q w s w q w s w 5 p) v (5 q w s w q w s w 5 r) f.n.c. Aunque aumente el número de variables dentro de cada paréntesis y también la cantidad de factores, debe distribuirse siguiendo el principio antes señalado: distribuir cada variable de un paréntesis con cada variable de los restantes paréntesis. Ahora estamos en condiciones de utilizar las formas normales (disyuntiva y conjuntiva) como un método o procedimiento de decisión. Decidamos, pues, si la expresión lógica siguiente es contradictoria, tautológica o indefinida: 1) (p ≡ q) ⇒ (p ⇒ q) Fórmula dada 2) 5 (p ≡ q) w (5 p w q) Def. de "⇒" 3) 5 [(p v q) w (5 p v 5 q)] w (5 p w q) Def. de "≡" 4) [5 (p v q) v 5 (5 p v 5 q)] w (5 p w q) T. de De Morgan 5) [(5 p w 5 q) v (p w q)] w (5 p w q) T. de De Morgan La expresión (5) aún no es una forma normal. Para continuar con las transformaciones hasta lograrlo, utilizaremos la propiedad distributiva. Para hacer más fácil el método, reduciremos la complejidad de la expresión (5) utilizando las letras mayúsculas R, S, T, etc., como elementos metalógicos para representar fórmulas o expresiones lógicas cualesquiera. Veamos cómo: 5) [(5 p w 5 q) v (p w q)] w (5 p w q) ( R v S ) w T Donde (R v S) w T tiene una estructura general idéntica que la expresión (5). Apliquemos en consecuencia la propiedad distributiva a esta nueva expresión y reemplacemos luego nuevamente los signos metalógicos por las fórmulas que representan: 6) [(R v S) w T] ≡ [(R w T) v (S w T)] Por Distributiva 7) [(5 p w 5 q) w (5 p w q)] v [(p w q) w (5 p w q)] Reemplazo Metalógicos 8) (5 p w 5 q w 5 p w q) v (p w q w 5 p w q) Asociatividad 9) (5 p w 5 p w q w 5 q) v (p w 5 p w q w q) Conmutativa 10) (5 p w q w 5 q) v (p w 5 p w q) Por Simplificación Hemos obtenido como resultado final una f.n.c., cuyos dos paréntesis incluyen una variable proposicional y su negación, en consecuencia la fórmula es tautológica. En el paso (10) hemos simplificado, o sea hemos eliminado las repeticiones innecesarias. Teníamos dos veces 5 p en el primer miembro y también dos veces q en el segundo miembro, ambas repeticiones no agregaban nada al valor de verdad de la expresión del paso (9). La simplificación se hizo en función del teorema que ya mencionamos en el capítulo II: (p w p) ≡ p. Existen otros teoremas que permiten simplificar expresiones lógicas. Por ejemplo, cuando existe una tautología conocida como miembro de una conjunción, dicha tautología puede eliminarse. Por ejemplo:
  • 74. Decisión en la Lógica Formal 69 (5 p w p) v (q w r) Podemos simplificar el primer miembro o paréntesis, porque el valor de verdad de ese conjunto depende únicamente del valor de verdad de (q w r), ya que (5 p w p) es siempre verdadero. La simplificación se realizo en función del siguiente teorema lógico: [p v (q w 5 q)] ≡ p. Es decir que en una f.n.c. no tautológica podemos simplificar todos aquellos miembros o factores que incluyan una variable y su negación. En efecto, el valor de la expresión no se alterará si suprimimos esas tautologías. Por ejemplo: [(p w 5 q w 5 p) v (q w r) v (r w p w q)] ≡ [q w r) v (r w p w q)] Algo semejante podemos realizar con las f.n.d. no contradictorias. En ellas podemos simplificar todos aquellos factores que contengan una variable proposicional y su negación. El valor de la expresión lógica permanecerá intacto si eliminamos esas contradicciones. Por ejemplo: [(p v q v 5 q) w (r v q v s)] ≡ (r v q v s) Para finalizar, agregaremos nuevos teoremas a la lista anterior (Capítulo II) y cuyo empleo facilitará la decisión por el método de las formas normales. (13) (p v p) ≡ p Simplificación de "v" (14) [p w (q v 5 q)] ≡ p (15) [p v (q w 5 q)] ≡ p (16) [(p v q) ⇒ p] ≡ (p ⇒ p) Simplificación de "⇒" (17) [(p v q) ⇒ q] ≡ (q ⇒ q) Simplificación de "⇒" (18) [(p v q) w (r v s)] ≡ [(p w r) v (p w s) v (q w r) v (q w s)] Distributiva (19) [(p v q) w (r w s)] ≡ [(r w s w p) v (r w s w q)] Distributiva (20) 5 (p ⇔ q) ≡ (p ⇔ 5 q) Bicondicional negado (21) 5 (p ⇔ q) ≡ (5 p ⇔ q) Bicondicional negado 3.3.- ENUNCIADOS Y FORMAS DE ENUNCIADOS Para distinguir entre enunciados y formas de enunciados, distinción que hasta aquí no hemos realizado, utilizaremos la noción de constante proposicional. Una constante proposicional se simboliza con las letras mayúsculas (letras iniciales A, B, C, D, etc.) y representa sólo una proposición dentro del contexto. El siguiente ejemplo Los vegetales tienen clorofila o el cedro no es vegetal puede representarse mediante constantes proposicionales de la siguiente forma :
  • 75. Decisión en la Lógica Formal 70 A w 5 B Pero nos preguntamos, ¿acaso no representamos mediante variables proposicionales a proposiciones semejantes de la siguiente forma: p w 5 q?; ¿Qué diferencia existe entre las dos expresiones lógicas A w 5 B y p w 5 q?; ¿Qué distingue a una variable proposicional de una constante proposicional? La respuesta es la siguiente: la constante es una proposición. "A", por ejemplo, representa sólo a "Los vegetales tienen clorofila" dentro del contexto. La variable "p", en cambio, no representa a esa proposición, sino sólo a su posible valor de verdad (V o F). Es decir que mientras la constante tiene un sentido (5 B significa "El cedro no es un vegetal"), la variable no tiene ningún sentido (5 p, por ejemplo, alude a V o F de la proposición "El cedro no es un vegetal", pero no a su sentido). Si hacemos la tabla de verdad de (p w 5 q), veremos que existen cuatro posibilidades para ella. En cambio con A w 5 B no podemos construir la tabla de verdad, pues sólo tiene una posibilidad: es verdadera (por razones extralógicas). Esto significa que las constantes proposicionales aluden a realidades, se refieren a ellas. En cambio una variable proposicional se refiere a posibilidades, a posibles valores de verdad, sin aludir a realidad alguna porque no tiene significado alguno. Ahora podemos decir que una forma de enunciado es una fórmula o expresión lógica EBF, construida con variables proposicionales. Si se reemplazan las variables por constantes proposicionales, cuidando en todos y en cada caso de sustituir la misma variable por la misma constante, obtenemos un enunciado. Continuando con la significación atribuida a A y a 5 B, los ejemplos siguientes muestran enunciados y sus correspondientes formas: Enunciados Formas de Enunciados 1) A v B 1) p v q 2) A ⇒ 5 B 2) p ⇒ 5 q 3) 5 A w A 3) 5 p w p 4) B v 5 B 4) p v 5 p Decimos que cada enunciado es un caso de sustitución de su correspondiente forma de enunciado. Notemos lo siguiente: el enunciado (2) es falso, porque se trata de un condicional cuyo antecedente es verdadero y su consecuente falso. Pero su correspondiente forma de enunciado no es falsa, sino indefinida. Si construimos la tabla de verdad de p ⇒ 5 q, veremos que tiene tres valoraciones verdaderas y una falsa. Ello significa que la falsedad del enunciado A ⇒ 5 B, no proviene de que su correspondiente forma de enunciado sea también falsa (contradicción). Fácil sería, en efecto, encontrar otra sustitución verdadera de la misma forma de enunciado: "Si es triángulo, entonces no es cuadrado", por ejemplo. En casos así decimos que se trata de enunciados indefinidos o contingentes, pues su verdad o falsedad depende del contenido y no de su forma. El enunciado (4), también es falso pero por razones distintas que el anterior. Aquí su falsedad proviene de ser un caso de sustitución de una forma de enunciado contradictorio. No se encontrará, en efecto, un solo caso de sustitución verdadero de p v 5 p.
  • 76. Decisión en la Lógica Formal 71 Razonamiento semejante podemos realizar también con los dos enunciados restantes. El enunciado (1) es verdadero pero contingente, pues su forma de enunciado es indefinida. Es decir que su verdad depende del contenido, del significado de sus enunciados componentes, y no de su forma de enunciado. En cambio el enunciado (3) es verdadero en razón de constituir un caso de sustitución de una forma de enunciado tautológico. 3.4.- EL RAZONAMIENTO Hasta este punto nos hemos dedicado a los enunciados y a sus formas. Sobre la base de lo que hemos estudiado, podremos avanzar hacia la comprensión de lo que es un razonamiento. Un razonamiento está constituido por enunciados de tal modo que el último (conclusión) se deriva con necesidad lógica de los anteriores (premisas). Así como distinguimos entre enunciados y formas de enunciados, veremos también que existen razonamientos y formas de razonamientos. Analizaremos los ejemplos siguientes: Razonamiento Forma de Razonamiento V Si Güemes es salteño es argentino 1) p ⇒ q V Es argentino q V Luego es salteño ˆ p V Si Güemes es tucumano es argentino 2) p ⇒ q V Es argentino q F Luego es tucumano ˆ p F Si la ballena es vertebrado vive en la selva 3) p ⇒ q V Es vertebrado p F Luego vive en la selva ˆ q V Si la ballena es mamífero es vertebrado 4) p ⇒ q V Es mamífero p V Luego es vertebrado ˆ q Como podemos observar, el razonamiento está formado por enunciados. En tanto que la forma de razonamiento está formada por variables proposicionales. Por lo cual podemos decir, que un razonamiento resulta de sustituir, en una forma de razonamiento las variables proposicionales por constantes proposicionales, reemplazando siempre la misma variable por la misma constante. Los ejemplos (1) y (2) tienen la misma forma de razonamiento. El ejemplo (1) tiene premisas verdaderas y conclusión verdadera, en tanto que en el ejemplo (2), se llega a conclusión falsa a cuando hemos partido de premisas verdaderas. Cuando una forma de razonamiento permite esto último, o sea extraer conclusión falsa de premisas verdaderas, decimos que se trata de una forma de razonamiento inválida. En cambio las formas de razonamiento (3) y (4) no permiten la derivación de una conclusión falsa a partir de premisas verdaderas, porque se trata de formas de razonamiento válidas. Si intentamos buscar un caso de sustitución de este tipo, donde exista conclusión falsa a partir de premisas verdaderas, no lo encontraremos.
  • 77. Decisión en la Lógica Formal 72 Un razonamiento es válido, cuando en un caso de sustitución de una forma válida de razonamiento. Y es inválido, cuando es un caso de sustitución de una forma inválida de razonamiento. En los ejemplos considerados existe algo curioso. La forma de los razonamientos (1) y (2), que es inválida, permite sin embargo que en ciertos casos de sustitución, las premisas y conclusión sean verdaderas. Tal cual lo es el caso (1). La forma de los razonamientos (3) y (4), forma válida, permite que una de las premisas y la conclusión sean falsas, caso (3). Esto revelaría que la validez o invalidez de las formas de razonamiento, es en alguna medida independiente de la verdad o falsedad de las variables proposicionales, que la componen. Lo extraño es que definimos validez e invalidez de las formas de razonamiento en función de la verdad o falsedad de las proposiciones componentes. ¿Qué ocurre, pues?. Definimos las nociones de validez e invalidez a pelando a la relación que guardan premisas y conclusión respecto de sus valores de verdad. Y ahora afirmamos que la validez o invalidez sería independiente de esos valores, según parecen mostrar los ejemplos (1) y (3). Y no sólo ese par de afirmaciones parece contradictoria sino también esta otra: al comienzo dijimos que la lógica es una ciencia formal, que para nada tiene en cuenta el contenido de las proposiciones. Pero ahora hemos definido la validez de una forma de razonamiento, como aquella forma que no permite un caso de sustitución donde haya premisas verdaderas y conclusión falsa. Y sustituir en una forma de razonamiento es, dijimos, reemplazar variables por constantes, es decir formas vacías (p, q, r, s, etc.) por constantes con un significado específico. ¿No es esto una contradicción?. Entre la forma (V, F) y el contenido de las proposiciones, la lógica como ciencia formal debe optar por la primera, desechar el contenido. Y aquí, al parecer, hemos realizado lo contrario: Primero: definimos la validez y la invalidez recurriendo a la sustitución, o sea al contenido. Segundo: nos sorprendimos diciendo que la validez y la invalidez de las formas de razonamiento es independiente de la verdad o falsedad de las premisas, y de la conclusión, es decir de la forma de los enunciados componentes. Un mismo análisis nos permitirá solucionar las dos contradicciones mencionadas anteriormente. Cuando decimos que los ejemplos (1) y (2) tienen la misma forma, decíamos algo que necesita de una mayor precisión. La forma general es la misma, pero consideremos estrictamente por un momento la idea de que la lógica toma como forma de las proposiciones a V y F. Estos signos pueden ser reemplazados por otros convencionalmente (0, 1; /, //; etc), ya que los mismos no se utilizan en su significación gnoseológica. Si nos ubicamos en ese formalismo exigente, la forma de un enunciado, como por ejemplo, (p w q), asumirá las siguientes subformas posibles de valores de verdad: (V w V), (V w F), (F w V) y (F w F). Esto es precisamente lo que muestran las tablas. Ante la forma general de los razonamientos (1) y (2), podemos análogamente decir que existen en ella subformas posibles: V ⇒ V F ⇒ V V ⇒ F F ⇒ F a) V b) V c) F d) F etc. ˆ V ˆ F ˆ V ˆ V (a) y (b) son las subformas que corresponden a los razonamientos (1) y (2). Podemos ahora precisar nuestra definición de validez. No hablaremos de que una forma general de razonamiento es válida si no tiene sustituciones de constantes proposicionales que
  • 78. Decisión en la Lógica Formal 73 sean verdaderas en las premisas y falsas en la conclusión. Diremos más bien que una forma general de razonamiento es válida si no tiene alguna sub forma que permite la conclusión Falsa (F) a partir de premisas Verdaderas (V). Esta definición es más formal, pues no hace reposar en el contenido significativo de las constantes, la noción lógica de validez. De esta forma hemos contestado a la segunda contradicción mencionadas anteriormente. Veamos ahora que sucede con la primera contradicción mencionada. Para comprender mejor la respuesta, nos anticiparemos a algo que se verá luego con más detalle: toda forma de razonamiento tiene una correspondiente forma de enunciado. La forma de enunciado que corresponde a la siguiente forma de razonamiento: p ⇒ q q Es: [(p ⇒ q) v q] ⇒ p ˆ p Construimos la tabla de verdad de esta forma de enunciado: p q [(p ⇒ q) v q] ⇒ p V V V V V V V V F F F F V V F V V V V F F F F V F F V F Las cuatro subformas de que antes hablamos aparecen en cada línea horizontal de la tabla; (a) es la primera línea; (b) es la tercera línea; (c) es la segunda línea y (d) es la cuarta línea. Recordemos la respuesta a la segunda contradicción: una forma general de razonamiento es inválida cuando tiene un caso de sustitución de variables cuyo valor general es V en las premisas y F en la conclusión. La tercer línea de la tabla es un caso de sustitución de este tipo; su sola presencia basta para invalidar la forma general de razonamiento. Contestemos ahora a la primera contradicción: dentro de una forma general válida de razonamiento los valores de premisas y conclusión pueden ser cualesquiera, menos el caso siguiente: premisas V y conclusión F. Si esto último se da existirá invalidez. Es decir que una forma general válida de razonamiento permite entera libertad de combinaciones entre los valores de las premisas y conclusión (es independiente de esas combinaciones) salvo en este punto, en que es inflexible: no permitir obtener conclusión F de premisas V. Notar que si empezáramos de otra definición de validez, como la siguiente: "una forma de razonamiento es válida si nos garantiza concluir en verdad", tendríamos que aceptar como válidas las subformas (a), (c) y (d) de la forma general inválida de razonamiento y también muchas otras formas inválidas de razonamiento.
  • 79. Decisión en la Lógica Formal 74 3.4.1.- FORMAS DE RAZONAMIENTO Y FORMAS DE ENUNCIADOS Como vimos, una forma válida de razonamiento acepta solamente estas relaciones posibles entre premisas y conclusión: Premisas Conclusión V V F V F F Una forma inválida, en cambio, permite además la siguiente cuarta posibilidad: Premisas Conclusión V F Nótese que los casos aceptados por la forma válida coincide punto a punto con el dominio del condicional. En efecto, el condicional es verdadero cuando el consecuente es verdadero o el antecedente es falso. Y una forma de razonamiento es válida cuando únicamente tiene sustituciones de variables cuyo valor general es F en las premisas o V en la conclusión. Por otro lado el condicional es falso cuando tiene antecedente verdadero y consecuente falso. Y la forma de razonamiento es inválida cuando tiene al menos un caso de sustitución de variables proposicionales, cuyo valor general es V en las premisas y F en la conclusión. Todo esto quiere decir que el signo "ˆ" colocado entre las premisas y la conclusión tiene un comportamiento semejante al condicional "|". Esto nos permite, que al sustituir "ˆ" por "|", encontrar para cualquier razonamiento un enunciado que le corresponda. Por ejemplo: Razonamiento Enunciado correspondiente A ⇒ B 1) B ⇒ C 2) (A ⇒ B) v (B ⇒ C) v (A w B) ⇒ (C w B) A w B ˆ C w B En (2) hemos unido las distintas premisas del razonamiento (1), mediante la conjunción. Este procedimiento está justificado por una de las formas válidas de razonamiento que veremos más adelante. Destaquemos que si bien a todo razonamiento le corresponde un enunciado, que une las premisas mediante la conjunción y reemplaza "ˆ" por "|", lo recíproco no es válido: no todo enunciado tiene su correspondiente razonamiento. El siguiente enunciado (A w B), por ejemplo, no puede ser convertido en razonamiento, no tiene una proposición que se derive de otra u otras proposiciones. De lo dicho, podemos concluir en la siguiente regla general: toda forma de enunciado cuyo conectivo de mayor alcance sea "|", tiene su correspondiente forma de razonamiento. Consideremos los siguientes ejemplos:
  • 80. Decisión en la Lógica Formal 75 Forma de Enunciados Forma de Razonamiento Correspondiente 1) [(p v q) w r] ⇒ p 1) (p v q) w r ˆ p 2) [(p ⇒ q) v 5 q] ⇒ 5 p 2) p ⇒ q 5 q ˆ 5 p 3) p ⇒ q 3) p ˆ q Podemos preguntarnos ahora, qué relación guarda una forma de razonamiento con su forma de enunciado correspondiente. La respuesta que obtenemos es la siguiente: si la forma de enunciado es tautológica, entonces la forma de razonamiento es válida. Si la forma de enunciado es contradictoria o indefinida, la forma de razonamiento es inválida. Porque si válida es una forma de razonamiento cuando no acepta que de premisas verdaderas, se concluya en falsedad, la forma de enunciado correspondiente sólo puede ser tautológica. Porque ¿qué ocurriría si la forma de enunciado en cuestión fuese indefinida?. Como en esta forma de enunciado el conectivo de mayor alcance es "⇒", si su columna matriz tuviera unas veces V y otras F, ocurriría en aquellos casos donde hay F precisamente aquello que no consiente una forma válida de razonamiento: que de premisas (antecedentes en la forma de enunciado) verdaderas se determine una conclusión (consecuente en la forma de enunciado) falsa. Con mayor razón, si la forma de enunciado correspondiente a la forma de razonamiento fuera contradictoria, esa situación inaceptable por la definición de validez se repetiría en cada caso de avaloración de la forma de enunciado en cuestión. De manera que, como vimos antes, mientras los enunciados y sus formas pueden ser tautológicos, indefinidos y contradictorios, los razonamientos y sus formas son válidos o inválidos. Forma de Razonamiento Forma de Enunciado Válida Tautológica Inválida Indefinida o Contradictoria Mostremos en un ejemplo lo que venimos diciendo. Para lo cual recurrimos nuevamente a la tabla de verdad, las cuales permiten también decidir sobre la validez o invalidez de los razonamientos. Primero es preciso convertir el razonamiento dado a su correspondiente forma de razonamiento; luego transformarlo a su forma de enunciado. Y ya sabemos como se trata a una forma de enunciado para decidir sobre su carácter tautológico, contradictorio o indefinido mediante la tabla. Si el resultado es una tautología, el razonamiento es válido. Si el resultado del cálculo es contradictorio o indefinido, el razonamiento y su forma de razonamiento es inválido. Consideremos el siguiente ejemplo:
  • 81. Decisión en la Lógica Formal 76 Razonamiento Forma de Formade Enunciado Razonamiento Si los árboles cantan son vegetales (V) p ⇒ q [(p ⇒ q) v 5 p] ⇒ 5 q No cantan (V) 5 p Luego no son vegetales (F) ˆ 5 q Un vistazo a los valores de premisas y conclusión nos anticipa desde ya la invalidez del razonamiento. Pero construyamos la tabla de verdad de la forma de enunciado correspondiente, para decidir si la invalidez proviene de que la forma de enunciado sea contradictoria o indefinida. p q [(p ⇒ q) v 5 p] ⇒ 5 q V V V F F V F V F F F F V V F V V V V F F F F V V V V V La matriz de la implicación de mayor alcance es indefinida. La forma de razonamiento, pues, (lo mismo que el razonamiento) es inválida. Indicamos a continuación una lista de formas válidas de razonamiento con sus correspondientes nombres: 1) p ⇒ q Modus Ponens p -------- ˆ q 2) p ⇒ q Modus Tollens 5 q -------- ˆ 5 p 3) p ⇒ q Silogismo Hipotético q ⇒ r -------- ˆ p ⇒ r 4) p w q Silogismo Disyuntivo 5 p -------- ˆ q 5) (p ⇒ q) v (r ⇒ s) Dilema Constructivo (p w r) ---------------------- ˆ (q w s)
  • 82. Decisión en la Lógica Formal 77 6) (p ⇒ q) v (r ⇒ s) Dilema Destructivo 5 q w 5 s ----------------------- ˆ 5 p w 5 r 7) p v q Simplificación -------- ˆ p 8) p Conjunción q ----------- ˆ p v q 9) p Adición --------- ˆ p w q 3.4.2.- LA DECISIÓN EN EL RAZONAMIENTO Si, como hemos visto en los apartados anteriores, a todo razonamiento le corresponde una forma de enunciado, es fácil comprender que los métodos de decisión aplicados a enunciados permiten decidir también sobre la validez o invalidez de los razonamientos. Las formas normales, por ejemplo, que permiten decidir sobre si un enunciado es tautológico, contradictorio o indefinido, también deciden la validez o invalidez de un razonamiento dado. Sólo debemos considerar la relación entre razonamiento y enunciado correspondiente: aquel es válido únicamente cuando éste es tautológico; e inválido cuando el enunciado es indefinido o contradictorio. Dado un razonamiento cualquiera, pues, si queremos decidir por las formas normales si es válido o no, tendremos que proceder de la siguiente forma: transformar el razonamiento en su enunciado correspondiente; aplicar a éste el método de las formas normales; si el resultado establece que el enunciado es tautológico, el razonamiento es válido; si el enunciado resulta ser indefinido o contradictorio, el razonamiento es inválido. El empleo de las formas normales para decidir la naturaleza de un razonamiento, es particularmente útil cuando el número de proposiciones, que componen al razonamiento en cuestión, es abultado. En esos casos la decisión por las tablas requiere una proliferación de columnas de referencia para realizar el cálculo y eso complica demasiado la decisión. 3.5.- LAS IMPLICACIONES Y DERIVACIONES LÓGICAS Estudiaremos ahora la implicación lógica y la forma en que puede utilizarse como base de un razonamiento válido. Hay, por supuesto, razonamientos que no son válidos y algunos de ellos serán identificados en secciones posteriores. Los argumentos o razonamientos no válidos se los denominan falacias. Utilizando el método de la tabla de verdad, se puede distinguir entre razonamientos válidos y falacias. Los patrones de razonamiento pueden expresarse de diferentes forma, tal cual vimos en secciones anteriores. En el idioma español, la conclusión se establece típicamente después de las premisas, y se presenta mediante palabras tales como: “por tanto”, “como consecuencia” y “en conclusión”. En los razonamientos presentados en secciones anteriores, enumerábamos primero todas las premisas, una
  • 83. Decisión en la Lógica Formal 78 debajo de la otra. Existía una línea horizontal por debajo de la última premisa, y debajo de esta línea, estaba la conclusión. En el caso del modus ponens, esto tiene el siguiente aspecto: 1) P ⇒ Q Modus Ponens P -------- ˆ Q Si el esquema de razonamiento es válido, y sólo entonces, utilizaremos el símbolo *4 para separar las premisas de la conclusión. Considerando el ejemplo anterior, la forma de enunciado válido tendrá el siguiente aspecto: p , p ⇒ q *4 q Un razonamiento es válido si la conclusión se deduce lógicamente, siempre que se cumplan todas las premisas. Esto significa que la conjunción de todas las premisas implica lógicamente la conclusión. Por lo tanto, si A es la conjunción de todas las premisas y B es la conclusión, se tiene que demostrar que A ⇒ B es una tautología. En otras palabras se tiene que demostrar que A /> B o, equivalentemente que, A *4 B. 3.5.1- IMPLICACIONES LÓGICAS Cualquier tautología de la forma p ⇒ q se denomina Implicación Lógica. Ya hemos trabajado bastante con las implicaciones lógicas. Hemos establecido, por ejemplo, que P ⇒ V y F ⇒ P son expresiones que resultan verdaderas para todos los valores de verdad de P, lo cual convierte a estas dos expresiones en tautologías. Por lo tanto P /> V y F /> P. Las implicaciones lógicas son tautologías y cualquier tautología lógicamente puede ser utilizada como la base de un esquema o forma de enunciado lógico. Específicamente si P es una expresión cualquiera p /> V justifica el esquema P /> V. El esquema o forma de enunciado F /> P puede demostrarse de manera similar. Las equivalencias lógicas crean implicaciones lógicas, según se indica en el teorema siguiente: Teorema 3.5.1.- Si C y D son dos expresiones lógicas y si C ≡ D entonces C /> D y D /> C. Como aplicación del teorema, consideremos la siguiente forma de enunciado: (( p ∨ q ) ∧ ( 5 p ∨ q )) ≡ q Esta equivalencia conduce a la siguiente forma de enunciado e implicación lógica importante: (( p º q ) ¸ ( 5 p º q )) ≡> q Por supuesto, cualquier implicación lógica se puede demostrar mediante el método de la tabla de verdad.
  • 84. Decisión en la Lógica Formal 79 Ejemplo 3.5.1.- Demostrar las siguientes formas de enunciados son tautologías o enunciados válidos p ≡> ( p º q ) y ( p ¸ q ) ≡> p. (a) Tabla de verdad para p ≡> ( p º q ) p q ( p º q ) p ≡> ( p º q ) V V V V V F V V F V V V F F F V Tabla 3.5.1 (b) Tabla de verdad para ( p ¸ q ) ≡> p. p Q ( p ¸ q ) ( p ¸ q ) ≡> p. V V V V V F F V F V F V F F F V Tabla 3.5.2 Ambas implicaciones lógicas tienen nombres: se denominan, respectivamente, la Ley de Adición y la Ley de Simplificación. Consideremos la siguiente expresión, correspondiente al Silogismo Hipotético, que puede expresarse de la siguiente forma: ( p ⇒ q ) , ( q ⇒ r ) *4 ( p ⇒ r ) p q r ( p | q ) ( q | r ) Premisas ( p | r ) Válido V V V V V V V V V V F V F F F V V F V F V F V V V F F F V F F V F V V V V V V V F V F V F F V V F F V V V V V V F F F V V V V V Tabla 3.5.3: Tabla de Verdad de Silogismo Hipotético
  • 85. Decisión en la Lógica Formal 80 Consideremos el caso en el que si todas las premisas son verdaderas, y este es el caso sólo si p y q son F, entonces la conclusión 5 p es verdadera. La forma de enunciado correspondiente a un razonamiento como el considerado, se denomina Modus Tollens. ( p ⇒ q) , 5 q *4 5 p p q ( p ⇒ q) 5 q Premisas Conclusión 5 p Válido V V V F F F V V F F V F F V F V V F F V V F F V V V V V Tabla 3.5.4: Tabla de verdad de Modus Tollens 3.5.2.- SISTEMAS PARA DERIVACIONES Existen diferentes sistemas para hacer derivaciones. Todos estos sistemas tienen las siguientes características en común. 1.- Existe una lista dada de argumentos o formas de razonamientos lógicos admisibles, llamados Reglas de Inferencia. Esta lista se la conoce con el nombre de L. 2.- La derivación por si misma es una lista de expresiones lógicas. Originalmente esta lista esta vacía. Se le pueden añadir expresiones a ésta si constituyen una premisa o si pueden obtenerse a partir de expresiones previas, aplicando una de las reglas de inferencia. Este proceso continua hasta que se alcanza la conclusión. Si existe una derivación para la conclusión C, dado que A1, A2, . . . ., An son las premisas y dado que L es el conjunto de reglas de inferencia admisibles, entonces escribimos: A1, A2, . . . ., An | L C Ejemplo 3.5.2: Demostrar el siguiente enunciado ( P | Q ) , ( Q | 5 R ) , ( 5 P | 5 R ) *4 5 R
  • 86. Decisión en la Lógica Formal 81 Derivación Formal Regla de Inferencia Comentario 1.- ( P | Q ) Premisa 2.- ( Q | 5 R ) Premisa 3.- ( 5 P | 5 R ) Premisa 4.- ( P | 5 R ) 1, 2 SH Silogismo Hipotético entre filas 1 y 2 5.- 5 R 3, 4 Cs Ley de Casos entre 3 y 4 Nota: La regla de Inferencia conocida como la Ley de Casos está indicada en el siguiente esquema o enunciado: ( A ⇒ B ) , ( 5 A ⇒ B ) *4 B Las diferentes Reglas de Inferencias admisibles están indicadas en la sección 3.4.1 y en el Trabajo Práctico Nro. 3 de la guía de Trabajos Prácticos. Obsérvese que en la mayoría de los sistemas para derivaciones formales, el conjunto L de reglas de inferencia es fijo. No puede utilizarse ninguna regla de inferencia a menos que se incluya en L como una regla de inferencia admisible. Dentro de esas reglas de inferencia tenemos: Ley de Combinación, de Simplificación, Ley de Adición, Modus Ponens, Modus Tollens, Silogismo Hipotético, Silogismo Disyuntivo, Ley de Casos, Eliminación e Introducción de Equivalencia y Ley de Inconsistencia. 3.5.3.- TEOREMA DE LA DEDUCCIÓN Para demostrar que ( A ⇒ B ) en matemáticas se utilizan con frecuencia el siguiente argumento informal: 1.- Se supone A y se añade A a las premisas. 2.- Se demuestra B, utilizando A, si es necesario. 3.- Se prescinde de A, lo que significa que A no es necesariamente verdadera, y se escribe ( A ⇒ B ). Ejemplo 3.5.3.- Una pareja tiene un niño, y están esperando un segundo hijo. Demostrar que si el segundo hijo es una niña entonces la pareja tendrá una niña y un niño. Sea P “el primer hijo es un niño” y Q “el segundo hijo es una niña” . Queremos demostrar que Q | P ¸ Q , dado que la premisa es P. De acuerdo con el método en discusión puede hacerse de la siguiente forma: 1.- P es verdadero, la pareja tiene un niño 2.- Se supone Q; esto es, se supone que el segundo hijo es una niña. 3.- A partir de P y de Q, concluya P ¸ Q por la ley de combinación. 4.- En este momento, se nos permite concluir que Q | P ¸ Q. Q puede ahora ser licenciada, esto es Q | P ¸ Q es verdadera aun si Q resulta falsa como resultado: en este caso Q | P ¸ Q es trivialmente verdadera. Es clara la razón por la cual es válido este patrón para realizar demostraciones.
  • 87. Decisión en la Lógica Formal 82 Cuando demostramos A ⇒ B , solamente necesitamos considerar el caso en que A es verdadera: si A es falsa, A ⇒ B es trivialmente verdadera. Si A es verdadera entonces puede añadirse a las premisas. Lo que muestra la validez del procedimiento. Esencialmente, el argumento establece que una hipótesis puede convertirse en un antecedente de un condicional> Este es el contenido del Teorema de la Deducción, que se enuncia de la siguiente forma: Teorema 3.5.3.- Sean A y B dos expresiones y sean A1, A2, A3, . . . , las premisas. Si B, A1, A2, A3, . . . , juntos implican lógicamente C, entonces A1, A2, A3, . . . , implican lógicamente B | C. Junto con este teorema, las reglas de inferencia admisibles, mencionadas anteriormente, forman un sistema completo de deducción. Ejemplo 3.5.4.- Utilizar el teorema de la deducción para derivar el Silogismo Hipotético. Usar el Modus Ponens (MP) como única regla de inferencia. Demostrar: P ⇒ Q, Q ⇒ R *4 P ⇒ R Derivación Formal Regla de Inferencia Comentario 1.- ( P ⇒ Q ) Premisa 2.- ( Q ⇒ R ) Premisa 3.- P Hipótesis Se supone P 4.- Q 1, 3 MP Modus Ponens entre filas 1, 3 5.- R 2, 4 MP Modus Ponens entre filas 2, 4 6.- ( P ⇒ R ) TD (Teorema de la Deducción) Se prescinde de P, esto es, P deja de suponerse verdadero y se concluye P⇒ R Ejemplo 3.5.5.- Mostrar que P ⇒ Q, y P ⇒ 5 Q puede utilizarse para la derivación de 5 P. Demostrar: P ⇒ Q, P⇒ 5 Q *4 5 P
  • 88. Decisión en la Lógica Formal 83 Derivación Formal Regla de Inferencia Comentario 1.- ( P ⇒ Q ) Premisa 2.- ( P ⇒ 5 Q ) Premisa 3.- P Hipótesis Se supone P para derivar una contradicción. 4.- Q 1, 3 MP Modus Ponens entre filas 1, 3 5.- 5 Q 2, 3 MP Modus Ponens entre filas 2, 3 6.- Q ¸ 5 Q 4, 5 C Las líneas 4 y 5 proporcionan la contradicción deseada 7.- 5 P Negación Puesto que la hipótesis P conduce a una contradicción, se permite concluir que 5 P Corresponde a una demostración indirecta. En la demostración formal se utiliza la palabra “Negación” para indicar que 5 P ha sido derivada y que la suposición P se descarta en lo sucesivo. 3.6.- LA DECISIÓN POR CUADRO SEMÁNTICO El método del cuadro semántico es un algoritmo relativamente eficiente para la decisión y su comprobación en el cálculo proposicional. El principio es muy simple, pues para comprobar la satisfiabilidad debemos buscar siempre un modelo. Definición 3.6.1 Un literal es una proposición simple o una fórmula atómica o la negación de la fórmula atómica. Definimos a {p, 5p} como el par complementario de literales, si y solo si p es una fórmula atómica. Definición 3.6.2 Para cualquier tipo de fórmula A, el conjunto {A, 5A} es el par complementario de fórmulas. A es el complemento de 5A y por lo tanto 5A es el complemento de A. Consideremos la siguiente fórmula A = p v (5p w 5p) y sea v una interpretación arbitraria para A. * v(A) = V si y solo si tanto v(p) = V y v (5p w 5q) = V * En consecuencia v(A) = V si y solo si se cumple que : 1.- v(p) = V y v( 5q) = V
  • 89. Decisión en la Lógica Formal 84 2.- v(p) = V y v( 5p) = V De esta forma hemos reducido la prueba de satisfiabilidad de A a la prueba de satisfiabilidad de sus literales. Recordemos las siguientes definiciones: Definición 1.- Una fórmula A es satisfactoria, si su valor es verdadero para alguna interpretación. Una interpretación satisfactoria es denominada como un Modelo de A. La notación empleada para un modelo es : Ö A Definición 2.- Una fórmula es Válida si su valor es verdadero para todas las interpretaciones. Definición 3.- Una fórmula lógica o proposición compuesta es Insatisfactoria o Contradictoria, si la misma no es satisfactoria, o sea que es FALSA (F) para todas sus interpretaciones. Definición 4.- Una fórmula lógica es Inválida o No Válida o Falsificable, si no es válida, o sea que su valor es FALSO (F) para alguna interpretación de sus valores de verdad. Consideremos la siguiente fórmula: B = (p w q) v (5p v 5q) * v(B) = V ssi v(p w q) = V y v(5p v 5q) = V * En consecuencia v(B) = V si y solo si v(p w q) = V y v(5p) = V y v(5q) = V. * En consecuencia v(B) = B si y solo si se cumplen las siguientes condiciones: 1.- v(p) = v(5p) = v(5q) = V o bien 2.- v(q) = v(5p) = v(5q) = V Como ambos conjuntos de literales contienen pares complementarios, ninguno de ellos es satisfactorio y en consecuencia podemos concluir que es imposible encontrar un modelo para B, de modo que B es insatisfactorio. La búsqueda sistemática nos lleva fácilmente a la simplicidad, si lo visualizamos de una manera básica o de una forma gráfica obtendremos una herramienta muy potente y muy simple de utilizar. A través de ello emplearemos el método del árbol y por descomposición sucesiva de la expresión o fórmula lógica, podremos analizar la misma. Lo cual nos conlleva a un conjunto de literales. Si este conjunto contiene a su vez un conjunto complementario de literales, lo identificaremos marcándolo a través de una X (insatisfactorio), mientras que un conjunto satisfactorio será marcado a través de un círculo, de la forma siguiente, F.
  • 90. Decisión en la Lógica Formal 85 p v (5q w 5p) 9 p , 5q w 5p b ` p , 5q p , 5p F X Figura 3.6.1: Expresión Lógica A El árbol etiquetado que resulta de esta descomposición y análisis posterior recibe el nombre de CUADRO SEMÁNTICO. Consideremos la expresión B, descompuesta a través de las denominadas Reglas ", indicada en la Figura 3.6.2. (p w q) v (5p v 5q) 9 p w q , 5p v 5q 9 p w q , 5p , 5q b ` p , 5p , 5q q , 5p , 5q X X Figura 3.6.2: Variación de Expresión Lógica B (p w q) v (5p v 5q) 9 p w q , 5p v 5q b ` p , 5p v 5q q , 5p v 5q 9 9 p , 5p , 5q q , 5p , 5q X X Figura 3.6.3: Variación de Expresión Lógica B Podemos considerar una variación del cuadro semántico para la expresión B si utilizamos las denominadas Reglas $, tal cual se indica en la Figura 3.6.3. Una presentación concisa de las reglas utilizadas para la creación de los cuadros o marcos semánticos, puede indicarse, si las fórmulas lógicas son clasificadas tomando en cuenta la negación y el conectivo principal. Existen dos tipos de reglas de este tipo; las denominadas Reglas " y las denominadas Reglas $. 1.- Las fórmulas " que son conjuntivas y satisfactorias si y solo si ambas sub fórmulas "1 y "2 también son satisfactorias.
  • 91. Decisión en la Lógica Formal 86 " "1 "2 5 5 A A A1 ¸ A2 A1 A2 5 ( A1 º A2 ) 5 A1 5 A2 5 ( A1 | A2 ) A1 5 A2 5 ( A1 } A2 ) 5 A1 A2 A1 / A2 A1 | A2 A2 | A1 Figura 3.6.4: Reglas de Cuadro Semántico para Fórmulas " 2.- Las fórmulas $ que son disyuntivas y son satisfactorias aún si solo una de las sub fórmulas $1 y/o $2 es satisfactoria. $ $1 $2 B1 º B2 B1 B2 5 (B1 ¸ B2) 5 B1 5 B2 B1 | B2 5 B1 B2 B1 } B2 B1 5 B2 5 (B1 / B2) 5 (B1 | B2) 5 (B2 | B1) Figura 3.6.5: Reglas de Cuadro Semántico para Fórmulas $ CONSTRUCCIÓN DEL CUADRO SEMÁNTICO * Cada nodo del cuadro semántico T será marcado y etiquetado con un conjunto de fórmulas. Inicialmente T consiste de un nodo simple, etiquetado con un conjunto simple {c}. Es cuadro semántico se construye inductivamente de la siguiente forma : * Seleccionar una hoja l no marcada sobre el árbol de descomposición. Esta hoja l es etiquetada por el conjunto de fórmulas U(l), utilizando las siguientes reglas. * Si U(l) es un conjunto de literales, comprobar si existe un par complementario de literales del tipo {p, 5 p} en U(l). -Si es así marcar la hoja como Cerrada X. -Si no es así marcar la hoja como Abierta F
  • 92. Decisión en la Lógica Formal 87 * Si U(l) no es un conjunto de literales, elegir una fórmula en U(l), de la siguiente forma -Si la fórmula A es una fórmula-", crear un nuevo nodo l' como hijo del nodo l y etiquetarlo como l' , de la siguiente forma : U(l') = (U(l) - {A}) ^ ("1, "2) (En el caso de que A sea 5 5 A, no existe la sub fórmula "2) -Si la fórmula B es una fórmula-$, crear dos nuevos nodos l' y l" como hijos de l , Etiquetar a l' con la siguiente fórmula : U(l') = (U(l) - {B}) ^ ($1) y etiquetar l" con la siguiente fórmula : U(l') = (U(l) - {B}) ^ ($2) La construcción termina cuando todas las hojas del árbol están marcadas con un símbolo X o bien F. Definición 3.6.3: Un cuadro cuya construcción ha finalizado se lo denomina Cuadro Completo. Un cuadro completo se dice que está Cerrado si todas sus hojas están marcadas con la notación de cerrado, de otra forma o modo se dice que el cuadro está Abierto. Teorema 3.6.1: Sea T un cuadro semántico completo para una fórmula A. La expresión A es No Satisfactoria si y solo si T es cerrado. Corolario 3.6.1: La expresión A es una expresión lógica satisfactoria si y solo si T está abierto. Corolario 3.6.2: La expresión A es una expresión lógica válida si y solo si el cuadro semántico para 5 A es cerrado. Consideremos el siguiente ejemplo. Podemos demostrar que la siguiente expresión 5 (p ¸ 5p) es válida utilizando en el cuadro semántico el conjunto de la Reglas-" y Reglas-$. 5 5 (p ¸ 5p) 9 p ¸ 5p 9 p , 5p X Cerrado para 5 A y Abierto para todo A Figura 3.6.6: Cuadro Semántico para 5 (p ¸ 5p) Consideremos otro ejemplo: B = p º (q ¸ 5 q)
  • 93. Decisión en la Lógica Formal 88 p º (q ¸ 5 q) b ` p q ¸ 5 q F 9 q , 5q X Figura 3.6.7: Cuadro Semántico de p º(q ¸ 5 q) 3.7.- LA DECISIÓN POR REDUCCIÓN AL ABSURDO A diferencia de los métodos de decisión considerados hasta ahora, la decisión por reducción al absurdo no parte de la fórmula dada. Todo lo contrario: parte de la contradicción de dicha fórmula. Se trata de una prueba indirecta. Es un método que intenta probar la validez de un razonamiento o la verdad de un enunciado mostrando que la contradicción de los mismos conduce a una contradicción. La lógica tradicional y el uso corriente conocen este procedimiento desde hace mucho tiempo. Recordemos un ejemplo. Aparecida la tesis copernicana, sus detractores, siguiendo a Aristóteles y Ptolomeo, querían probar la validez de la siguiente afirmación "El planeta Tierra está inmóvil". Para ello partían de su negación: "El planeta Tierra no está inmóvil". Aceptaron provisionalmente que la tesis copernicana era verdadera. Aceptaron que la tierra gira sobre su eje y en torno del sol. Ahora bien, aceptando esta hipótesis era cuestión de razonar sobre ella hasta que surgiera una contradicción. Y esa contradicción fue encontrada fácilmente, no una sino muchas veces: La Tierra se desintegraría al girar sobre su eje en un día y al estar lanzada a velocidad tan grande en torno del Sol; las nubes, los pájaros, todo lo que no tiene contacto directo con la Tierra quedaría atrás vertiginosamente y en dirección contraria a la dirección del movimiento terrestre. Como estos fenómenos no se observan, como entran en contradicción con la realidad, se creyó probar que la tesis inicialmente negada, "La Tierra está inmóvil" era verdadera. El procedimiento de demostración por reducción al absurdo es formalmente legítimo. Aunque esta vez sirvió de poco pues no era el aristotelismo, sino la nueva astronomía de la edad moderna quien estaba en lo cierto. Tomemos ahora un ejemplo lógico: (p ⇒ q) ⇒ (5 q ⇒ 5 p) (1) Partiremos de la negación de esta forma de enunciad, para decidir si la misma es tautológica o no: 5 [(p ⇒ q) ⇒ (5 q ⇒ 5 p)] Esta fórmula dice que todo lo ubicado dentro del corchete es falso. Y como la fórmula ubicada dentro del corchete es una implicación, ha de ser falsa sólo si su antecedente es V y su consecuente es F: (p ⇒ q) ⇒ (5 q ⇒ 5 p) V F
  • 94. Decisión en la Lógica Formal 89 Ahora podemos razonar así: si el segundo miembro es F, ello significa que 5 q es V y que 5 p es F. Coloquemos esos valores en una segunda línea horizontal: (p ⇒ q) ⇒ (5 q ⇒ 5 p) V F V F En este caso q será F y p será V. Traslademos estos últimos valores al primer miembro de la fórmula dada: (p ⇒ q) ⇒ (5 q ⇒ 5 p) V F V F F V F Pero nótese que si esto es así, ha surgido una situación inadmisible, contradictoria: el primer miembro (p ⇒ q), que en un primer paso lo considerábamos V, ahora aparece como F, pues su antecedente es V y su consecuente F. Marcamos, como en la fórmula precedente, con un subrayado el lugar preciso donde surge contradicción (en este caso contradicción entre la V de la segunda línea y la F de la tercer, ambas correspondientes a (p ⇒ q). Ha surgido, pues, una contradicción al negar la fórmula. Consideremos ahora otro ejemplo diferente: (p ⇒ q) ≡ (q ⇒ p) (2) Procederemos también aquí como si la fórmula fuese falsa. Ahora bien, un bicondicional es F cuando uno de sus miembros es F y el otro V. Consideraremos que el primer miembro es V y el segundo F: (p ⇒ q) ≡ (q ⇒ p) V F Si el primer miembro es V, ello puede deberse, entre otras posibilidades, a que tanto p como q sean V: (p ⇒ q) ≡ (q ⇒ p) V F V V Traslademos ahora estos valores de p y q al segundo miembro: (p ⇒ q) ≡ (q ⇒ p) V F V V V V V V V Realizado esto, ha surgido una contradicción porque si p y q son V, el segundo miembro ha de ser V también. Y habíamos considerado que era falso. ¿Qué conclusión podemos extraer de estos dos ejemplos? ¿Concluiremos, como los enemigos de Copérnico y de Galileo, que las proposiciones originales de que partimos eran verdades absolutas, pues encontramos
  • 95. Decisión en la Lógica Formal 90 contradicciones en cuanto quisimos negarlas? Para responder adecuadamente es preciso detenerse en los dos procedimientos. ¿Qué diferencia importante hay entre ellos?. Nótese que en (1) había una sola forma de hacer falsa la fórmula. Y también nótese que razonando sobre esa única posibilidad llegamos a la contradicción apuntada. En cambio en (2) existen varias formas de hacer falsa a la fórmula dada. Por ejemplo: (p ⇒ q) ≡ (q ⇒ p) F V Razonamos sobre esta posibilidad y veremos que, curiosamente, no surge contradicción alguna: (p ⇒ q) ≡ (q ⇒ p) F V V F F V Esto muestra que las fórmulas (1) y (2) tienen distinto carácter: la primera es tautología (Teorema de la Transposición); la segunda es una fórmula indefinida. Una tautología negada es una contradicción. Es decir que el tipo de contradicción a que llegamos en (1) es diferente de la que llegamos en (2). Por cualquiera de los caminos posibles que razonemos en torno de una tautología negada, llegaremos a una contradicción. En cambio la negación de una fórmula indefinida es otra fórmula indefinida; a eso se debe que (2), una vez conduce a una contradicción cuando la negamos, otras veces no. Bastará, pues, un solo caso donde no se llegue a contradicción para asegurarnos de que la expresión lógica original no es tautológica. Consideremos un tercer ejemplo: (5 p w q) ≡ (p v 5 q) (3) Comenzaremos, como siempre que aplicamos la prueba indirecta, considerando falsa a la fórmula. Como se trata de un bicondicional, ello puede ocurrir de dos maneras: o cuando el primer miembro es F y el segundo V o cuando el primer miembro es V y el segundo F. Comencemos analizando la primera posibilidad y razonemos sobre ella: (5 p w q) ≡ (p v 5 q) F V F F V V Como el primer miembro es una disyunción, será falso sólo cuando ambas variables sean falsas. Es decir cuando 5 p y q sean F. Pero si esto es así, p y 5 q serán V. Estos últimos valores los hemos pasado al segundo miembro y no hubo contradicción alguna. Probemos esta vez con la segunda posibilidad que tiene el bicondicional de ser F: (5 p w q) ≡ (p v 5 q) V F a) V V F F b) V F F V c) F V V F
  • 96. Decisión en la Lógica Formal 91 Existen tres posibilidades de que el primer miembro, una disyunción, sea verdadero y también tres de que el segundo miembro, una conjunción, sea F. Las identificamos como casos (a), (b) y (c). En ninguno de ellos ha surgido alguna contradicción. Esto significa que la fórmula acepta que se la considere como F en todos los casos. Si se construye la tabla, para esta fórmula, se verá que es contradictoria. Las expresiones (1), (2) y (3) han sido ejemplos diferentes a los cuales hemos aplicado la prueba indirecta. En (1) vimos que era imposible hacer falsa la fórmula sin caer en una contradicción: la fórmula era tautológica. En (2) comprobamos que la fórmula aceptaba unas veces ser considerada como falsa sin caer en contradicciones y otras veces no: la fórmula era indefinida. En (3) notamos que en ninguno de los casos en que podíamos considerar como falsa a la fórmula caíamos en contradicción: la fórmula era contradictoria. Sin embargo no debemos extraer regla alguna de los ejemplos (2) y (3), pues aplicando la prueba indirecta no es posible decidir sobre el carácter indefinido o contradictorio de un enunciado. Lo único que ella permite es determinar con seguridad si la fórmula es tautológica o no lo es. Y si la prueba indirecta no puede decidir sobre si un enunciado es indefinido o contradictorio se debe a l siguiente situación: existen enunciados indefinidos que aceptan ser considerados falsos en todos los casos posibles sin mostrar contradicción. Consideremos el siguiente ejemplo: 5 (p w q) ⇒ 5 r (4) Aplicando la prueba indirecta obtenemos el resultado siguiente: 5 (p w q) ⇒ 5 r V F Hemos considerado que el condicional era F. podemos concluir en que r es V, pero ello de nada nos sirve pues se trata de una variable que no figura en las premisas y por lo mismo no podemos trasladar su valor al primer miembro como hicimos en los ejemplos anteriores. Podemos concluir también en la verdad de (p w q). Y no existe en ello contradicción alguna. Lo único claro es que el enunciado no es tautológico, pues no ha surgido contradicción. ¿Pero cómo saber si es indefinido o contradictorio? Así como la decisión por las formas normales nos indicaba que si llegábamos a una f.n.c. no tautológica era preciso completar la prueba con la f.n.d., también en casos como éste es preciso recurrir a otro procedimiento para decidir completamente el carácter de la fórmula. Este procedimiento consiste en aplicar al mismo enunciado la denominada Prueba Directa. Esta vez razonaremos sobre la base de que el enunciado en cuestión es verdadero. No sobre la base de que era falso como en la prueba indirecta. Y por cierto que con un tratamiento inverso, como es éste con respecto del anterior, la regla también cambiará: esta vez los casos de contradicción mostrarán casos de falsedad del enunciado; y los casos de no contradicción indicarán aquellas situaciones en que la fórmula es verdadera. Apliquemos, pues, la prueba directa a la fórmula que estamos considerando :
  • 97. Decisión en la Lógica Formal 92 5 (p w q) ⇒ 5 r V F VF Hemos considerado verdadera a la fórmula y no surgió ninguna contradicción. Esto revela que la fórmula es a veces V, por lo tanto no es contradictoria. Si no era tautológica, según nos mostró la prueba indirecta y ahora sabemos que tampoco es contradictoria, inferimos que la fórmula es indefinida. Si aplicamos la prueba indirecta a los razonamientos, la decisión en torno a su validez o invalidez es sumamente simple. No se requiere aquí la prueba directa como complemento de decisión. Porque mientras que en el caso de los enunciados debíamos decidir entre tres posibilidades (tautología, contradicción e indefinición), los razonamientos son simplemente válidos o inválidos. Aplicada la prueba indirecta a un razonamiento bastará un solo caso de adjudicación de valores donde no surja una contradicción para saber que el razonamiento en cuestión es inválido. Por el contrario, si en todos los casos aparece contradicción, el razonamiento es válido. Mostraremos lo dicho con algunos ejemplos: 5 A, A ⇒ B ˆ B (1) V V F Nuestro primer paso ha sido asignar valores al razonamiento de tal modo que sea inválido. Para ello, por nuestra anterior definición de invalidez, suponemos que las premisas son V y la conclusión es F. Veremos si el razonamiento acepta o no esa asignación de valores que hemos realizado. Si acepta sin mostrar contradicción, es inválido. Caso contrario es válido. Nuestro segundo paso consistirá en trasladar el valor F de B a la segunda premisa y deducir qué valor corresponde en ese caso a A y 5 A: 5 A, A ⇒ B ˆ B V V F V F F F F Como vemos, no ha surgido ninguna contradicción. Es decir que el razonamiento aceptó tener premisas V y conclusión F, sin mostrar contradicción. Por lo tanto es inválido. Consideremos otro ejemplo: A ⇒ B, A v C, C ⇒ D ˆ D v B (2) V V V F Como siempre, nuestro primer paso consiste en considerar inválido el razonamiento dado. Por ello atribuimos V a las premisas y F a la conclusión. Ahora bien, si la conclusión (D v B) es F, ello puede ocurrir por varias razones. Una de ellas es que tanto D como B sean F. Consideremos esta posibilidad y veremos si surge alguna contradicción. A ⇒ B, A v C, C ⇒ D ˆ D v B (2) V V V F F F F F F F F F F
  • 98. Decisión en la Lógica Formal 93 Una vez que hemos trasladado los valores de B y D a las premisas, ocurrió que los dos consecuentes de los condicionales eran F. Para considerarlos V a dichos condicionales, algo que postulamos en el primer paso, tuvimos que hacer también F a sus respectivos antecedentes (A y C). Pero hecho esto, la segunda premisa acusa una contradicción: es F y habíamos supuesto que era V. ¿Se ha decidido algo con este segundo paso? Aún no; para que el razonamiento sea válido es preciso que aparezcan contradicciones en todos los casos de adjudicación de valores, que permite la falsedad de (D v B). Veamos, en consecuencia, una segunda posibilidad en (D v B) es F: A ⇒ B , A v C , C ⇒ D ˆ D v B (2) V V V F V V V F F F F F V Una vez más surgió una contradicción. Sin embargo todavía no podemos afirmar que el razonamiento sea válido, pues resta una tercera posibilidad en que (D v B) es F: A ⇒ B, A v C , C ⇒ D ˆ D v B (2) V V V F F F F F V V V V F También aquí hay contradicción. Como en todos los casos considerados hubo contradicción, el razonamiento es válido. Es válido porque es imposible hacerlo inválido sin caer en una contradicción. Es válido porque no pudimos comprobar aquel supuesto de que partimos: que el razonamiento era inválido. Consideremos un ejemplo más. Esta vez será un razonamiento cuya correspondiente forma de enunciado la vimos anteriormente y tuvimos que emplear la prueba directa como complemento para decidir que era indefinido: 5 (A w B) ˆ 5 C V F F V La asignación de valores que hicimos, muestra que no surge contradicción alguna: el razonamiento acepta que se lo considere como inválido. Por lo tanto es inválido. ================================
  • 99. Decisión en la Lógica Formal 94 3.8.- PROBLEMAS CAPITULO III 1.- Utilizando las propiedades de la lógica formal, simplificar las siguientes expresiones y/o expresarlas únicamente como conjunciones: determinar las formas normales conjuntivas (fnc) y las formas normales disyuntivas (fnd): a) ((p v q) w (p ⇒s)) (b) ((p ⇒ q) ≡ (p w 5q)) (c) ((p ⇔ q) ⇒ (q ⇔ 5p)) (d) ((5p ⇒ q) w (s ⇒ r)) (e) ((p ⇒ 5q) ⇒ (s ⇔ r)) (f) {(p w q) ⇒ [(q ⇔ r) ⇒ (r ⇒ s)]} 2.- Utilizando las propiedades de la lógica formal, simplificar las siguientes expresiones y/o expresarlas únicamente como conjunciones: determinar las formas normales conjuntivas (fnc) y las formas normales disyuntivas (fnd): (a) ((p w q) ⇒ (q w p)) (b) (p ⇒ ((p w q) ⇔ r) (c) (p ⇔ 5p) (d) (p ⇒ (5p ⇒ q)) (e) ((p ⇒ q) ⇒ (q ⇔ p)) (f) [(p v q) ⇔ q] ⇒ p (g) p ⇒ [q ⇒ (q w p)] (h) ((p v q) ⇒ (p w r)) (i) [p w (5p v q)] w (5p v 5q) (j) (p v q) ⇔ [p ⇒ (q w r)] (k) {p v [q ⇒ [(p v 5p) ⇒ (q w 5q)]]} v (q ⇒ q) 3.- Determinar si los siguientes expresiones lógicas, a través de las fnc y fnd, son tautologías, contradicciones, o indefiniciones. (a) (p ⇒ q) ⇒ (5q ⇒ p) (b) 5(p ⇒ q) / (5q v p) (c) (p w q) ⇔ (p ⇒ q) (d) (p ⇔ q) ⇒ 5(p ⇒ q) (e) [(p ⇒ q) v 5q] ⇒ 5p (f) [(p ⇒ q) v 5p] ⇒ 5q (g) [(p ⇒ q) w (q ⇒ p)] (h) p v 5[5(p ⇒ q) w q] (i) 5[(p w q) ⇔ (p ⇒ q)] ⇔ [5(p w q) ⇔ (p ⇒ q)] (j) p ⇒ (p w q) 4.- Determinar si las expresiones lógicas consideradas en el Problema 1, a través de las fnc y fnd, son tautologías, contradicciones, o indefiniciones. 5.- Determinar si las expresiones lógicas consideradas en el Problema 2, a través de las fnc y fnd, son tautologías, contradicciones, o indefiniciones. 6.- Determinar la correspondiente forma de enunciado de las siguientes formas de razonamiento y determinar si los razonamientos equivalentes son válidos o inválidos: (a) [(A ⇒ B) v ((A w B) ⇒ (A v B))] ⇒ (A w B) (b) ((A v B) v (A ⇔ B)) ⇒ (A w B) (c) [(A ⇒ (B ⇒ C)) v ((A ⇒ B) ⇒ (A ⇒ C))] ⇒ (B w C) (d) [A w (5A v B)] v (5A v 5B) v [(A ⇒ B) v 5B] ⇒ 5B (i) 5[(A w B) ⇔ (A ⇒ C)] v 5(A w B) v (B ⇒ C) ⇒ 5(A w C) 7.- Determinar si las formas de enunciados consideradas en el Problema 1, utilizando el método de reducción por el absurdo, son tautologías, contradicciones, o indefiniciones. Luego determinar las formas de
  • 100. Decisión en la Lógica Formal 95 razonamiento y determinar si el correspondiente razonamiento es válido o inválido. 8.- Determinar si las formas de enunciados consideradas en el Problema 2, utilizando el método de reducción por el absurdo, son tautologías, contradicciones, o indefiniciones. Luego determinar las formas de razonamiento y determinar si el correspondiente razonamiento es válido o inválido. 9.- Determinar si las formas de enunciados consideradas en el Problema 3, utilizando el método de reducción por el absurdo, son tautologías, contradicciones, o indefiniciones. Luego determinar las formas de razonamiento y determinar si el correspondiente razonamiento es válido o inválido. 10.- Sea r (OR exclusivo) la función de verdad definida por la siguiente proposición: (p v 5q) w (5p v q) (a) Probar que r (OR exclusivo) es conmutativo y asociativo. (b) Probar que las siguientes expresiones son tautologías: 5p ≡ pr 1 ; p r 0 ≡ p ; p r p 0 11.- Mostrar que los siguientes argumentos son válidos usando el concepto de i) tautología y ii ) contradicción. a) ( p ∨ q ), 5 p, ( 5 p ∨ r ) /> (q ∨ r ) b) ( p ⇒ q ), ( p ⇒ r ) /> ( p ⇒ ( q ∧ r )) c) ( p ∨ q ), ( p ⇒ r ), ( q ⇒ r) /> r 12.- Para cada uno de los siguientes argumentos válidos indique cual de las reglas de inferencia dadas en la Tabla 2 se utilizan: a)Si el Sr. Juárez o la Sra. Juárez ganan más de $30.000 al año, la familia Juárez puede pasar sus vacaciones en Hawai. Puesto que yo sé que, o el Sr. Juárez o su esposa, ganan más de $30.000, concluyo que la familia puede afrontar sus vacaciones en Hawai. b) Si Juan descubre que el producto que le vendiste está defectuoso, se pondrá furioso. Desafortunadamente ha descubierto que el producto está defectuoso. Por lo tanto Juan va a estar furioso c) Si José estuvo ayer en el partido, necesitará dormir. José no pudo dormir. Por consiguiente él no fue al partido. d) Si está caluroso y húmedo, entonces obviamente está caluroso también. e) Si no llueve, iré a la quinta. Pero no puedo ir a la quinta. Por consiguiente lloverá.
  • 101. Decisión en la Lógica Formal 96 13.- Dar una derivación para los argumentos lógicos siguientes: a) p, ( p ⇒ ( q ∨ r )) , (( q ∨ r ) ⇒ s ) /> s b) ( p ⇒ q ) , ( q ⇒ r ) , 5 r /> 5 p c) p , ( p ⇒ q ) /> ( p ∧ q ) d) ( p ∨ q ) , ( p ⇒ r ) , ( q ⇒ r ) /> r e) ( p ⇒ q ) , ( p ⇒ 5 q ) /> 5 p f) ( p ⇒ r ) , ( 5 p ⇒ q ) , ( q ⇒ s ) /> ( 5 r ⇒ q ) g) ( p ⇒ q ) , ( q ⇒ ( r ∧ s )) , ( 5 r ∨ ( 5 t ∨ u)) , ( p ∧ t ) /> u h) ( p ⇒ ( q ⇒ r )) , ( p ∨ s) , ( t ⇒ q ) , 5 s /> ( 5 r ⇒ 5 t ) 14.- Analizar la validez de los siguientes argumentos: a) Si Rosa obtiene el puesto de supervisor y trabaja mucho, entonces obtendrá un aumento. Si obtiene el aumento, entonces comprará un auto nuevo. Ella no ha adquirido un auto nuevo. Por lo tanto, Rosa no ha obtenido el puesto de supervisor o no ha trabajado mucho. b) Si Domingo va a la carrera de autos, Elena se enojará mucho. Si Rafael juega cartas toda la noche, Carmen se enojará. Si Elena o Carmen se enojan, le avisarán a Verónica ( su abogado). Verónica no ha tenido noticias de estas dos clientes. En consecuencia ni Domingo fue a las carreras ni Rafael jugó cartas toda la noche. 15.- Determinar si las formas de enunciados consideradas en el Problema 1, utilizando el método del cuadro semántico, son tautologías, contradicciones, o indefiniciones. Luego determinar si el correspondiente razonamiento es válido o inválido. 16.- Determinar si las formas de enunciados consideradas en el Problema 2, utilizando el método del cuadro semántico, son tautologías, contradicciones, o indefiniciones. Luego determinar si el correspondiente razonamiento es válido o inválido. 17.- Determinar si las formas de enunciados consideradas en el Problema 3, utilizando el método del cuadro semántico, son tautologías, contradicciones, o indefiniciones. Luego determinar si el correspondiente razonamiento es válido o inválido.
  • 102. Decisión en la Lógica Formal 97 TABLA 2: PRINCIPALES REGLAS DE INFERENCIA BAB,A ∧≡> Ley de combinación BBA ABA ≡>∧ ≡>∧ Leyes de simplificación BAB BAA ∨≡> ∨≡> Leyes de adición BBA,A ≡>⇒ Modus Ponens ABA,B ¬≡>⇒¬ Modus Tollens CACB,BA ⇒≡>⇒⇒ Silogismo Hipotético AB,BA BA,BA ≡>¬∨ ≡>¬∨ Silogismo disyuntivo BBA,BA ≡>⇒¬⇒ Ley de casos ABBA BABA ⇒≡>⇔ ⇒≡>⇔ Eliminación de la equivalencia BAAB,BA ⇔≡>⇒⇒ Introducción de la equivalencia BA,A ≡>¬ Ley de inconsistencia .
  • 103. Algebra de Boole como Sistema Axiomático 98 LÓGICA COMPUTACIONAL CAPITULO IV ALGEBRA DE BOOLE COMO UN SISTEMA AXIOMÁTICO 4.1.- ÁLGEBRA DE BOOLE COMO UN SISTEMA AXIOMÁTICO 4.1.1.- CONCEPTO Un Sistema Axiomático que conduce al Álgebra de Boole, consiste de los siguientes elementos definidos acorde a la definición previamente considerada. A.- Términos Primitivos Compuesto de un conjunto no vacío de elementos, B = i, y dos funciones o aplicaciones, denominadas comúnmente como Junta o Suma Lógica (+, w) y Reunión o Producto Lógico (B , v). B.- Axiomas B1: La junta (w) y la reunión (v) son ambas leyes de composición interna dentro del conjunto B. œ a, b 0 B → a w b 0 B œ a, b 0 B → a v b 0 B B2: La junta (w) y la reunión (v) son ambas leyes conmutativas dentro del conjunto B. œ a, b 0 B : a w b = b w a œ a, b 0 B : a v b = b v a B3: La junta (w) y la reunión (v) son ambas leyes asociativas dentro del conjunto B. œ a, b, c 0 B: a w (b w c) = (a w b) w c ; a v (b v c) = (a v b) v c B4: La junta (w) y la reunión (v) son ambas leyes distributivas, cada una de ellas con respecto de la otra, dentro del conjunto B. œ a, b, c 0 B: a w (b v c) = (a w b) v (a w c) a v (b w c) = (a v b) w (a v c) B5: Existen elementos Neutros dentro de B con respecto a la junta (w) y a la reunión (v), los que se denotan por 0 y 1 tal que: œ a, b 0 B: a w 0 = a ; a v 1 = a
  • 104. Algebra de Boole como Sistema Axiomático 99 B6: Todo elemento de B admite un elemento inverso (complementario), con respecto a la junta (w) y a la reunión (v), al que se denota por a', tal que: œ a, b 0 B: a w a' = 1 ; a v a' = 0 EJEMPLO El siguiente ejemplo es un modelo del Álgebra de Boole muy particular. Consideremos el siguiente conjunto: B = {1, 2, 3, 5, 6, 10, 15, 30} = {x 0 N: x -30} w / Denota el Mínimo Común Múltiplo (MCM). v / Denota el Máximo Común Divisor (MCD). Con elementos neutros 1 y 30 respectivamente. 4.1.2.- PRINCIPIO DE DUALIDAD EN EL ÁLGEBRA DE BOOLE Denominamos proposición dual, de una proposición del Álgebra de Boole, a la que se deduce de esta última intercambiando los símbolos de junta (w) y reunión (v) y también sus elementos neutros 0 y 1. Este principio establece que el dual de un Axioma o Teorema del Álgebra de Boole, es también un Axioma o Teorema del mismo sistema axiomático 4.1.3.- TEOREMAS EN EL ÁLGEBRA DE BOOLE Sea (B, w, v) un Álgebra de Boole, en función de ello demostraremos algunos de los teoremas básicos. (1) Idempotencia œ a 0 B : a v a = a por dualidad a w a = a a v 1 = a (p/ B5) ⇒ a v (a w a') = a (p/ B6) ⇒ (a v a) w (a v a') = a (p/ B4) | (a v a) w 0 = a (p/ B6) ⇒ a v a = a (p/ B5) Por el principio de dualidad tenemos que: (1)' œ a 0 B ⇒ a w a = a (2) Elemento Neutro a w 1 = 1 En efecto, por B6, B3, (1)' y B6 tenemos: a w 1 = a w (a w a') = (a w a) w a' = a w a' = 1
  • 105. Algebra de Boole como Sistema Axiomático 100 Por dualidad resulta que: (2)' a v 0 = 0 (3) Ley Involutiva œ a 0 B | (a')' = a Aplicando sucesivamente B5, B6, B2, B4, B2, B6, B6, B4, B6 y B5 resulta: (a')' = (a')' w 0 = (a')' w (a v a') = (a')' w (a' v a) = = [(a')' w a'] v [(a')' w a] = [a' w (a')'] v [a w (a')'] = = 1 v [a w (a')'] = (a w a') v [a w (a')'] = a w [a' v (a')'] = a w 0 = a (4) Ley de De Morgan (a w b)' = a' v b' y la forma dual correspondiente (a v b)' = a' w b' Consideremos: (a w b) v (a' v b') = (a' v b') v (a w b) = = [(a' v b') v a] w [(a' v b') v b] = [(b' v a') v a] w [(a' v b') v b] = = [b' v (a' v a)] w [a' v (b' v b)] = (b' v 0) w (a' v 0) = 0 w 0 = 0 O sea: (a w b) v (a' v b') = 0 (1) Análogamente, se llega a: (a w b) w (a' v b') = 1 (2) De (1) y (2) resulta que: (a w b)' = a' v b' La forma dual de la Ley de De Morgan es: (a v b)' = a' w b' Ejemplo 4.1.1: Sea (B, w, v) un álgebra booleana, tal que B = {0, 1}. Podemos representar las dos operaciones definidas a través del Álgebra de Boole por medio de tablas denominadas tablas de verdad, de una manera análoga a la lógica proposicional. w 0 1 v 0 1 0 0 1 0 0 0 1 1 1 1 0 1
  • 106. Algebra de Boole como Sistema Axiomático 101 Además tenemos que: 0' = 1 y 1' = 0 El álgebra representada en el presente ejemplo es la más simple y al mismo tiempo la más útil y es la base de toda la tecnología digital binaria, una de cuyas aplicaciones más importantes es la computación tanto en lo referente al hardware como al software. Ejemplo 4.1.2 : Sea B el álgebra de Boole del Ejemplo 4.3.1, en consecuencia el conjunto parcialmente ordenado Bn : Bn = {(b1, b2, ....., bn) - bi 0 B para i = 1, 2, ....., n} es también un Álgebra de Boole. Si consideramos que: a = (a1, a2, ....., an) 0 Bn y b = (b1, b2, ....., bn) 0 Bn entonces: a w b = (a1 w b1, a2 w b2, ....., an w bn) a v b = (a1 v b1, a2 v b2, ....., an v bn) a' = (a1', a2', ....., an') 0Bn = (0, 0, 0, ..., 0) y IBn = (1, 1, 1, ..., 1) 4.1.4.- TABLAS DE VERDAD Y REPRESENTACIÓN CIRCUITAL Podemos representar las dos operaciones definidas a través del Álgebra de Boole por medio de tablas denominadas tablas de verdad, de una manera análoga a la lógica proposicional. La tabla del AND es: El gráfico de la función AND es: a b AND (a v b) 0 0 0 0 1 0 1 0 0 1 1 1 La tabla del OR es: El gráfico de la función OR es: a b OR (a w b) 0 0 0 0 1 1 1 0 1 1 1 1
  • 107. Algebra de Boole como Sistema Axiomático 102 La tabla del NOR es: El gráfico de la función NOR es: a b NOR (a w b)’ 0 0 1 0 1 0 1 0 0 1 1 0 La tabla del NOT es: El gráfico de la función NOT es: a NOT (a)’ 0 1 1 0 4.1.5.- LAS FUNCIONES EN EL ÁLGEBRA DE BOOLE Bn Sea B = {0, 1} y sea Bn álgebras de Boole tal cual se las definió anteriormente. Podemos entonces discutir las funciones f de Bn en B. Para estas funciones f y para cualquier n-tupla (x1, x2, ....., xn) 0 Bn , f(x1, x2, ....., xn) es 0 o 1. Estas funciones pueden verse como funciones de "n variables", donde cada una de ellas sólo toma los valores 0 y 1. Es frecuente expresarlas a través de tablas dando cada n-tupla posible (x1, x2, ....., xn) y el valor correspondiente de la función f. La figura 4.3.4(a) nos muestra una función f particular de tres variables; o sea, f: B3 → B. Cualquier distribución posible de 2m ceros y unos puede ser el conjunto de los valores de alguna función de la siguiente forma f: Bm → B. La importancia de tales funciones es que, tal como lo muestra la figura 4.3.4 (b) esquemáticamente, pueden usarse para representar los requerimientos de salida de un circuito para todos los posibles valores de las entradas. Y así cada xi representa una entrada al circuito capaz de transportar dos voltajes indicadores (un voltaje para cero y otro diferente para el uno). La función f representa la respuesta de salida deseada en todos los casos. Tales requerimientos se presentan al diseñar los pasos de todas las combinaciones y secuencias de los circuitos para computadora. Como antes, las tablas de la figura 4.3.4(a) son denominadas a menudo como tablas de verdad de f, debido a la analogía con la lógica proposicional. Obsérvese que la especificación de una función f: Bn → B es sólo una lista de los requerimientos del circuito. Esto no da indicación alguna de cómo esos requerimientos se satisfacen. Una manera importante de generar funciones es utilizando las denominadas expresiones booleanas, las que pasaremos a detallar a continuación. 4.1.6.- EXPRESIONES EN EL ÁLGEBRA DE BOOLE Bn Sea x1, x2, ....., xn un conjunto de n símbolos o variables. Una expresión booleana E(x1, x2, ....., xn) o un polinomio booleano en x1, x2, ....., xn se define recursivamente de la siguiente forma:
  • 108. Algebra de Boole como Sistema Axiomático 103 1.- x1, x2, ....., xn son expresiones booleanas. 2.- Los símbolos 0 y I son expresiones booleanas. 3.- Si E1(x1, x2, ....., xn) y E2(x1, x2, ....., xn) son expresiones booleanas en x1, x2, ....., xn, entonces también lo son las siguientes expresiones: E1(x1, x2, ....., xn) v E2(x1, x2, ....., xn) E1(x1, x2, ....., xn) w E2(x1, x2, ....., xn) (E1(x1, x2, ....., xn))' 4.- No existirán otras expresiones booleanas; sólo las que se obtengan al utilizar las reglas mencionadas en los puntos 1, 2 y 3. Ejemplo 4.1.3: Las siguientes expresiones son booleanas en x, y, z. E1(x, y, z) = (x w y) v z E2(x, y, z) = (x w y') w (y v I) E3(x, y, z) = (x w (y' v z)) w (x v y v I) E4(x, y, z) = (x w y w z') v (x' v z) v (y' w 0) Los polinomios comunes en varias variables, tales como x2 y + z4 , xy + yz + x2 y2 , x3 y3 + xz4 , etc., suelen interpretarse como expresiones que representan cálculos algebraicos con números no especificados. Por tanto, están sujetos a las reglas comunes de la aritmética. Por consiguiente, los polinomios x2 + 2x + 1 y (x + 1) (x + 1) se consideran equivalentes y también lo son x(xy + yz)(x + z) y x3 y + 2x2 y + xyz2 , ya que en cada caso podemos convertir una o la otra expresión a través de ciertos procesos matemáticos. De igual manera, los polinomios o las expresiones booleanas pueden interpretarse como representaciones de alguna función booleana dentro de alguna álgebra de Boole determinada. Por ello, esas expresiones están sujetas a las reglas determinadas para la denominada matemática booleana y dos expresiones se consideran equivalentes si una puede convertirse en la otra a través de ciertas manipulaciones booleanas, aplicando todos los axiomas, teoremas, definiciones y reglas propias del álgebra de Boole. Por consiguiente, x v (y w z) y (x v y) w (x v z) son equivalentes (a causa de la propiedad distributiva). Dos expresiones booleanas E1(x1, x2, ..., xn) y E2(x1, x2, ..., xn) se dice que son equivalentes si es posible convertir una expresión en otra utilizando un número finito de propiedades del álgebra booleana.
  • 109. Algebra de Boole como Sistema Axiomático 104 x1 x2 x3 f(x1,x2,x3) 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 (a) (b) Figura 4.1.4 - Ejemplo de Función Booleana Ejemplo 4.1.4: Demostrar que las siguientes expresiones booleanas son equivalentes: E1(x, y, z) = (x v y v z') w (x v y' v z') E2(x, y, z) = x v z' Para encontrar la solución procedemos de la siguiente forma: E1(x, y, z) = (x v y v z') w (x v y' v z') = (x v z' v y) w (x v z' v y') = = (x v z') v (y w y') = (x v z') v I = x v z' = E2(x, y, z) Ejemplo 4.1.5: Describir la función booleana f: B3 → B determinada por la expresión booleana siguiente: E(x1, x2, x3) = (x1 v x2) w (x1 w (x2' v x3)) fx2 xn F(x1,…,xn)
  • 110. Algebra de Boole como Sistema Axiomático 105 x1 x2 x3 f(x1, x2, x3) = (x1 v x2) w (x1 w (x2' v x3)) 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Figura 4.1.5: Ejemplo de Expresión y Función Booleana La función booleana f: B3 → B se describe al sustituir todas los 23 triplos ordenados de valores de B para x1, x2, x3. La tabla de verdad para esa función es la indicada en la Figura 4.3.5. Hemos discutido las funciones booleanas generales f: Bn → B, y se mostró cómo algunas de estas funciones surgen de expresiones booleanas. Estas últimas son muy importantes ya que pueden expresarse por completo en términos de las funciones w, v, y'. Así, estas funciones podrán expresarse esquemáticamente en un diagrama lógico, utilizando los símbolos de las compuertas digitales. Estos símbolos constituyen los módulos de construcción básicos para los circuitos digitales, por lo cual una función dada por una expresión booleana contiene una descripción de los circuitos que la pueden implementar. 4.2.- IMPLEMENTACIÓN DE FUNCIONES BOOLEANAS En la sección anterior examinamos las funciones de Bn en B, donde B es el álgebra de Boole {0, 1}. Se observó que tales funciones pueden representar requerimientos de entrada y salida para modelos de muchos y prácticos circuitos de computadoras. También se indico que, si la función está dada por alguna expresión booleana, es posible construir un diagrama lógico con ella y así modelar la implementación de la función. En esta sección se mostrará que todas las funciones de Bn en B están dadas por expresiones booleanas y, por lo tanto, los diagramas lógicos pueden construirse para cualquiera de esas funciones. Este análisis ilustra el método de encontrar una expresión booleana que produce una función dada. Teorema 4.2.1.- Si f: Bn → B y S(f) = {b 0 Bn - f(b) = 1}, tendremos las siguientes hipótesis: Sean f, f1 y f2 tres funciones de Bn en B. (a)Si S(f) = S(f1) c S(f2), entonces f(b) = f1(b) w f2(b) œb 0 B. (b)Si S(f) = S(f1) 1 S(f2), entonces f(b) = f1(b) v f2(b) œb 0 B.
  • 111. Algebra de Boole como Sistema Axiomático 106 Demostración: (a) Sea b 0 Bn . Si b 0 S(f), entonces por la definición de S(f), f(b) = 1 . Ya que S(f) = S(f1) c S(f2), o b 0 S(f1) o b 0 S(f2) o ambas. En cualquier caso, f1(b) w f2(b) = 1. Ahora si b ó S(f), entonces f(b) = 0. Además, se deberá tener que b ó S(f1), y que b ó S(f2), por lo cual f2(b) = 0 y f1(b) = 0. Esto significa que f1(b) w f2(b) = 0. Por consiguiente, para todas las b 0 Bn , f(b) = f1(b) w f2(b). (b) Esta parte se prueba de manera análoga a la de (a). Ejemplo 4.2.1: Sea f1: B2 → B producida por la expresión E(x, y) = x', y sea f2: B2 → B producida por la expresión E(x, y) = y'. Entonces las tablas de verdad de f1 y f2 se indican en la figura 4.3.1 (a) y (b), respectivamente. x y f1(x,y) x y f2(x,y) x y f(x,y) 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 (a) (b) (c) Figura 4.2.1. - Ejemplos de Funciones de Boole Sea f: B2 → B la función cuya tabla de verdad se indica en la Figura 4.2.1(c). Esta claro que S(f) = S(f1) c S(f2), ya que f1 es 1 en los elementos (0,0) y (0,1) de B2 , f2 es 1 en los elementos (0,0) y (1,0) de B2 , y f es 1 en los elementos (0,0), (0,1) y (1,0) de B2 . Por el Teorema 4.5.1, f = f1 w f2, por lo cual la expresión de Boole que produce f es x' w y'. Ejemplo 4.2.2: Sea f: B2 → B la función cuya tabla de verdad se indica en la Figura 4.2.2(a). Esta función es igual a 1 sólo en el elemento (0,1) de B2 , o sea, S(f) = {(0,1)} producida por la expresión. Por lo tanto, f(x, y) = 1 sólo cuando x = 0 y y = 1. Esto también es verdadero para la expresión E(x, y) = x' v y, por la cual f produce esta expresión. La siguiente tabla de verdad muestra la correspondencia entre las funciones que son 1 sólo en un elemento y las expresiones booleanas que producen estas funciones.
  • 112. Algebra de Boole como Sistema Axiomático 107 S(f) Expresión x y f(x,y) x y z f(x,y,z) {(0,0)} x' v y' 0 0 0 0 0 0 0 {(0,1)} x' v y 0 1 1 0 0 1 0 {(1,0)} x v y' 1 0 0 0 1 0 0 {(1,1)} x v y 1 1 0 0 1 1 1 1 0 0 0 (a) 1 0 1 0 1 1 0 0 1 1 1 0 (b) Figura 4.2.2 - Tablas de Verdad del Ejemplo 4.2.2 La función f: B3 → B cuya tabla de verdad en la Figura 4.2.2 (b) tiene S(f) = {(0,1,1)}, esto es, f es igual a 1 sólo cuando x = 0, y = 1 y z = 1. Esto también se cumple en la expresión booleana x' v y v z, que por tanto deberá producir f. Si b 0 Bn , entonces b es una sucesión (c1, c2, .....,cn) de longitud n, donde cada ci es cero o uno. Sea Eb la expresión booleana ã1 v ã2v ... v ãn, donde ãk = ak cuando ck = 1 y ãk = ak' cuando ck = 0. A esta expresión se la denomina minitérmino. Estas expresiones booleanas obtenidas a través de la disyunción de minitérminos son denominadas formas canónicas o formas normales. Existen dos formas normales: la forma normal disyuntiva o disyunción de minitérminos y la forma normal conjuntiva o conjunción de maxitérminos. Teorema 4.2.2.- Cualquier función f: Bn → B está producida por una expresión booleana. Sea S(f) = {b1, b2, ....., bk}, y para cada i, sea fi: Bn → B la función definida por: fi(bi) = 1 ; fi(b) = 0 si b … bi Entonces S(fi) = {bi}, por lo cual S(f) = S(f1) c S(f2)c ... c S(fn) y según el teorema 4.4.1, f = f1 w f2 w ..... w fn Por la explicación anterior, cada f está producida por un minitérmino Ebi. En consecuencia f está producida por la expresión booleana: Eb1 w Eb2 w ..... w Ebn y con esto último se comprueba la prueba. El teorema anterior tiene su dual. En este caso la función f se expresa de la siguiente forma:
  • 113. Algebra de Boole como Sistema Axiomático 108 f ( x1, x2, . . . , xn ) = M 1 ¸ M 2 ¸ . . . ¸ M k Cada elemento M j, denominado maxitérmino es de la forma: M j = y 1 w y 2 w . . . . w y n donde y j es x j o x’ j. Cada maxitérmino es obtenido de la función en aquellas interpretaciones donde la misma toma el valor 0. Ejemplo 4.2.3: Examinar la función f1: B3 → B cuya tabla de verdad se indica en la Figura 4.4.3. Ya que S(f) = {(0,1,1), (1,1,1)}, el teorema 4.4.2 demuestra que f está producida por la siguiente expresión E(x, y, z) = E(0,1,1) w E(1,1,1) = (x' v y v z) w (x v y v z). Esta expresión, sin embargo, no es la expresión booleana más simple que produce a f. Al utilizar las propiedades del álgebra de Boole, obtenemos: (x' v y v z) w (x v y v z) = (x' w x) v (y v z) = I v (y v z) = y v z Por lo tanto, f es producida por la expresión simple obtenida, o sea y v z. x y z f(x, y, z) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 Figura 4.2.3 - Tabla de Verdad correspondiente al Ejemplo 4.2.3 Ejemplo 4.2.4. : Las siguientes expresiones son booleanas en x, y, z. E1(x, y, z) = (x w y) v z x y z x ∨ y (x ∨ y) ∧ z
  • 114. Algebra de Boole como Sistema Axiomático 109 E2(x, y, z) = (x w y') w (y v I) E3(x, y, z) = (x w (y' v z)) w (x v yv I) E4(x, y, z) = (x w y w z') v (x' v z) v (y' w 0) y z (x ∨ y ∨ z´) ∧ (x´ ∧ z) ∧ (y´ ∨ 0) (x ∨ y ∨ z´) y´ ∨ 0 x´ ∧ z x 0 z y z (x ∨ (y´ ∧ z) (x ∨ (y´ ∧ z)) ∨ (x ∧ y ∧ 1) y´ y´ ∧ z x 1 x ∧ y ∧ 1 x y 1 x ∨ y´ (x ∨ y) ∨ (y ∧ 1)y´ y ∧ 1
  • 115. Algebra de Boole como Sistema Axiomático 110 Ejemplo 4.2.5: Demostrar que las siguientes expresiones booleanas son equivalentes: E1(x, y, z) = (x v y v z') w (x v y' v z') E2(x, y, z) = x v z' Para encontrar la solución procedemos de la siguiente forma: E1(x, y, z) = (x v y v z') w (x v y' v z') = (x v z' v y) w (x v z' v y') = = (x v z') v (y w y') = (x v z') v I = x v z' = E2(x, y, z) Ejemplo 4.2.6: Describir la función booleana f: B3 6 B determinada por la expresión booleana siguiente: E(x1, x2, x3) = (x1 v x2) w (x1 w (x2' v x3)) x1 x2 x3 f(x1, x2, x3) = (x1 v x2) w (x1 w (x2' v x3)) 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Ejemplo de Expresión y Función Booleana y x y´ x ∧ y´
  • 116. Algebra de Boole como Sistema Axiomático 111 La función booleana f: B3 → B se describe al sustituir todas los 23 triplos ordenados de valores de B para x1, x2, x3. La tabla de verdad para la función es la indicada en la Figura anterior. 4.3.- MAPA DE KARNAUGH El proceso de escribir una función como una combinación de disyunciones,"o", de minitérminos y de simplificar la expresión resultante se puede sistematizar de diversas maneras. Mostraremos a continuación un procedimiento gráfico que utiliza lo que se conoce como Mapa de Karnaugh. Este procedimiento es fácil de usar, recurriendo a medios humanos, con funciones del tipo f: Bn 6 B, si n no es demasiado grande. Se indicará el método para n = 2, 3 y 4. Si n es muy grande o si se desea un algoritmo programable, se deberán elegir otras técnicas. y' y 0 0 0 1 x' x'v y' x'v y 1 0 1 1 x x v y' x v y (a) (b) Figura 4.3.1 - Ejemplo de Mapa de Karnaugh (n = 2) Examinemos el primer caso donde n = 2; así que f es una función de dos variables, digamos x e y. En la Figura 4.3.1 (a) se muestra una matriz de 2 x 2 de "cuadrados", donde cada uno contiene una posible entrada b de B2 . En la Figura 4.3.1. (b) se ha reemplazado cada entrada b con el minitérmino correspondiente Eb. Las etiquetas de los cuadrados son sólo para referencia. En el futuro no se mostrarán las etiquetas, pero se deberá recordar las ubicaciones. En la Figura 4.5.1 (b), se observa x1 x1 ∧ x2 x2 x3 x´2 x´2 x1 x´2 ∧ x3 x1 ∨ (x´2 ∧ x3) (x1 ∧ x2) ∨ (x1 ∨ (x´2 ∧ x3))
  • 117. Algebra de Boole como Sistema Axiomático 112 que la variable x aparece siempre en el primer renglón como x' y siempre en el segundo renglón como x. Las filas se etiquetaron de acuerdo a lo indicado previamente y de una manera similar se etiquetarán las columnas. Ejemplo 4.3.1: Sea f: B2 → B la función cuya tabla de verdad se muestra en la Figura 4.3.2 (a). En la Figura 4.3.2 (b) se han arreglado los valores de f en los cuadrados apropiados y se mantienen las etiquetas en las filas y columnas. El arreglo de 2 x 2 de ceros y unos que resulta se denomina Mapa de Karnaugh de f. Ya que S(f) = {(0,0), (0,1)}, la expresión correspondiente de f es la siguiente: (x' v y') w (x' v y) = x' v (y' w y) = x'. El resultado del ejemplo 4.3.1 es típico. Cuando los valores 1 de una función f: B2 → B llenan por completo una fila o una columna, la etiqueta de la columna o la fila dan la expresión booleana de f. Por supuesto, ya se sabe que los valores 1 de f llenan sólo un cuadrado, entonces f está producida por el minitérmino correspondiente. Es posible demostrar que cuanto más grande sea el rectángulo de valores 1 de f, más pequeña será la expresión de f. x y f(x, y) y' y 0 0 1 x' 1 1 0 1 1 x 0 0 1 0 0 1 1 0 (a) Tabla de Verdad f (b) Mapa de Karnaugh de f Figura 4.3.2 - Correspondiente al Ejemplo 4.3.1 Por último, si los valores 1 de f no están en un rectángulo, se podrán descomponer estos valores dentro de la unión de rectángulos (probablemente sobreponiéndolos). Entonces, por el teorema 4.2.1, la expresión booleana de f puede encontrarse calculando las expresiones correspondientes de cada rectángulo y combinándolas con símbolos "w'. Ejemplo 4.3.2: Examinar la función f: B2 → B cuya tabla de verdad se muestra en la Figura 4.3.3 (a). En la Figura 4.3.3 (b) se indica el mapa de Karnaugh de f y los valores 1 descompuestos dentro de los dos rectángulos indicados. La expresión de la función que tiene unos (1) en el rectángulo horizontal es x'. La función cuyos 1's están en el rectángulo vertical corresponde a la expresión x' w y'. En la Figura 4.3.3 (c) se muestra una descomposición diferente de los valores 1 en los rectángulos. Esta descomposición también es correcta, pero dará una expresión más compleja y' w (x' v y). Se observa que la descomposición en rectángulos no es única y que se deberá intentar utilizar los rectángulos más grandes posibles.
  • 118. Algebra de Boole como Sistema Axiomático 113 x y f(x, y) y' y y' y 0 0 1 x' 51* 1* x' *1* *1* 0 1 1 x *1* 0 x *1* 0 1 0 1 1 1 0 (a) (b) (c) Figura 4.5.3 - Corresponde al Ejemplo 4.3.2 Ahora le toca el turno a una función f: B3 → B, que se considerará una función de x, y, z. Se procederá como en el caso de dos variables y se construirá un "cubo" de 2 por lado que contenga los valores de f. Para trabajarlos, las figuras de tres dimensiones son difíciles de dibujar y usar; esta idea no será generalizada. En vez de esto, se utilizarán rectángulos de 2 x 4. En las Figuras 4.3.4 (a) y 4.3.4 (b), respectivamente, se muestran las entradas (de B3 ) y los minitérminos correspondientes a cada cuadrado en cada rectángulo. 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 (a) Figura 4.3.4 - Función de tres variables y' y' y y x' x' v y' v z' x' v y' v z x' v y v z x' v y v z' x x v y' v z' x v y' v z x v y v z x v y v z' z' z z z' (b) Figura 4.3.4 - Función de tres variables Examínese las áreas rectangulares mostradas en la Figura 4.3.5. Si los valores 1 para una función f: B3 6 B llenan por entero uno de los rectángulos, entonces la expresión booleana de esta función es una de las seis expresiones x, y, z, x', y', o z', como se indica en la Figura 4.3.5.
  • 119. Algebra de Boole como Sistema Axiomático 114 $$$ $ $$$ $ $$ $$ $$ $$ $$$ $ $$$ $ $$ $$ $$ $$ La región sombreada es y'. La región sombreada es y. (a) (b) $$$ $ $$$ $ $$$ $ $$ $$ $$$ $ $$$ $ $$$ $ $$ $$ La región sombreada es z'. La región sombreada es z. (c) (d) $$$ $ $$$ $ $$$ $ $$$ $ $$$ $ $$$ $ $$ $$ $$ $$ La región sombreada es x'. La región sombreada es x. (e) (f) Figura 4.3.5. Examínese la situación indicada en la Figura 4.3.5 (a). El teorema 4.2.1 (a) demuestra que f puede calcularse por la disyunción (junta) de todos los minitérminos correspondientes a los cuadrados de la región con el símbolo w. Por consiguiente, f está producida por: (x' v y' v z') w (x v y' v z') w (x' v y' v z) w (x v y' v z) = = ((x' w x) v (y' v z')) w ((x' w x) v (y' v z)) = = (1 v (y' v z')) w (1 v (y' v z)) = = (y' v z') w (y' v z) = = y' v (z w z') = y' v 1 = y' Un cálculo similar indica que las otras cinco regiones están correctamente etiquetadas. Las seis regiones básicas de la Fig. 4.3.5 son sólo algunas de las expresiones booleanas que necesitan ser consideradas. Esto se debe a que se usaron para etiquetar la Figura 4.3.4 (b) y se mantuvieron como etiquetas para todos los mapas de
  • 120. Algebra de Boole como Sistema Axiomático 115 Karnaugh de las funciones de B3 en B . El teorema 4.2.1 (b) dice que si los valores uno de una función f : B3 6 B forman exactamente la intersección de dos o tres de las seis regiones básicas, entonces una expresión booleana de f puede calcularse combinando las expresiones de estas regiones básicas con símbolos v. y' y' y y y' y' y y x' 1 0 0 0 x' 0 1 1 0 x 1 0 0 0 x 0 0 0 0 z' z z z' z' z z z' (a) (b) y' y' y y y' y' y y x' 1 0 0 1 x' 0 0 0 0 x 0 0 0 0 x 0 1 0 0 z' z z z' z' z z z (c) (d) Figura 4.3.6 Por tanto, si los valores uno de la función f son como los que muestra la Figura 4.3.6, entonces se encontrarán intersecado las regiones que se muestran en las Figuras 4.3.5 (a) y 4.3.5 (b). La expresión booleana de f es pues y' v z'. Derivaciones similares pueden darse para las otras tres columnas. Si los valores uno de f son como los de la Figura 4.3.6 (b), se encontrarán intersecado las regiones de las Figuras 4.3.5 (c) y 4.3.5 (e), por lo cual una expresión booleana para f es z v x'. De la misma manera es posible calcular la expresión de cualquier función cuyos valores uno llenen dos cuadrados adyacentes y horizontales. Existen ocho funciones, así si se considera nuevamente el rectángulo que se convierte en un cilindro. En consecuencia, se incluirá el caso donde los valores uno de f son como los muestra la Figura 4.3.6 (c). La expresión booleana resultante es z' v x'. Si se intersecan tres de las regiones básicas y la intersección no es vacía, ésta deberá ser un solo cuadrado y la expresión booleana resultante será un minitérmino. En la Figura 4.3.6 (d) los valores uno de f forman la intersección de las tres regiones mostradas en las Figuras 4.3.5 (a), 4.3.5 (c) y 4.3.5 (f). El minitérmino correspondiente es y' v z v x. Por consiguiente, no es necesario recordar la colocación de los minitérminos en la Figura 4.3.4 (b), sino poder reconstruirlo.
  • 121. Algebra de Boole como Sistema Axiomático 116 Se ha visto cómo calcular una expresión booleana de cualquier función considerada como f : B3 → B, cuyos valores uno forman un rectángulo de cuadrados adyacentes de longitud 2n x 2m , n= 1, 2; m = 1, 2. En general, si el conjunto de valores uno de f no forma un rectángulo, se podrá escribir este conjunto con la unión de tales rectángulos. Entonces, una expresión booleana de f se calcula combinando las expresiones asociadas a cada rectángulo con los símbolos w. Esto es verdadero por el teorema 4.2.1 (a). La explicación anterior demuestra que, cuando mayor sea el rectángulo que se escoja, más simple será la expresión booleana resultante. Por último, sin comentarios adicionales, se presenta en la Figura 4.3.9 la distribución de las entradas y las etiquetas correspondientes de los rectángulos para el caso de una función f : B4 → B, considerada como una función de x, y, z, w. También aquí, se consideran la primera y la última columnas como adyacentes y el primer y último renglón como adyacentes; se deben buscar rectángulos con lados cuya longitud sea alguna potencia de 2, o sea de longitud 1, 2 o 4. Ejemplo 4.3.3 : Examinar la función f cuya tabla de verdad y su correspondiente mapa de Karnaugh se indican en la Fig.4.3.7. La colocación de los unos pude derivarse localizando las entradas correspondientes de la Fig.4.3.3(a). Una descomposición de los valores 1 de f se indican en la Fig.4.3.7 (b). En esta figura se ve que la expresión booleana de f es la siguiente:(y' v z') w (x' v y') w (y v z). x y x f(x,y,z) 0 0 0 1 0 0 1 1 y' y' y y 0 1 0 0 x' 1 1 1 0 0 1 1 1 x 1 0 1 0 1 0 0 1 z' z z z' 1 0 1 0 (b) 1 1 0 0 1 1 1 1 (a) Figura 4.3.7 - Ejemplo 4.3.3
  • 122. Algebra de Boole como Sistema Axiomático 117 Ejemplo 4.3.4: La Figura 4.3.8 muestra la tabla de verdad y el mapa de Karnaugh correspondiente a una función f. La descomposición en rectángulos mostrada en la Figura 4.4.8 (b) explica la idea de que la primera y la última columna se consideran adyacentes. Así pues, los símbolos se dejan "abiertos", lo que significa que se juntan en un rectángulo de 2 x 2, que corresponde a z'. La expresión booleana resultante es : z' w (x v y). x y x f(x,y,z) 0 0 0 1 0 0 1 0 y' y' y y 0 1 0 1 x' 1 0 0 1 0 1 1 0 x 1 0 1 1 1 0 0 1 z' z z z' 1 0 1 0 (b) 1 1 0 1 1 1 1 1 (a) Figura 4.3.8 - Ejemplo 4.3.4 0 1 11 10 z' z' z z 0 0 1 11 10 x' y' 1 100 101 111 110 x' y 11 1100 1101 1111 1110 x y 10 1000 1001 1011 1010 x y' w' w w w (a) (b) Figura 4.3.9
  • 123. Algebra de Boole como Sistema Axiomático 118 Ejemplo 4.3.5: La Figura 4.4.10 muestra el mapa de Karnaugh de una función determinada f: B4 → B. Los valores uno son colocados considerando la localización de las entradas en la Figura 4.3.9 (b). Por consiguiente, f (0101) = 1, f (0001) = 0, etc. El cuadrado del centro de 2 x 2 representa la expresión booleana w v y. Las cuatro esquinas también forman cuadrados de lado 2 ya que las aristas derecha e izquierda y las aristas superior e inferior se consideran adyacentes. Desde un punto de vista geométrico, se puede ver que, si se gira el rectángulo horizontalmente, se obtendrá un cilindro. Luego, cuando además se gire verticalmente, se obtendrá un toro o una "cámara" (cámara de un neumático). En esta cámara, las cuatro esquinas forman un cuadrado de lado 2 que representa la expresión booleana siguiente: w' v y'. z' z' z z x' 1 0 0 1 y' x' 0 1 1 0 y x 0 1 1 0 y x 1 0 0 1 y' w' w w w' Figura 4.3.10 De lo anterior se deduce que la descomposición previa produce la siguiente expresión booleana para la función f. (w v y) w (w' v y') Ejemplo 4.3.6 : En la Figura 4.3.11 se muestra el mapa de Karnaugh de una función f : B4 6 B. La descomposición de los valores uno en un rectángulo de lados 2n , como lo muestra la figura, sirve también de la propiedad de "enrollamiento" de los renglones superior e inferior. La expresión resultante para f es: (z' v y') w (x'v y'v z) w (x v y v z v w)
  • 124. Algebra de Boole como Sistema Axiomático 119 z' z' z z x' 1 1 1 1 y' x' 0 0 0 0 y x 0 0 1 0 y x 1 1 0 0 y' w' w w w' Figura 4.3.11 El primer término viene del cuadrado de 2 x 2 formado por la junta del rectángulo de 1 x 2 de la esquina superior izquierda y el rectángulo de 1 x 2 de la esquina inferior izquierda. El segundo viene del rectángulo de 1 x 2 de la esquina superior derecha y el último es un minitérmino correspondiente del cuadrado aislado. Ejemplo 4.3.7: CIRCUITO PARA SEMISUMADOR x y SUMA ACARREO 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 y x ∧ y x c = x ∧ y x ∨ y x y s = (x ∨ y) ∧ (x ∧ y)´
  • 125. Algebra de Boole como Sistema Axiomático 120 Ejemplo 4.3.8 : Expresión booleana implementada como una forma normal conjuntiva, a través de maxitérminos Ejemplo 4.3.9: Ejemplos de Compuertas Lógicas NAND, NOR y OR Exclusiva. x y (x ∧ y)´ x y (x ∨ y)´ Compuerta NAND Compuerta NOR x y x ⊕ y Compuerta OR- EXCLUSIVA z x w x´ x´ ∨ w x ∧ y y ∨ (x ∧ z) (y ∨ (x ∧ z)) ∧ (x´ ∨ w) y z (x ∨ y ∨ z´) ∧ (x´ ∧ z) ∧ (y´ ∨ 0) (x ∨ y ∨ z´) y´ ∨ 0 x´ ∧ z x 0 z
  • 126. Algebra de Boole como Sistema Axiomático 121 4.4.- MÉTODO QUINE - MCCLUSKY El Mapa de Karnaugh es solo aplicable con posibilidades concretas con respecto a fórmulas lógicas con cuatro o menos variables. El método de Quine - McClusky está basado en un algoritmo de propósitos generales basado en los mismos principios, adecuado para ser implementado en un programa de computadora y para ser utilizado con cualquier número de variables. El método opera en dos etapas distintas, primero agrupando términos (visto efectivamente para todas las cajas de unión en la técnica de Karnaugh), luego la selección de los términos esenciales y por último la eliminación de los términos redundantes (seleccionar el conjunto mínimo de cajas para cubrir exactamente el conjunto requerido de una variable o entrada). Como un ejemplo ilustrativo, produciremos una representación funcional mínima para la función booleana de tres variables, especificada por la siguiente tabla de verdad. p q r función 1 1 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 0 0 0 0 La forma normal disyuntiva para esta función booleana es: ( 5 p v 5 q v r ) w ( 5 p v q v r ) w ( p v q v 5 r ) w ( p v q v r ) Denominamos a cada una de las combinaciones de variables de entrada para lo cual la variable de salida es igual a 1 (uno), como los minitérminos de la función. Son los elementos básicos de una expresión completa de una FND. Debemos buscar efectivamente dos de estos minitérminos que difieran solamente en una variable, esta variable deberá aparecer negada en un minitérmino y no negada en otro. Estos dos minitérminos deberán ser combinados con esta variable omitida, ya que si g representa el resto de los términos, se cumple que: ( g v p ) w ( g v 5 p ) Para diferir en solo una variable, uno de los términos debe tener exactamente un conectivo de negación más que el otro término (aunque esto no es una condición suficiente). Para encontrar términos que difieren con respecto a otro término en una
  • 127. Algebra de Boole como Sistema Axiomático 122 variable, debemos comparar cada término con aquellos que tienen un conectivo de negación de más o uno de menos. 4.4.1.- ETAPAS EN LA MINIMIZACIÓN DE QUINE - MCCLUSKY Etapa 1. Escribimos primero todas las combinaciones de variables de entrada que representan a un minitérmino (aquellos cuyo valor de la variable de salida es 1). p q r 1 1 1 1 1 0 0 1 1 0 0 1 Etapa 2.1. Numeramos los minitérminos considerados de acuerdo a la cantidad de números 1 que existen en el minitérmino. Ello nos permitirá observar los términos que pueden ser combinados para producir un combinación simple. Dibujamos líneas para separar los grupos que contengan cantidades diferentes de números 1. Dentro de cada grupo el ordenamiento es irrelevante, sin embargo se utiliza normalmente el ordenamiento binario. fila p q r números de 1 1 1 1 1 tres 1 2 1 1 0 dos 1 3 0 1 1 dos 1 4 0 0 1 uno 1 Etapa2.2. Luego combinamos filas de grupos o secciones adyacentes, de la tabla anterior, que difieran un elemento solo en una columna; dos filas deben ser idénticas en cada columna excepto en una para poder realizar la combinación. Escribimos una nueva fila como la combinación de otras dos de la tabla anterior, pero reemplazando los valores diferentes (una combinación de 0 y 1) por un asterisco. En una columna extra indicamos las filas que han sido combinadas.
  • 128. Algebra de Boole como Sistema Axiomático 123 fila p q r combinación números de 1 5 1 1 0 filas 1 y 2 dos 1 6 0 1 1 filas 1 y 3 dos 1 7 0 0 1 filas 3 y 4 uno 1 No podemos combinar las filas 2 y 4. Cada fila debe contener exactamente un asterisco. Reordenar la nueva tabla de acuerdo al número de 1 que existan en cada fila. Borrar de la primera tabla todas las filas que son generadoras de nuevas filas. En este caso todas las filas de la primera tabla deben ser borradas. Cualquier fila restante debe representar entradas que no pueden combinarse con entradas adyacentes, por lo cual deberá aparecer completa en la fórmula final. Etapa 2.3. Si ahora existen dos nuevas filas que difieran en solo una variable, combinarlas de la misma forma establecida en la Etapa 2.2. Las filas a combinar deberán coincidir en la posición de cualquier asterisco, y diferir exactamente una variable, tomando el valor 1 de una fila y el valor 0 de otra fila. La nueva tabla consistirá de filas con exactamente dos asteriscos. En este caso no es posible una mayor simplificación. En situaciones más complejas, esta operación (realizar combinaciones reemplazando el valor de la variable con asteriscos, ordenar todas las lineas que contengan un asterisco extra de acuerdo al número de 1 que contiene y ver por nuevas combinaciones) se repetirá hasta que no sea posible realizar combinaciones. Las tres lineas en la tabla anterior, cada una conteniendo un asterisco, representan a los siguientes términos de dos variables respectivamente, cada uno de ellos es la combinación de dos minitérminos. ( p v q ) ( q v r ) ( 5 p v r ) Etapa 3. Eliminar los términos innecesarios. Es necesario seleccionar un número mínimo de términos para cubrir todas las filas, cada una de las cuales representa a un número 1 en la tabla de verdad original. Tenemos un minitérmino para cada uno de los números 1de la función, desde el tope, y los términos reducidos se indican al costado en orden descendente. En cada fila, indicamos con una x el minitérmino cubierto por el término reducido. 111 110 11 1 11* x x C11 x x 0*1 x x Cualquier fila correspondiente a un término sin estrellas contendrá una simple x, cualquier fila correspondiente a un término con una estrella contendrá dos xs,
  • 129. Algebra de Boole como Sistema Axiomático 124 cualquier fila correspondiente a un término con dos estrellas contendrá tres xs, y así sucesivamente. Si cualquier columna contiene una sola x, entonces tal término reducido debe ser incluido en la fórmula final (el primero y el tercero, en este ejemplo), ya que no existe otra forma de cubrir el minitérmino correspondiente a dicha columna. Todas las otras columnas que cubren términos reducidos pueden ser eliminados de la fórmula final , incluyendo la columna con una sola x, ya que todos estos minitérminos están cubiertos. En el ejemplo considerado debemos, por lo tanto, incluir el término 11* para cubrir la columna 110 y también para cubrir la columna 110. También necesitamos el término 0*1 para incluir la columna 011 y también cubre la columna 001. Todas las columnas (minitérminos) están cubiertos y no deben incluirse más términos reducidos. El término C11 es innecesario. Estos dos términos nos muestran que la fórmula más simple para representar la función booleana de partida, puede construirse de los términos p v q correspondiente al término 11* y 5 p v r representa al término 0*1. La fórmula final obtenida es: ( p v q ) w ( 5 p v r ) Ejemplo 4.4.1. Consideremos la siguiente función booleana: p q r s función 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
  • 130. Algebra de Boole como Sistema Axiomático 125 Etapa 1. Escribimos los minitérminos: p q r s 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 Etapa 2.1. Numeramos y ordenamos los minitérminos de acuerdo a la cantidad de números 1 en cada minitérmino. fila p q r s cantidad de 1 1 1 1 1 1 cuatro 1 2 1 1 1 0 tres 1 3 1 0 1 1 tres 1 4 0 1 1 1 tres 1 5 0 0 1 1 dos 1 6 1 0 0 1 dos 1 7 1 0 0 0 uno 1 8 0 1 0 0 uno 1 9 0 0 0 1 uno 1 Etapa 2.2. La próxima etapa es la de combinar filas de grupos adyacentes que difieren sólo en una columna o posición.
  • 131. Algebra de Boole como Sistema Axiomático 126 fila p q r s combinaciones cantidad de 1 10 1 1 1 Ú filas 1 y 2 tres 1 11 1 Ú 1 1 filas 1 y 3 tres 1 12 Ú 1 1 1 filas 1 y 4 tres 1 13 Ú 0 1 1 filas 3 y 5 dos 1 14 1 0 Ú 1 filas 3 y 6 dos 1 15 0 Ú 1 1 filas 4 y 5 dos 1 16 0 0 Ú 1 filas 5 y 9 uno 1 17 1 0 0 Ú filas 6 y 7 uno 1 18 Ú 0 0 1 filas 6 y 9 uno 1 Todas las filas excepto la fila 8 de la tabla de Etapa 2.1 pueden ser eliminadas. La fila 8 (0100) debe retenerse para su eventual inclusión como un término de cuatro variables. 5 p v q v 5 r v 5 s Etapa 2.3. Nuevamente combinamos filas de grupos adyacentes, donde los asteriscos deben encontrarse en la misma posición, y las filas deben diferir en una sola entrada 0 y 1. fila p q r s combinaciones cantidad de 1 19 Ú Ú 1 1 filas 11 y 15 filas 12 y 13 dos 1 20 Ú 0 Ú 1 filas 13 y 18 filas 14 y 16 uno 1 Cada una de estas filas se encontraron de dos formas distintas; un control muy útil para trabajar adecuadamente. Todas las filas con un simple asterisco, excepto las filas 10 y 17 de la Etapa 2.2, pueden ser eliminadas de nuestro estudio. En este caso en particular, no es posible una simplificación mayor. Ninguna de las filas de dos asteriscos difiere en una sola entrada. Podemos en consecuencia trabajar únicamente con las siguientes filas con su correspondiente término reducido: fila 8 (Sin asteriscos, término de cuatro variables) filas 10 y 17 (un asterisco, términos de tres variables) filas 19 y 20 (dos asteriscos, términos de dos variables)
  • 132. Algebra de Boole como Sistema Axiomático 127 Etapa 3. La próxima etapa es la de eliminar los términos innecesarios, dentro de estos cinco. Para lo cual construimos la siguiente tabla: 1111 1110 1011 1001 1000 0111 0100 0011 0001 **11 x x x x *0*1 x x x x 111* x x 100* x x 0100 x En este caso observamos que son necesarios estos 5 minitérminos, ninguno puede ser omitido; el primer minitérmino es esencial para la columna 6, el segundo para la columna 9, el tercero para la columna 2, el cuarto para la columna 5 y el quinto para la columna 7. La fórmula final obtenida es la siguiente: ( r v s ) w ( 5 q v s ) w ( p v q v r ) w ( p v 5 q v 5 r ) w ( 5 p v q v 5 r v 5 s ) 4.5.- PROBLEMAS CAPITULO IV 1.- Utilizando los axiomas del Sistema Axiomático de Russel, probar si las siguientes expresiones lógicas son teoremas o no del mencionado sistema: (a) p ⇒ (q ⇒ p) (b) ((p ⇒ q) ≡ (p w 5q)) (c) ((p ⇔ q) ⇒ (q ⇒ 5p)) (d) ((5p ⇒ q) w (s ⇒ r)) (e) ((p ⇒ 5q) ⇒ (s ⇒ r)) (f) {(p w q) ⇒ [(q ⇔ r) ⇒ (r ⇒ s)]} 2.- Utilizando los axiomas del Sistema Axiomático de Hilbert, probar si las siguientes expresiones lógicas son teoremas o no del mencionado sistema: (a) ((p w q) ≡ (q w p)) (b) (p ⇒ q) ≡ (5q ⇒ 5p) (c) (p ≡ p) (d) (5p ⇒ (p ⇒ q)) (e) ((5p ⇒ p) ⇔ p) (f) [(p v q) ⇒ r] ⇒ [p ⇒ (q ⇒ r)] (g) p ⇒ [q ⇒ (q w p)] (h) ((p ⇒ q) ⇒ [(q ⇒ r) ⇒ (p ⇒ r)] (i) [p w q] ≡ 5 (5p v 5q) (j) (p ⇒ q) ⇒ [(r ⇒ s) ⇒ ((p v r) ⇒ (q v s))] (k) p ≡ (p v p) 3.- Verifique los axiomas que definen al Álgebra de Boole en el conjunto de los enteros divisores de 6 adonde están definidas las operaciones “máximo común divisor” (M) y “mínimo común múltiplo” (m). 4.- Los axiomas del Álgebra de Boole también se cumplen cuando los elementos en cuestión son conjuntos y las operaciones son las conocidas “unión” e “intersección” entre conjuntos. Suponiendo que A, B y C son subconjuntos de
  • 133. Algebra de Boole como Sistema Axiomático 128 un universo U y siendo ∅ el conjunto vacío, diga Verdadero o Falso, justificando su respuesta: a) A ∪ ( B ∩ C ) = ( A ∪ B ) ∩ C b) A ∪ ( B ∩ C ) = ( A ∪ B ) ∩ ( A ∪ C ) c) Si U = { a, b, c, d } y A = { a, b, c }, entonces } = { a, d } d) ( A ∪ i ) ∩ } = i e) B ∪ ( B’ ∩ U ) = ( A ∪ A’) 5.- Un contacto, tal como una llave común de luz eléctrica, presenta dos estados “cerrado” o “abierto”. Los mismos suelen identificarse con los símbolos 1 y 0, respectivamente, pero con un significado cualitativo “todo-nada” , “si-no” o “V- F”, éste último por su relación con la lógica clásica. En el conjunto de contactos, se definen las operaciones “combinar contactos en paralelos” o “combinar contactos en serie”. Verifique que dicho conjunto es un Álgebra de Boole. 6.- Demostrar directamente que no existen álgebras booleanas que tengan tres elementos. 7.- Demostrar que en un álgebra booleana, para cualquier a y b, se cumple que: a = b si y solo si (a v b') w (a' v b) = 0. 8.- Demostrar que en una álgebra booleana, para cualquier a , b y c se cumplen las siguientes expresiones lógicas de Boole: (a) (a v b) w (a v b') = a (b) b v (a w (a' v (b w b'))) = b (c) ((a w c) v (b' w c))' = (a' w b) v c' (d) (a v b v c) w (b v c) = b v c (e) (a v b) w (a v b v c) w (b v c) w (a v c) = c (f) a w (b v c) = b v (a w c) 9.- Sea el conjunto B = { 0, 1 }con º, ¸ definidas mediante las siguientes tablas: ∨ 0 1 ∧ 0 1 0 0 1 0 0 0 1 1 1 1 0 1 Demostrar que B es un Álgebra de Booleana 10.- Demostrar los teoremas más importantes que se deducen de los axiomas que definen al Álgebra de Boole. (a) a ∨ 1 = 1 a ∧ 0 = 0 (b) a ∨ a = a a ∧ a = a (c) a ∨ ( a ∧ b ) = a a ∧ ( a ∨ b ) = a (d) a ∨ ( b ∨ c ) = ( a ∨ b ) ∨ c a ∧ ( b ∧ c ) = ( a ∧ b ) ∧ c (e) ( a ∨ b ) ‘ = a ‘ ∧ b ‘ ( a ∧ b ) ‘ = a ‘ ∨ b ‘ 11.- Escriba los duales de los siguientes enunciados y demuestre alguno de ellos
  • 134. Algebra de Boole como Sistema Axiomático 129 usando los axiomas y/o propiedades que se cumplen en toda Álgebra Booleana. (a) ( x ∨ y ) ∧ ( x ∨ 1 ) = ( x ∨ x ) ∧ ( y ∨ y ) (b) ( x ∨ 0 ) ∨ ( 1 ∧ x’) = 1 (c) x ∨ ( x ’ ∧ y ) = x ∨ y (d) Si x ∨ y = x ∨ z y x’ ∨ y = x’ ∨ z ., entonces y = z (e) x ∧ y’= 0 si y solo si x ∧ y = x 12.- Demuestre las siguientes igualdades usando los axiomas y/o propiedades de un Álgebra Booleana: (a) ( x ∧ y ) ∨ ( x’ ∨ z )’= x ∧ ( y ∨ z’) (b) ( x’ ∧ y’) ∨ ( x’ ∧ y ) ∨ ( x ∧ y ’) = ( x’ ∨ y’ ) (c) x ∧ (( y’ ∧ z ) ∨ x )’= y ∨ z’ (d) [( a ∨ b ∨ c ) ∧ ( b ∨ c )]’= b’ ∧ c’ (e) [( a ∨ c ) ∧ ( b’ ∨ c )]’ = ( a’ ∨ b ) ∧ c’ (f) [(a ∨ b ) ∧ a’]’ ∨ b = 1 (g) [( a ∧ b ) ∨ a’]’ ∧ b = 0 (h) Si ( a ∨ b ) = b , entonces a’ ∨ b = 1 (j) Si ( a ∧ b ) = a , entonces a ∧ b’ = 0 13.- Represente las siguientes funciones booleanas por medio de un circuito combinatorio y por medio de su tabla de verdad (o tabla lógica). ¿Cuántos circuitos y cuantas tablas poseen una función booleana? (a) z = f (a, b, c) = a ∨ ( b’ ∧ c ) (b) z = f (a, b, c) = ( a ∧ b’) ∨ ( a ∧ c’) (c) z = f (a, b, c) = a ∧ (b’ ∨ c) ∧ (a’ ∨ b) (d) z = f (a, b, c) = ((a ∨ b)’ ∨ (a’ ∧ c))’ 14.- Suponga 3 variables A, B y C (a) Diga cuáles de las siguientes expresiones son minitérminos (b) Diga cuáles de las siguientes expresiones son maxitérminos 15.- Encuentre las formas normales de las siguientes funciones dadas por su tabla: A C B+ + A C B+ + A C B. + A A C+ + A B C+ + A B C+ + A B C. . A C C. . A B B. + A B C. . A B C. . A B C. .
  • 135. Algebra de Boole como Sistema Axiomático 130 a) b) c) d) x y f(x, y) x y f(x, y) x y f(x, y) x y f(x, y) 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 e) f) x y z f(x, y, z) x y z f(x, y, z) 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 16.- (a) Encuentre la Forma Normal Disyuntiva o Disyunción de Minitérminos de las siguientes funciones booleanas usando técnicas algebraicas: 1. 2. 3. 4. 5. (b) Encuentre la Forma Normal Conjuntiva o Producto de Maxitérminos de las siguientes funciones booleanas usando técnicas algebraicas: 6. 7. 8. 9. F A B C A B C( , , ) .= + ( )ACBACBAF ++= ).(),,( BCBCABCBAF ).(),,( ++= F A B C D A C B D( , , , ) ( ).= + + F A B C A B AB AC( , , ) ( ( ))= + + + F A B B B A( , ) .= + ( )( )F A B C B B C A C( , , ) . .= + + ( )( )F A B C D A B C D A B( , , , ) .= + + + + ( )F A B C A B A C B C( , , ) . . . .= +
  • 136. Algebra de Boole como Sistema Axiomático 131 17.- Examinar la siguiente expresión booleana: E(x, y, z) = x v (y w z') Si B = {0, 1}, calcular la tabla de verdad de la función siguiente: f: B3 → B definida por E. Construir un diagrama lógico que implemente la función f previamente obtenida. 18.- Examinar la siguiente expresión booleana: E(x, y, z) = (x w y) v (z w x') Si B = {0, 1}, calcular la tabla de verdad de la función siguiente: f: B3 → B definida por E. Construir un diagrama lógico que implemente la función f previamente obtenida. 19.- Examinar la siguiente expresión booleana: E(x, y, z) = (x v y') w (y v (x' w y)) Si B = {0, 1}, calcular la tabla de verdad de la función siguiente: f: B3 → B definida por E. Construir un diagrama lógico que implemente la función f previamente obtenida. 20.- En los siguientes problemas, construir los mapas de Karnaugh para las funciones cuyas tablas de verdad se dan a continuación: 1.- x y f(x, y) 2.- x y f(x, y) 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 1 1 0 Utilizando el mapa de Karnaugh encontrar una expresión booleana para la función booleana. 21.- En los siguientes problemas, construir los mapas de Karnaugh para las funciones cuyas tablas de verdad se dan a continuación. Encontrar una expresión booleana para la función booleana
  • 137. Algebra de Boole como Sistema Axiomático 132 1.- x y z f(x,y,z) 2.- x y z f(x,y,z) 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 0 1 1 1 1 22.- En los siguientes problemas, construir los mapas de Karnaugh para las funciones cuyas tablas de verdad se dan a continuación: 1.- x y z w f(x,y,z,w) 2.- x y z w f(x,y,z,w) 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0
  • 138. Algebra de Boole como Sistema Axiomático 133 Utilizando el mencionado mapa de Karnaugh encontrar una expresión booleana para la función booleana indicada. 23.- En los siguientes casos se dan los mapas de Karnaugh de las funciones y se muestra una descomposición de los valores uno en los rectángulos. Escribir las expresiones booleanas que surjan de estos mapas y descomposiciones. 1.- y' y' y y 2.- z' z' z z x' 1 1 1 1 x' 1 1 0 1 y' x 1 0 0 1 x' 1 1 0 1 y z' z z z' x 0 0 0 0 y x 1 0 0 1 y' w' w w w' 3.- y' y' y y x' 1 1 0 1 x 0 1 0 1 z z z z' 24.- En los ejercicios de los problemas Nro. 10 y 11, determinar las correspondientes expresiones booleanas mínimas que surjan de las funciones dadas utilizando el Método de Quine McClusky. =========================
  • 139. Lógica de Predicados 134 LÓGICA COMPUTACIONAL CAPITULO V CALCULO DE PREDICADOS 5.1.- INTRODUCCIÓN La lógica es un agregado potente a nuestra colección de paradigmas para resolver problemas. De la misma forma que otros paradigmas, la lógica tiene al mismo tiempo ventajas seductivas como desventajas incómodas. Por el lado positivo, las ideas de la lógica, que han madurado durante varios siglos, son concisas y comprendidas universalmente, como lo es el Latín. Más aún, hasta épocas recientes, los lógicos han enfocado en probar cosas acerca de lo que podemos hacer con el conocimiento. Consecuentemente, cuando el dominio de un problema es atacado con éxito por la lógica, como lo es en la matemática, estamos con suerte, pues podemos conocer los límites de lo que podemos realizar con lo que nos está permitido. Por el lado negativo, la lógica puede ser como una cama de Procusto, pues concentrarnos sobre la lógica puede llevarnos a concentrarnos sobre la matemática de la lógica desviando nuestra atención de las técnicas valorizadas de resolver problemas que resisten el análisis matemático. Para comprender mejor estos puntos, introducimos la notación, la idea de demostración y las reglas de inferencia, tal como las del modus ponens, modus tolens, y resolución, que hacen posible crear nuevas expresiones a partir de las existentes. Luego, utilizando resolución, exploraremos la demostración por refutación y resolución de prueba de teoremas. Introduciremos los denominados operadores en la lógica haciendo posible la planificación basada en la lógica, pero que crea dificultades. Por ejemplo, debe existir un modo de identificar las expresiones que persisten cuando se aplican varias operaciones. Esto es conocido como el problema del marco. Finalmente, mientras que la resolución de la demostración de teoremas es potente, algunas veces el mejor camino es la demostración utilizando propagación comprimida. Este último método facilita las justificaciones, haciendo posible separar suposiciones simplificadas, sin peligro para mantener ciertas a las expresiones. 5.1.1.- REGLAS DE INFERENCIA Sabemos que algo es un pájaro, si ese algo tiene plumas o si vuela o si pone huevos. Estos hechos pueden expresarse a través de reglas antecedente-consecuente de la siguiente forma:
  • 140. Lógica de Predicados 135 Regla 13 If el animal tiene plumas then es un pájaro Regla 14 If el animal vuela pone huevos then es un pájaro 5.1.2.- LA LÓGICA TIENE NOTACIÓN TRADICIONAL En la lógica, para expresar el sentido de una regla antecedente-consecuente concernientes a pájaros y plumas, necesitamos una forma para capturar la idea de que algo tiene plumas y de que algo es un pájaro. Esto es realizado utilizando predicados, los predicados son funciones que mapean objetos, como argumentos, en VERDADERO o FALSO. Por ejemplo, con la forma normal de interpretar los predicados Plumas y Pájaros y el objeto Albatros, podemos decir, informalmente, que las siguientes expresiones son expresiones VERDADERAS: Plumas (Albatros) Pájaro (Albatros) Consideremos ahora que queremos significar cuando decimos que también es VERDAD la siguiente expresión: Plumas (Canario) Evidentemente, canario es un símbolo que representa a algo que tiene plumas, debido a que satisface el predicado Plumas. De esta forma tenemos una compulsión sobre que puede hacer un Canario. Podemos expresar otras compulsiones y otros predicados como por ejemplo, Volar y Poner Huevos. De hecho, podemos limitar las cosas que canario puede nominar sobre aquellas cosas que satisfacen ambos predicados conjuntamente, diciendo que las siguientes expresiones son ambas VERDAD: Volar (Canario) Poner Huevos (Canario) Existe un modo más tradicional para expresar esta idea. Simplemente combinamos la primera expresión con la segunda expresión y decimos que la combinación es VERDAD: Volar (Canario) y Poner Huevos (Canario) Por supuesto, podemos decir también que debemos interpretar a Canario como el nombre de algo que satisface a uno de ambos predicados. Esto es realizado utilizando la siguiente combinación: Volar (Canario) o Poner Huevos (Canario)
  • 141. Lógica de Predicados 136 Los lógicos prefieren una notación diferente. O sea escribimos v para representar a y (and) y escribimos w para representar a o (or). Podemos en consecuencia escribir las mismas cosas de antes de la forma en que los lógicos lo harían: Volar (Canario) ∧ Poner Huevos (Canario) Volar (Canario) ∨ Poner Huevos (Canario) Cuando las expresiones son unidas a través de ∧, decimos que forman una conjunción y cada parte forma conjuncto. Del mismo modo, cuando las expresiones están unidas a través de ∨, forman una disyunción y cada parte de forma un disyuncto. Debemos notar que estos operadores son los denominados conectivos lógicos de la lógica formal y mapean combinaciones de VERDAD y FALSO a VERDAD y FALSO. Además de los conectivos de conjunción y disyunción, existen otros dos conectivos importantes, a saber: uno de ellos es la negación y que es representado a través del siguiente símbolo 5, y el otro es la implicación y representado por ⇒. Consideremos el siguiente ejemplo: 5 Plumas (Susana) Para que esto sea VERDAD, Susana debe representar algo para lo cual Plumas (Susana) no es VERDAD. O sea que Susana debe ser algo para lo cual el predicado Plumas no es satisfecho. Si utilizamos ⇒, podemos escribir expresiones que se parecen a una de las reglas antecedente-consecuente, comenzamos con el siguiente ejemplo: Plumas (Susana) ⇒ Pájaro (Susana) decimos que el valor de la expresión es VERDAD dependiendo de que puede representar Susana. Una posibilidad permitida es que Susana sea algo para lo cual tanto Plumas (Susana) y Pájaro (Susana) son VERDAD. Implicación E2 E2 E1 ⇒ E2 V F E1 V V F E1 F V V
  • 142. Lógica de Predicados 137 Conjunción E2 E2 E1 ∧ E2 V F E1 V V F E1 F F F Disyunción E2 E2 E1 ∨ E2 V F E1 V V V E1 F V F Negación E V F 5 E 5 E F V Tabla 5.1: Tablas de Verdad de Conectivos Naturalmente, la definición de ⇒ también permite que tanto Plumas (Susana) y Pájaro (Susana) son ambos FALSO. Curiosamente, otra posibilidad, permitida por la definición de ⇒, es que Plumas (Susana) es FALSO y Pájaro (Susana) es VERDAD. Si Plumas (Susana) es VERDAD y Pájaro (Susana) es FALSO, sin embargo, entonces la expresión compuesta considerada es FALSO. Quizás es tiempo de ser más preciso acerca de los conectivos considerados (negación, disyunción, conjunción e implicación) antes de que sea demasiado tarde. Pensando en ellos como funciones, es fácil definirlos listando los valores aprobados para cada combinación posible de argumentos. Ello está indicado en la Figura 5.1 utilizando diagramas que se denominan Tablas de Verdad. Debemos hacer notar que los conectivos tienen una Precedencia Aceptada. El símbolo ¬ tiene mayor precedencia que el conectivo de disyunción, ∨, de forma tal que podemos escribir ¬ E1 ∨ E2, significando con ello la siguiente expresión evitando de esta forma la posible confusión con otra expresión : (¬ E1) ∨ E2, sin ningún tipo de confusión con la expresión (¬ E1 ∨ E2). La precedencia aceptada es primera la negación, seguido por la conjunción y la disyunción y por último la implicación. Es una muy buena costumbre el utilizar paréntesis, para obtener claridad en las expresiones y evitar la ambigüedad.
  • 143. Lógica de Predicados 138 Observar que los valores de la tabla correspondiente a la implicación, son los mismos que los valores de verdad en la correspondiente tabla de la expresión siguiente: ¬ E1 ∨ E2 y podemos decir que ambas expresiones son equivalentes. (E1 ⇒ E2) ≡ ¬ E1 ∨ E2 Consideremos algunas propiedades de los conectivos dentro de la lógica de predicados (E representa a un predicado dentro de esta lógica). Propiedad Conmutativa (E1 º E2) ≡ (E2 º E1) (E1 ¸ E2) ≡ (E2 ¸ E1) Propiedad Distributiva E1 ¸ (E2 º E3) ≡ (E1 ¸ E2) º (E1 ¸ E3) E1 º (E2 ¸ E3) ≡ (E1 º E2) ¸ (E1 º E3) Propiedad Asociativa E1 º (E2 º E3) ≡ (E1 º E2) º E3 E1 ¸ (E2 ¸ E3) ≡ (E1 ¸ E2) ¸ E3 Leyes de De Morgan 5 (E1 º E2) ≡ (5 E1) ¸ (5 E2) 5 (E1 ¸ E2) ≡ (5 E1) º (5 E2) y finalmente la doble negación 5 (5 E1) ≡ (E1) 5.1.3.- CUANTIFICADORES DETERMINAN QUE ELEMENTOS SON CIERTOS Las reglas antecedentes – consecuente, que se están considerando, son VERDAD para todos los elementos posibles dentro de un universo de discurso determinado. Para señalar que una expresión lógica es Universalmente VERDAD necesitamos utilizar un símbolo que significa la expresión Para Todo, ∀, como así también una variable que representa a todos los elementos posibles dentro de un universo de discurso determinado. En los siguientes ejemplos al considerar la expresión,"cuando es VERDAD", decimos que cualquier elemento que tiene plumas es un pájaro: ∀x [Plumas(x) ⇒ Pájaro(x)] Igual que cualquier otra expresión, la misma puede ser VERDAD o FALSO. Si la misma es VERDAD, una expresión œ significa que tendremos un valor de VERDAD cuando substituimos cualquier objeto por la variable x dentro de los corchetes. Por ejemplo si la expresión œx[Plumas(x) | Pájaro(x)] es VERDAD, entonces ciertamente la siguiente interpretación Plumas(Canario) | Pájaro(Canario) es VERDAD y lo es
  • 144. Lógica de Predicados 139 también en el siguiente caso Plumas(Susana) | Pájaro(Susana). Cuando una expresión está rodeada por los corchetes asociados a un cuantificador, decimos que la expresión se encuentra dentro de la Extensión (Scope) del cuantificador. En consecuencia la expresión Plumas(x) ⇒ Pájaro(x) es una Extensión del cuantificador œx[... ]. Ya que las expresiones VERDADERAS que comienzan con el cuantificador universal nos dicen algo acerca de todas las substituciones posibles de variables por objetos dentro de la correspondiente extensión, decimos que la expresión se encuentra Cuantificada Universalmente. Algunas expresiones, sin embargo, no siempre son VERDAD, sino que lo son solo en algunos casos. La lógica también considera estos casos. Ellos son escritos utilizando otro cuantificador representado por el símbolo › y tiene el siguiente significado Existe al Menos y es utilizado de la siguiente forma : ›x [Pájaro(x)] Cuando esta expresión es VERDAD, significa que existe al menos un elemento que cuando es substituido por la variable x, hace que la expresión dentro de los corchetes sea VERDAD. Quizás la expresión Pájaro (Canarios) es VERDAD, de cualquier modo, algo parecido a Pájaro (Canario) es VERDAD. Expresiones que utilizan el cuantificador (›), denominado Cuantificador Existencial, se dicen que están cuantificadas existencialmente. 5.1.4.- VOCABULARIO DE LA LÓGICA DE PREDICADO Un problema dentro de la lógica es la existencia de una gran cantidad de expresiones de un vocabulario, para mantener a la lógica de un modo integro. Por referencia observemos la Figura 5.2. OBJETOS VARIABLES FUNCIONES A x Apoyar ⇓ ⇓ ⇓ PREDICADOS TÉRMINOS Sobre ⇓ ⇓ FORMULAS ATÓMICAS Sobre(A, x) ⇒ NEGACIÓN ¬ Sobre(A, x) ⇓ ⇓ CONECTIVOS LITERALES CUANTIFICADORES 5,v,w,⇒, ⇔ ›,œ ⇓ ⇓ ⇓
  • 145. Lógica de Predicados 140 FORMULAS BIEN FORMADAS (FBF) œX [Sobre(A, x) ⇒ Igual(x, Apoyo(x))] ⇓ ORACIONES CLAUSULAS ETC. Figura 5.2. : Vocabulario de la Lógica de Predicados En función de la Figura 5.2, podemos expresar un conjunto de definiciones acerca de los elementos del vocabulario de la lógica de predicados, a saber: * Los objetos de un Dominio son Términos. * Las Variables que representan a los objetos de un dominio son Términos. * Las Funciones son Términos. Los argumentos y las imágenes de las funciones son objetos de un determinado dominio. Los términos son los únicos elementos que aparecerán como argumentos de los diferentes predicados sobre un dominio o conjunto de dominios dados. * Fórmulas Atómicas son definidos como predicados individuales con sus correspondientes argumentos. * Literales son definidos como fórmulas atómicas y fórmulas atómicas negadas. * Fórmulas Bien Formadas, o bien FBF, son definidas recursivamente de la siguiente forma: * Los literales son fórmulas bien formadas (FBF). * Fórmulas Bien Formadas conectadas a través de conectivos son también FBF. * Fórmulas Bien Formadas afectadas por cuantificadores son también FBF. Para las FBF existen algunos casos especiales que deben ser considerados, a saber: * Una Fórmula Bien Formada en la cual todas sus variables, si existen, están dentro de una extensión del correspondiente cuantificador, es definida como una Oración. La siguiente expresión es una oración œx [Plumas(x) ⇒ Pájaro(x)] Plumas (Albatros) ⇒ Pájaro (Albatros) Variables como x que aparecen dentro de la extensión del correspondiente cuantificador se denominan Variables Ligadas. Variables que no son ligadas se las identifica como Variables Libres. La siguiente expresión no es una oración, debido a que contiene una variable libre, la variable y:
  • 146. Lógica de Predicados 141 œx [Plumas(x) ∨ ¬ Plumas (y)] Debemos hacer notar que permitimos variables solo para representar objetos. Está prohibido utilizar variables para representar predicados. Estamos tratando en consecuencia con las lógicas denominadas de Cálculo de Predicados de Primer Orden. En una segunda instancia tenemos el Cálculo de Predicados de Segundo Orden donde se permiten que las variables representen a los predicados. En cambio una lógica o Cálculo Proposicional no se permiten variables de ninguna clase. Una Fórmula Bien Formada que está formada por disyunciones de literales recibe la denominación de Cláusula. 5.2.- ESTRUCTURA RELACIONAL DE UNA LÓGICA DE PREDICADO La lógica proposicional nos permite razonar acerca de o con proposiciones. Sin embargo no existe una forma para razonar acerca de las relaciones existentes entre las entidades individuales en algún universo de discurso. Como así tampoco existe un modo para expresar afirmaciones generales aplicadas a conjuntos en casos similares. Consecuentemente los lógicos han desarrollado lógicas más expresivas denominadas lógicas de predicados. Tales lógicas pueden ser utilizadas para describir y razonar acerca de partes del universo visualizado como Estructuras Relacionales, donde la denominada estructura relacional consiste de un conjunto de entidades E, un conjunto de relaciones definidas sobre E y un conjunto de funciones sobre E. Las entidades en un subconjunto de E son conocidas como Entidades Distinguidas. Una definición más formal de la estructura relacional de la lógica de predicados, es la siguiente: U = (E, N, R, H) donde definimos a cada uno de los componentes de la siguiente forma : (a) E es un conjunto de entidades o términos {e1, e2, ...., en}, denominado como el dominio de la estructura U. (b) N es el conjunto de las entidades distinguidas {n1, n2, ...., nn}, de forma tal que N es un subconjunto de E. (c) R es un conjunto de relaciones {r1, r2, ...., rn} definidas sobre el conjunto de entidades E. (d) H es un conjunto de funciones {h1, h2, ...., hn} definidas sobre el conjunto de entidades E. Consideremos el siguiente ejemplo de una estructura relacional: E ≡ Conjunto de todas las entidades que constituyen la Universidad. N ≡ {Susana, Roberto, Guillermo, Veinte, Treinta, Cuarenta, Cincuenta, Sesenta} R ≡ {Novios, Edad}
  • 147. Lógica de Predicados 142 H ≡ {Doble} Definiendo las correspondientes relaciones y función de la siguiente forma: Novios = {(Susana, Roberto), (Roberto, Susana)} Edad = {(Susana, Veinte), (Roberto, Treinta), (Guillermo, Cuarenta)} Doble(Veinte) = Cuarenta Doble(Treinta) = Sesenta Las relaciones y funciones en una estructura relacional puede ser Arity (o sea, que puede tener varios números de argumentos). Por ejemplo Novios tiene un arity de 2 (dos). Doble tiene un arity de 1 (uno) y es denominada como una función de un solo argumento. 5.2.1.- RELACIONES Y PREDICADOS Las matemáticas en general y la ciencia de computación en particular deben ser capaces de expresar y manipular fórmulas lógicas con valores de conjuntos diferentes de los pertenecientes al conjunto de valores de Boole {V, F}. En particular, son esenciales conjuntos infinitos tales como el conjunto de los números enteros Z. Recordemos que cualquier relación n-aria R es un subconjunto del Producto Cartesiano D1 x D2 ..... x Dn, donde cada Di es un conjunto. Por ejemplo: * PR(x) - el conjunto de todos los números primos: {2, 3, 5, 7, 11, 13, 17, ....} * SQ(x, y) - el conjunto de pares ordenados (x, y), de forma tal que y es el cuadrado de x. {(1,1),(2,4),(3,9),(4,16), .....} Una relación también puede ser formalizada como una función Booleana sobre n-tuplas: Definición 5.2.1: Sea D un conjunto de elementos. R es una relación n-aria en el Dominio D si R es una relación sobre Dn . Sea R una relación n-aria sobre un dominio D. El predicado R asociado con la relación R, está dado por la siguiente expresión: R (d1, ......, dn) = T si y solo si {d1, ......, dn} ∈ R Por ejemplo: SQ(2, 1) = F SQ(2, 2) = F
  • 148. Lógica de Predicados 143 SQ(2, 3) = F SQ(2, 4) = V es el predicado correspondiente a la relación SQ antes definida, puesto que es cierto que 4 es el cuadrado de 2, mientras que no lo son 1, 2, 3. De la misma forma: PR(1) = F PR(2) = V PR(3) = V PR(4) = F puesto que 2 y 3 son primos mientras que 1 y 4 no lo son. Esta correspondencia es trivial pero proporciona el ligamento necesario para la formalización lógica de las matemáticas. Todas las fórmulas lógicas, interpretaciones, pruebas, etc.; que fueron desarrolladas para el cálculo proposicional pueden ser aplicados al cálculo de predicados. La presencia de un dominio sobre el cual los predicados son interpretados, complica considerablemente los detalles técnicos pero no los conceptos básicos. Se deben realizar extensiones tanto a sintaxis como a la semántica de las fórmulas o expresiones lógicas. El plan de ataque es el siguiente: * Para evitar continuas referencias al dominio, se introducen cuantificadores en la definición de una fórmula, para permitir expresar que una expresión sintácticamente pura de una declaración, que es un predicado, es verdadera para algún o para todos los elementos del conjunto. * En el cálculo proposicional, una interpretación consiste solo en la asignación de valores de verdad a los símbolos proposicionales o proposiciones. En el cálculo de predicados, una interpretación incluye la elección de un dominio y una asignación de relaciones a los símbolos de predicado. * La construcción del cuadro semántico será extendido. Ya que los dominios pueden ser infinitos, la construcción del cuadro puede no terminar y en consecuencia no existir un procedimiento de decisión que satisfaga en el cálculo de predicados. Sin embargo, si el cuadro es cerrado, la fórmula puede no ser cumplida y lo inverso también. * Los sistemas axiomáticos del tipo Hilbert y Gentzen pueden ser definidos en el cálculo de predicados. De este modo mientras un fórmula válida es demostrable, y mientras podamos construir una prueba de la fórmula, dando una fórmula arbitraria, no podremos decidir si la misma es válida y en consecuencia demostrable. * Antes de definir resolución, introducimos funciones sobre el dominio, en adición a los predicados valorizados de acuerdo a los valores de verdad. Estas funciones son necesarias a causa de la operaciones matemáticas tales como la multiplicación: (x > 0 v y > 0) ⇒ (x * y > 0) Aquí es introducido un importante concepto: "La Interpretación de Herbrand". Ello permite el desarrollo de la teoría del cálculo de predicado para un dominio canónico, o sea, un dominio uniforme en lugar de considerar la idiosincrasia de cada dominio individual. Además, las interpretaciones de Herbrand son
  • 149. Lógica de Predicados 144 definidas sintácticamente en términos de los símbolos del cálculo de predicado, simplificando de esta forma la teoría. * En ausencia de un procedimiento de decisión, no estudiaremos la complejidad de los algoritmos para el cálculo de predicados. En lugar de ello, veremos ciertas clases restringidas, las que nos darán procedimientos de decisión. 5.3.- SINTAXIS DE LENGUAJES DE PREDICADOS DE PRIMER ORDEN La sintaxis de un lenguaje de predicados de primer orden está definida a través de una gramática cuyos símbolos terminales incluyen los siguientes conjuntos: (a) Un conjunto de Símbolos de Predicados, expresados de la siguiente forma: P = {p1, p2, p3, .... } (b) Un conjunto de Variables Individuales, expresados de la siguiente forma: Var = {v1, v2, v3, .... } (c) Un conjunto de Constantes Individuales, expresadas de la siguiente forma: Cons = {c1, c2, c3, .... } (d) Un conjunto de Símbolos de Función, expresados de la siguiente forma: F = {f1, f2, f3, .... } (e) Un conjunto de conectivos lógicos que incluyen a la negación, conjunción, disyunción, implicación o condicional y a la equivalencia o doble implicación, representados a través del siguiente conjunto de símbolos: S = { ¬, ∧, ∨, ⇒, ⇔} (f) Un conjunto de cuantificadores: Cuantificador Universal, œ, y el Cuantificador Existencial, ›. (g) Conjunto de Símbolos de puntuación: Paréntesis (, ) y otros. La sintaxis de la lógica de predicado de primer orden es definida muy a menudo utilizando un subconjunto de conectivos lógicos y un solo cuantificador. El resto de los conectivos y el otro cuantificador, son definidos como abreviaturas. Independientemente del conjunto elegido, el mismo debe estar completo en el sentido de que todos los otros conectivos y cuantificadores deben estar definidos en términos de los conectivos y cuantificadores elegidos. Por ejemplo, si se eligen a œ y ¬,
  • 150. Lógica de Predicados 145 entonces el cuantificador existencial puede definirse de la siguiente forma: ›x A(x) ≡ ¬ (œx) ¬ A(x) donde A(x) es una fórmula determinada y x es una variable lógica. De la misma forma podemos definir la implicación en la lógica de predicados: (A(x) ⇒ B(x)) ≡ ¬ A(x) ∨ B(x) Definimos dentro de esta sintaxis, al conjunto de Términos de un predicado de primer orden: (a) Todas las constantes individuales son términos. (b) Todas las variables individuales son términos. (c) Si t1, t2, t3, .... tn son términos y f es una función n-aria, entonces tenemos que f(t1, t2, t3, .... tn) es un término. El conjunto de fórmulas atómicas está definido de la siguiente forma: (d) Si t1, t2, t3, .... tn son términos y p es un símbolo de un predicado n-ario, entonces tenemos que la siguiente expresión p(t1, t2, t3, .... tn) es una fórmula atómica. El conjunto de las denominadas FORMULAS BIEN FORMADAS (FBF) para un lenguaje de predicados de primer orden está dado por los siguientes enunciados: (a) Si A es una fórmula atómica, entonces A es una FBF. (b) Si A y B son FBF, entonces tenemos que las siguientes expresiones son también FBF: (A) , ¬ A , A ∨ B A ∧ B , A ⇒ B , A ⇔ B ∀x A donde x ∈ Var , ∃x A donde x ∈ Var (c) Las únicas FBF son aquellas obtenidas por un número finito de aplicaciones de las reglas antes indicadas. Por facilidad de lectura, las letras x, y, z, w serán utilizadas para representar variables individuales, cadenas tales como "Sally" son utilizadas para representar constantes individuales, las letras P, Q, R o cadenas del tipo "Tiene" son utilizadas para representar predicados y las letras f, g, h o cadenas tales como "Doble" son utilizadas para representar símbolos de función. Ejemplo 5.3.1: Como ejemplo de un lenguaje en la lógica de predicados de primer orden, consideremos la siguiente definición informal de la sintaxis de un lenguaje lógico denominado L1 : (a) Símbolos de Predicado = {Edad, Novios}, donde ambos son binarios.
  • 151. Lógica de Predicados 146 (b) Variables = {x, y, z} (c) Constantes = {Susana, Roberto, Guillermo, 20, 30, 40, 50, 60} (d) Conectivos = {¬, ∧, ∨, ⇒, ⇔} (e) Cuantificador = {∀, ∃} (f) Puntuación = {( , ) , [ , ] } (g) Símbolos de Función = {Doble} El conjunto de términos del lenguaje L1 es el siguiente conjunto: {Susana, Roberto, Guillermo, 20, 30, 40, 50, 60, x, y, z, doble (20), doble (Susana), doble(x), doble (doble (30)), etc.... } Las fórmulas atómicas y las FBF de L1 están definidas de acuerdo a las reglas dadas anteriormente. Ejemplos de FBF de L1 son : (a) Novios (Susana, Roberto) y lo leemos de la siguiente forma : "Susana está de novia con Roberto". (b) Edad (Susana, 20) y se lee como "Susana tiene la edad de 20". (c) Edad (Guillermo, doble (20)) y se lee "Guillermo tiene una edad que es el doble de 20". (d) 5 Novios (Susana, Guillermo) y lo leemos como "Susana no está de novia con Guillermo". (e) ∀x ∀y [Novios (x, y) ⇒ Novios (y, x)] y lo leemos de la siguiente forma : "Para todo x y para todo y, si x está de Novio con y, entonces y está de novio con x". Esto define la simetría del predicado Novios. (f) ∃x Edad(x, 40), y lo leemos "Existe un x cuya edad es de 40 años". (g) Edad (x, y), y lo leemos de la siguiente forma: "x tiene la edad y". Las fórmulas (a) a (f) son denominadas fórmulas Cerradas, ya que ellas no contienen variables libres (las variables, si las hay, están ligadas por uno u otro cuantificador). La fórmula (g) es una fórmula Abierta. Si A es una fórmula, entonces la extensión de la ocurrencia de un cuantificador, tal como qx en qx A, es A (donde q = ∀ o q = ∃). Una Ocurrencia de una variable x en A está Ligada si y solo si está inmediatamente después de un cuantificador o si se encuentra en la extensión de la ocurrencia de un cuantificador. La ocurrencia de una variable que no está ligada decimos que es Libre. 5.3.1.- FORMULAS DE PREDICADOS
  • 152. Lógica de Predicados 147 Ahora trataremos de formalizar y ampliar la notación empleada en el punto anterior con respecto a la sintaxis de un Lenguaje de Lógica de Predicados de Primer Orden. Las nuevas denominaciones no reemplazan a las anteriores sino que pueden utilizarse cualquiera de ellas. Sea {P, A, X} el conjunto de símbolos denominados Símbolos de Predicado, Constante y Variables, respectivamente. Por convención, las siguientes letras minúsculas, posiblemente con subíndices, denotarán a los anteriores conjuntos: P = {p, q} A = {a, b} X = {x, y} Las fórmulas de predicados son definidas por la siguiente gramática: argumento ::= x para cualquier x 0 X argumento ::= a para cualquier a 0 A lista_argumento ::= argumento lista_argumento ::= argumento, lista_argumento fórmula atómica ::= p(lista_argumento) para cualquier p 0 P fórmula ::= verdad - falso - fórmula atómica fórmula ::= (5 fórmula) fórmula ::= (cuantificador variable fórmula) fórmula ::= (fórmula operando fórmula) operando ::= ∨ * ∧ * ⇒ * ⇐ * ⇔ cuantificador ::= ∃* œ Definición 5.3.1 œ es el cuantificador universal y se lee de la siguiente forma : "para todo". › es el cuantificador existencial y se lee de la siguiente forma :"al menos existe un". Para una fórmula Cuantificada, tal como (œxA), x es denominada la variable cuantificada o la variable vinculada y A es denominado como la extensión (scope) de la variable cuantificada. Los cuantificadores (incluyendo la variable cuantificada) son operadores que tienen la misma precedencia que la negación. La siguiente fórmula: (œx ((5(›y p (x, y)) w (5(›y p (y, x))))) y que puede ser escrita de la siguiente forma: œx (5›y p (x, y) w 5›y p (y, x)) Tomamos del cálculo proposicional la definición de los árboles de formación y el concepto de inducción de la estructura de una fórmula. Algunos ejemplos de fórmulas en el cálculo de predicado, ejemplificamos a continuación: 1.- œxœy(p(x, y) ⇒ p(y, x))
  • 153. Lógica de Predicados 148 p debe ser interpretada como una relación simétrica semejante a la relación de "igualdad", de la siguiente forma : (x = y) ⇒ (y = x) 2.- œx›y p(x, y) Si p es interpretada como una función, entonces p debe ser total. 3.- ›x›y(p(x) v 5p(y)) Esta fórmula solo puede ser cierta en un dominio con al menos dos elementos. 4.- œx p(a, x) Expresa la existencia de un elemento especial. Por ejemplo, si p es interpretado como la relación "#", entonces la fórmula es cierta para a = 1 en el dominio de los enteros positivos, porque 1 es menor o igual a cada elemento del dominio. Sobre el dominio de todos los enteros (positivos y negativos), la fórmula no es cierta o verdadera. 5.- œx(p(x) v q(x)) ≡ (œx p(x) v œx q(x)) La fórmula es válida. Seleccionemos un elemento arbitrario d del dominio, Entonces p(d) v q(d) es verdadero, lo que implica que p(d) es verdadero, como así también lo es q(d). Como d es arbitrario, entonces œxp(x), œxq(x) son verdaderos. 6.- ›x(p(x) w q(x)) ≡ (›x p(x) w ›x q(x)) También es una fórmula válida por un argumento dual para "œ" y "v". 7.- œx(p(x) ⇒ q(x)) ⇒ (œx p(x) ⇒ œx q(x)) Es una fórmula válida. 8.- (œx p(x) ⇒ œx q(x)) ⇒ œx(p(x) ⇒ q(x)) Corresponde a la fórmula inversa del ejemplo #7 y no es válida. Antes de definir interpretaciones, debemos definir el concepto de sustitución de constantes por variables. Existen dificultades técnicas similares a las encontradas en los lenguajes de programación, como Pascal, que permite definir variables locales dentro del ámbito de un procedimiento. Formalizamos esta propiedad como una definición de sustitución en los predicados. Definición 5.3.2: Sean A una fórmula, x una variable y a una constante. La siguiente expresión A [x ⇐ a], representa la sustitución de a por x y está definida por la inducción: * Si A es una fórmula atómica, A [x ⇐ a] es obtenida reemplazando cada ocurrencia de x en A (si existe) por a. * Si A = 5A1 , A [x ⇐ a] = 5A1[x ⇐ a]. * Si A = A1 op A2 , A [x ⇐ a] = A1[x ⇐ a] op A2[x ⇐ a]. * Si A = œxA1 , A [x ⇐ a] = A. Similar para A = ›xA1.
  • 154. Lógica de Predicados 149 * Si A = œyA1 para y … x, A[x ⇐ a] = œyA1[x ⇐ a]. Similar para A = ›yA1. Debemos hacer notar la distinción existente entre la sustitución para la variable cuantificada y la sustitución para cualquier otra variable. La variable cuantificada es análoga a la declaración de una variable local en un procedimiento en Pascal y es tal que ningún asignamiento global tiene efecto. La sustitución por cualquier otra variable es análoga a la sustitución global a una variable que no ha sido redeclarada como una variable local. Definición 5.3.3: Si A [x ⇐ a] … A, entonces x es denominada variable libre de A. La siguiente notación: A(x1, ..... , xn) indica que las variables libres de la fórmula A están en {x1, ..... , xn}. (Usualmente todas estas variables son libres en A.) Si la fórmula no tiene variables libres, es denominada una fórmula cerrada. Si {x1, ..... , xn} son todas variables libres de A, es cierre universal de A está dado por: œx1 ..... œxn A y el cierre existencial está dado por: ›x1 ..... ›xn A Por ejemplo, si A(x, y) = p(x, y) tiene dos variables libres {x, y}, ›y p(x, y) tiene una sola variable libre {x} y œx›y p(x, y) es cerrado. El cierre universal de A(x, y) es œxœy p(x, y) y el cierre existencial es ›x›y p(x, y). Lema 5.3.4 Si A es cerrada, entonces A [x ⇐ a] también es cerrada. Demostración: Por inducción sobre la estructura de A. Si A es atómica y cerrada, no tiene variables tal que A [x ⇐ a] = A es cerrada por suposición. Las etapas de inducción para las conectivas proposicionales son inmediatas, como lo es el caso donde A es una cuantificación de la variable x sustituida. Supongamos que el lema es cierto para A1 y tenemos que A = œyA1 para y ≠ x. Pero A = œyA1 es cerrada por suposición, por lo tanto x no está libre en A1 y en A1[x ⇐ a] = A1 por definición de variable libre. Por lo tanto: A [x ⇐ a] = œyA1[x ⇐ a] = œyA1 está cerrada. & Definición 5.3.5: Sea A = œx A(x) una fórmula cuantificada y sea a una constante,
  • 155. Lógica de Predicados 150 entonces A [x ⇐ a], denotada como A(a) es una instancia de œx A(x). La operación de sustituir una constante específica por una variable cuantificada es denominada instanciación. Definición 5.3.6: Sea A una expresión, sea x una variable y sea t un término. Entonces St x A representa la expresión que se obtiene al sustituir todas las apariciones de x en A por t. St x A es denominada como una particularización (un caso , un ejemplo) de A, y se dice que t es un caso (instancia) de x. Ejemplo 5.3.2: Sean a, b y c constantes individuales, sean P y Q símbolos de predicado, y sean x e y variables. Calcular: Sa x (P(a) ⇒ Q(x)) Sb y (P (y) ∨ Q (y)) Sa y Q(a) Sa y (P(x) ⇒ Q(x)) Solución: Sa x (P(a) ⇒ Q(x)) es (P(a) ⇒ Q(a)), y Sb y (P(y) ∨ Q(y)) es (P(b) ∨ Q(b)). Dado que Q(a) no contiene ningún y, al sustituir todos los casos de y por a se tiene que Q(a) queda intacto, lo cual significa que: Sa y Q (a) = Q (a) Sa y (P(x) ⇒ Q(x)) = (P(x) ⇒ Q(x)) Sa x Es una operación que puede aplicarse a los predicados; por lo tanto, no es un predicado en sí mismo y esto hace que Sa x A sea una meta expresión. 5.4.- SEMÁNTICA DEL LENGUAJE DE PREDICADOS DE 1er ORDEN 5.4.1.- INTERPRETACIONES Una interpretación de una frase debe contener información suficiente para determinar si la frase es falsa o verdadera. Para estudiar esto, consideremos una frase concreta, tal como “han pagado todos los clientes”. ¿Qué se necesita para determinar si esta frase es verdadera? Evidentemente, necesitamos saber quienes son los clientes, o sea, necesitamos un universo de discurso. En segundo lugar, es necesario saber quién ha pagado y quién no. Esto quiere decir que necesitamos alguna forma de asignación del predicado “ha pagado”. Como segundo ejemplo, consideremos la frase: “y ha solicitado el objeto X”. Para averiguar si esta frase es verdadera, es preciso una vez más definir el universo de discurso, tal como por ejemplo, todos los clientes de una empresa de comercialización. Además tenemos que saber quién es y, y es preciso tener una asignación del predicado “ha solicitado X”. Estos dos ejemplos sugieren un cierto número de elementos de los cuales hay que disponer para tener una interpretación. Formalmente una interpretación de una expresión lógica contiene los siguientes componentes:
  • 156. Lógica de Predicados 151 1. Tiene que existir un universo de discurso. 2. Para cada individuo, tiene que existir una constante individual que se refiera exclusivamente a ese individuo en particular y a ningún otro. 3. Hay que asignar a cada variable libre una constante individual exclusiva. 4. Tiene que existir una asignación para cada predicado que se utilice en la expresión, incluyendo los predicados de paridad 0, que representan proposiciones. Para expresar las aseveraciones acerca de las estructuras relacionales de primer orden, U, es necesario asociarlas con lenguajes de primer orden. Para hacer esto, es necesario definir un lenguaje L de modo tal que asignemos a cada relación n- aria en U, a un predicado n-ario en L, cada función n-aria en U a cada símbolo de función en L y cada entidad distinguible en U a cada constante en L. La función que define estas asignaciones es denominada una Interpretación. Debe quedar en claro que podemos asociar el lenguaje L1 con la estructura relacional U1, definiendo una interpretación γ1, tal que : γ1 (Susana) = SUSANA γ1 (Roberto) = ROBERTO γ1 (Novios) = NOVIOS γ1 (20) = VEINTE Para facilitar la definición de interpretación, extenderemos el concepto de fórmula para permitir fórmulas en un dominio. Definición 5.4.1: Sea D un dominio. Una fórmula sobre D está definida como antes excepto que los elementos de D reemplazan constantes de un conjunto !. Por ejemplo, correspondiendo a la fórmula œx p(a, x) en el cálculo de predicado, tenemos la fórmula œx p (0, x) en el dominio ù de los números naturales. La expresión œx p(0, x) es también una fórmula en el dominio Z de los números enteros. La expresión œx p(", x) es una fórmula en el dominio S de las cadenas de caracteres, donde " es la cadena nula. Definición 5.4.2: Sea A una fórmula de forma tal que {p1, ..., pn} son todos predicados y {a1, ..., an} son todas constantes que aparecen en A. Decimos en consecuencia que una Interpretación I es una tripla de la siguiente forma: (D, {R1, ..., Rn}, {d1, ..., dn}) que consta de los siguientes elementos:
  • 157. Lógica de Predicados 152 * Un dominio no vacío D. * Una asignación de la relación n-aria Ri sobre D para cada predicado n- ario pi. * Una asignación de un elemento dj 0 D para cada constante aj. Las siguientes expresiones son interpretaciones de la fórmula œxp(a, x) : * I1 = (ù, {#}, {0}) * I2 = (ù, {#}, {1}) * I3 = (Z, {#}, {0}) * I4 = (S, {f}, {"}) en las cuales hemos utilizado el operador de menor o igual para las relaciones binarias y el operador de inclusión para la relación de subcadenas. Examinemos ahora las posibles interpretaciones de œx P(x), donde P es el predicado “ha pagado”. Para encontrar esta interpretación, se necesita una lista de clientes, que proporciona el universo de discurso requerido. Supongamos que existen sólo tres clientes, Juan, Manuel y Silvia. Abreviaremos estos nombres en la forma J, M y S, respectivamente. Estas abreviaturas corresponden a las constantes individuales. A continuación, se necesita una asignación para P(x). Si tanto Juan como Manuel han pagado pero Silvia no, entonces la asignación se da en la siguiente forma, expresada como una Tabla de Valores de Verdad: J M S P(x) V V F A través de esta tabla podemos determinar el valor de verdad de la expresión œx P(x). Evidentemente es falsa. En nuestra interpretación œx P(x) solo es verdadera si P (J), P(M) y P(S) son todas ellas verdaderas, lo cual no es cierto. Silvia no ha pagado, por lo tanto P(S) es falso. Ahora formularemos lo que significa, en general, que una expresión como œx P(x) sea verdadera. Para la interpretación, seleccionaremos un dominio finito que consta de los n individuos a1, a2, a3, . . . , an . œx P(x) sólo es verdadero si P(a1), P(a2), P(a3), . . . , P(an) son todos verdaderos. Por lo tanto, œx P(x) esta dado por: œx P(x) = P(a1) v P(a2) v P(a3) v . . . v P(an) (5.4.1) La parte izquierda de esta expresión habría sido exactamente la misma si hubiéramos empleado una variante de œx P(x) tal como œy P(y) o œz P(z) . Esto muestra que las variantes son equivalentes lógicamente. Obsérvese que P(a1), P(a2), P(a3), . . . , P(an) sólo tienen dos valores posibles V y F, y esto hace que las expresiones P(a1), P(a2), P(a3), . . . , P(an) sean proposiciones. En este sentido, se
  • 158. Lógica de Predicados 153 puede decir que las interpretaciones en universos finitos transforman las expresiones de cálculo de predicado en proposiciones. Dada la interpretación que se expresa mediante la tabla de verdad anterior, es fácil decidir si ›x P(x) es verdadero si existe al menos un x para el cual es válido P(x). En la interpretación dada P(J) es verdadero, y esto basta para hacer que ›x P(x) sea verdadero. Existe un cliente, Juan, que ha pagado. En el dominio de los n individuos a1, a2, a3, . . . , an podemos encontrar una expresión para el cuantificador existencial. ›x P(x) es verdadero en toda la interpretación que haga verdadero a P(a1), o P(a2), o P(a3), o . . . , o P(an). Por lo tanto: ›x P(x) = P(a1) w P(a2) w P(a3) w . . . w P(an) (5.4.2) Por ejemplo, utilizando las expresiones (5.4.1) y (5.4.2) podemos demostrar la validez de una expresión para cualquier dominio finito. Consideremos la siguiente expresión 5œx P(x) 5œx P(x) = 5 (P(a1) v P(a2) v P(a3) v . . . v P(an)) = 5 (P(a1)) w 5 (P(a2)) w 5 (P(a3)) w . . . w 5 (P(an)) = ›x 5 P(x) Ejemplo 5.4.1: Analicemos la interpretación de la siguiente frase “Hay alguien que admira a todo el mundo”. El universo de discurso consta de tres personas Juan, María y Ricardo. El predicado en cuestión es Q; esto es, Q(x, y) significa que “x admira a y”, la tabla siguiente nos da una asignación para el predicado mencionado. A partir de esta tabla, se ve que Juan admira a María y a Ricardo, que María sólo admira a Juan y que Ricardo admira a María y a si mismo. Para averiguar si la frase planteada es cierta o no, lo mejor es traducirla al cálculo de predicados. “Hay alguien” se puede expresar como ›x. Juan María Ricardo œy Q(x, y) ›y Q(x, y) Juan F V V F V María V F F F V Ricardo F V V F V œx Q(x, y) F F F ›x Q(x, y) V V V Como primer paso escribimos la siguiente expresión: ›x x admira a todo el mundo La frase “x admira a todo el mundo” se puede traducir ahora en la forma œy Q(x, y).
  • 159. Lógica de Predicados 154 Como resultado, “Hay alguien que admira a todo el mundo” se puede expresar de la siguiente forma: ›x œy Q(x, y) Para averiguar si esta frase es cierta, buscaremos primero el valor de verdad de œy Q(x, y). Para la interpretación dada esta sub expresión es falsa, independientemente del valor de x, por lo tanto, œy Q(x, y) es falsa para todo x: no existe un valor de x para el cual œy Q(x, y) sea verdadero y consiguientemente ›x œy Q(x, y) es falso a los efectos de la interpretación considerada. Obsérvese que las dos expresiones de predicados œy ›x Q(x, y) y ›x œy Q(x, y) son diferentes. œy ›x Q(x, y) dice que para todo el mundo existe una persona que él (o ella) admira, lo cual es cierto a los efectos de la interpretación dada. Para ver esto, consideremos la siguiente expresión ›x Q(x, y). Esta expresión es verdadera para todo x; es verdadera para los valores de x = Juan, x = María y x = Ricardo. Esto significa que œx ›y Q(x, y) es verdadero para la interpretación dada. Con esta misma interpretación, sin embargo, ›x œy Q(x, y) es falsa, tal como se mostró anteriormente. Por lo tanto, el valor de verdad puede cambiar si se intercambian los cuantificadores universal y existencial. Aún cuando los cuantificadores existencial y universal no se puedan intercambiar, se nos permite intercambiar los cuantificadores universales, y lo mismo sucede con los cuantificadores existenciales. Esto se indica mediante las leyes siguientes: œx œy Q(x, y) = œy œx œy Q(x, y) ›x ›y Q(x, y) = ›y ›x Q(x, y) 5.4.2.- VALUACIONES (VALORIZACIÓN) Una valorización, valuación o asignación de un valor, es una función que asigna entidades de una estructura relacional a las variables del lenguaje asociado L1. Por ejemplo consideremos la valorización "1, definida de la siguiente forma: "1(x) = GUILLERMO "1(y) = ROBERTO "1(z) = VEINTE Definición 5.4.3: Sea A una fórmula cerrada Definimos a v(A), como el valor de A , bajo una interpretación I , obtenida reemplazando primero cada constante aj de A por el elemento del dominio dj asignado y que pertenece a I y luego por inducción sobre la estructura de A: • Si A = pi(c1, ...., cn) es una fórmula atómica, entonces v(A) = V si y solo si se
  • 160. Lógica de Predicados 155 cumple que: {c1, ...., cn} 0 Ri donde Ri es la relación asignada por I a pi. • V (5 A1) = V si y solo si v( A1) = F . • V (A1 w A2) = V si y solo si v( A1) = V o v( A2) = V y de la misma forma procederemos para cualquier otro conectivo Booleano. • V (œxA1) = V si y solo si para todo c 0 D, v (A1[x ⇐ c]) = V . • V (›xA1) = V si y solo si para algunos c 0 D, v (A1[x ⇐ c]) = V . En otras palabras, primero utilizamos las asignaciones de los elementos del dominio a los símbolos constantes (si existe alguno) para transformar la fórmula en una fórmula sobre D. Luego usar la definición inductiva, la cual reduce la computación del valor de A a preguntas acerca de las siguientes fórmulas atómicas pi(c1, ...., cn). La fórmula atómica es V si y solo si esta secuencia de elementos del dominio está en la relación Ri asignada por la interpretación. 5.4.3.- VALORES SEMÁNTICOS/NOTACIONES Los valores semánticos o notaciones de una expresión A con respecto a una estructura U, una interpretación γ y una valorización α es denotada a través de la siguiente notación: [A]U, (, " por ejemplo con respecto a U1, (1, "1 tenemos que : (a) [Susana] (1, "1 = SUSANA (b) [x] (1, "1 = GUILLERMO (c) [Doble(20)] (1, "1 = CUARENTA Debemos resaltar que en (c), la notación de una expresión de una función es una entidad en la estructura relacional asociada. En general, el valor semántico de una expresión de una función de la forma siguiente f(t1, t2, t3, .... tn), donde t1, t2, t3, .... tn son términos, está dado por : [ f ] (, "([ t1 ] (, ", . . . , [ tn ] (, ") o sea que el valor semántico de una expresión función f(t1, t2, t3, .... tn) es obtenido aplicando la función que está representada por (o sea es el valor semántico de) f para los argumentos que son denominados por t1, t2, t3, .... tn. 5.4.4.- CUMPLIMENTACIÓN DE FORMULAS
  • 161. Lógica de Predicados 156 La satisfacción o cumplimentación de una fórmula A del lenguaje L a través de una estructura relacional U con respecto a una interpretación ( y a una valorización ", está representada por: U ⎥= A [(, "] y está definida de la siguiente forma : (a) Si p(t1, t2, t3, .... tn) es una fórmula atómica en L entonces : U ⎥= p(t1, t2, t3, .... tn) ssi ([ t1 ] (, ", . . . , [ tn ] (, ") 0 [ p ] (, " O sea que U satisface una fórmula atómica p(t1, t2, t3, .... tn) con respecto a una interpretación ( y a una valorización " si y solo si (e1, e2, e3, .... en) 0 r, donde r es la relación asignada a p por (, y ei es la entidad asignada a ti por (, o ". (b) Si A y B son FBF y si x es una variable de L entonces tenemos que: (1) U ,= [A] [(, "] ssi U ,= A [(, "] (2) U ⎥= 5 A [(, "] ssi no es el caso de U ⎥= A [(, "] (3) U ⎥= A ∧ B [(, "] ssi U ⎥= A [(, "] y U ⎥= B [(, "] (4) U ⎥= A ∨ B [(, "] ssi U ⎥= A [(, "] o U ⎥= B [(, "] (5) U ⎥= A ⇒ B [(, "] ssi U ⎥= 5 A [(, "] o U ⎥= B [(, "] (6) U ⎥= A ⇔ B [(, "] ssi U ⎥= A ⇒ B [(, "] y U ⎥= B ⇒ A [(, "] (7) U ⎥= ∃x A [(, "] ssi existe una entidad e en U tal que U ⎥= A [(, "'] , donde "' es idéntica a " excepto que "' (x) = e mientras que " (x) puede serlo. (8) U ⎥= ∀x A [(, "] ssi para toda entidad e en U tal que U ⎥= A [(, "'] , donde "' es idéntica a " excepto que "' (x) = e mientras que " (x) puede serlo. La satisfacción de una expresión o fórmula a través de una estructura relacional, con respecto a una interpretación, no depende de todos los argumentos de una validación, sino solamente de aquellos argumentos que son variables libres en la fórmula considerada.
  • 162. Lógica de Predicados 157 5.4.5.- VERDAD Y MODELOS Definición 5.4.4: A es verdadera en I, o I es un modelo para A, si el valor v(A) = V bajo I. Notación: I ⎥= A o bien U ⎥= A [(, "] . Retornando a la fórmula A = œx p (a, x) y dentro del conjunto de interpretaciones definido a continuación, tenemos: * I1 ⎥= A ya que para todo n 0 N, (0, n) 0 #, o de la forma que se escribe usualmente 0 # n. * I2 no ⎥= A ya que no es verdadero que para todo n 0 N, 1 # n. Si n = 0 entonces 1 Ü 0. * I3 no ⎥= A .O sea, que para no d tenemos (Z, #, d) ⎥= A., debido a que no existe un entero más chico. * I4 ⎥= A ya que por la definición usual de subcadenas, la cadena nula "" es una subcadena de cada cadena. Definición 5.4.5: Una expresión o fórmula es válida si es verdadera en todas las interpretaciones. Para expresar que una expresión o fórmula A es valida, escribimos de la siguiente forma ⎥= A. Definición 5.4.6: Una expresión o fórmula A es suficiente si para alguna interpretación I, se cumple que I ⎥= A, A es válido (notación ⎥= A) si se cumple que para todas las interpretaciones I, I ⎥= A. Las definiciones de falsedad, insuficiencia, equivalencia lógica e implicación lógica son similares a las desarrolladas en el cálculo o lógica proposicional. A = œx p(a, x) es suficiente ya que I1 ⎥= A y es falsa ya que I3 no ⎥= A. Notar que aún cuando las asignaciones de p y a son las mismas, el cambio del dominio falsifica a la fórmula. Una fórmula válida es, por ejemplo, la siguiente: œx p(x) ⇒ p(a) Suponer que la fórmula anterior no es válida, debe existir entonces una interpretación (D, {R}, {d}) tal que v(œx p(x)) = V y v(p(a)) = F. Por la definición inductiva de v, para todo c ∈ D, v(p(c)) = V, o sea que tenemos que c ∈ R. En particular, ya que d ∈ D, d ∈ R, entonces v(p(d)) = V contradiciendo con la expresión v(p(d)) = F. Notemos que la siguiente fórmula: ›x p(x) ⇒ p(a)
  • 163. Lógica de Predicados 158 no es válida ya que es posible encontrar una interpretación de forma tal que se cumpla que v(p(d')) = V y v(p(d)) = F para algún valor que cumpla con d' ≠ d. Finalmente, consideremos una fórmula no cerrada tal como la siguiente: p(x) w q(y) no es posible asignar valores de verdad a fórmulas no cerradas. En lugar de ello, debemos considerarlas como relaciones. Dando valores de dominio d1 y d2 para x e y, el valor de p(d1) w q(d2) podrá ser calculado. Este proceso es similar al de asignar valores del dominio a constantes en la definición de una interpretación. Definición 5.4.7: Si B es una expresión o fórmula, entonces diremos que toda interpretación que haga que B produzca V satisface a B. Toda interpretación que satisface a B se denomina un modelo de B. Si B tiene un modelo, entonces se dice que B es viable. Definición 5.4.8: Una fórmula o expresión B que no tenga ningún modelo se denomina una expresión contradictoria. Definición 5.4.9: Una expresión o fórmula con variables libres A(x1, ...., xn) es suficiente si solo si existe una interpretación I y una asignación de valores del dominio (d1, ...., dn) a las variables libres, tal que se cumpla: v (A(d1, ...., dn)) = V No existe la necesidad de complicar el tratamiento teórico incluyendo fórmulas no cerradas, debido al siguiente teorema: Teorema 5.4.7: Una fórmula no cerrada A(x1, ...., xn) es suficiente si y solo si lo es un cierre existencial: ›x1, ...., ›xn A(x1, ...., xn) Es válida si y solo si lo es un cierre universal: œx1, ...., œxn A(x1, ...., xn) & 5.5.- EQUIVALENCIA LÓGICA Y SUBSTITUCIÓN En el cálculo proposicional dos fórmulas son lógicamente equivalentes A <=> A' si su valor es el mismo bajo todas las interpretaciones. Si A es una subfórmula de B y A <=> A' , entonces B <=> B'[A <=> A']. En el cálculo de predicado se mantienen definiciones y teoremas equivalentes, pero existen dificultades técnicas ocasionadas por las variables libres. Más que complicar la presentación, restringimos el uso de la substitución a fórmulas que tengan el mismo conjunto de variables libres. En este
  • 164. Lógica de Predicados 159 caso: A(x1, ...., xn) / A'(x1, ...., xn) si y solo si: œx1 ....œxn A(x1, ...., xn) / œx1 ....œxn A'(x1, ...., xn) y el teorema justifica la substitución generalizada fácilmente. La noción de validez nos permite definir la implicación lógica y la equivalencia lógica en la forma siguiente: Definición 5.5.1: Sean A y B dos expresiones o fórmulas Decimos que A es lógicamente equivalente a B si A <=> B es válida. En este caso escribimos A ≡ B. Además, decimos que A implica lógicamente a B, o que A ≡> B, si la expresión A ⇒ B es válida Tal como en el cálculo proposicional, se pueden utilizar las equivalencias lógicas para manipular fórmulas, y se pueden utilizar las implicaciones lógicas como base para unos argumentos correctos. Tal como en el cálculo proposicional, escribiremos A1, A2, . . . , An ⎥= C, si A1, A2, . . . , An en conjunto implican lógicamente a C. La ley siguiente la utilizaremos como ejemplo. Sin embargo esta ley es muy importante. œx (P ⇒ Q(x)) / P ⇒ œx Q(x) (5.5.1) Aquí P es una proposición constante y Q es un predicado. Para demostrar la expresión anterior (5.5.1) utilizaremos la ley de los casos. Dado que P es o bien verdadera o bien falsa, esto significa que en lugar de utilizar la expresión dada, se puede demostrar la validez de las dos fórmulas siguientes: œx (V ⇒ Q(x)) / V ⇒ œx Q(x) (5.5.2) œx (F ⇒ Q(x)) / F ⇒ œx Q(x) (5.5.3) Estas dos equivalencias son válidas. Dado que V⇒ Q(x) es Q(x), el lado izquierdo de (5.5.2) se reduce a œx Q(x). Por una razón similar el lado derecho de (5.5.2) se reduce a œx Q(x) y es evidente que œx Q(x) / œx Q(x) es verdadera. Además la expresión (5.5.3) es verdadera, porque ambos lados son siempre verdaderos F ⇒ œx Q(x) es trivialmente verdadero por definición de implicación lógica. En conclusión la expresión (5.5.1) es válida independientemente de que P sea verdadero o falso. Las expresiones válidas del cálculo de predicados también se pueden transformar en esquemas, salvo que hay que prestar especial atención a las variables libres y ligadas. Para demostrar esto, consideremos la expresión (5.5.1). En esta fórmula, podemos sustituir a P por cualquier expresión, siempre y cuando esta expresión no contenga a x como variable libre, y esta sustitución no afecta a su
  • 165. Lógica de Predicados 160 validez. Por ejemplo, supongamos que P representa “brilla el sol”. Q representa “hace buen tiempo” y H(x) representa “x es feliz”. Entonces se tiene, a partir de (5.5.1), que: œx ((P v Q)⇒ H(x)) / (P v Q) ⇒ œx H(x) Por tanto si es cierto que ”para todo el mundo que si brilla el sol y hace buen tiempo, entonces son felices, se puede concluir que si brilla el sol y hace buen tiempo, entonces todo el mundo es feliz”. La figura 5.5.1 contiene una lista de fórmulas válidas en el cálculo de predicado. Ya que la validez de A / B es la misma que la equivalencia A <=> B, la lista está dada en esta forma de modo tal que las fórmulas que no son equivalentes en ambas direcciones, también pueden ser listadas. Figura 5.5.1 - Fórmulas Válidas en el Cálculo de Predicados œx A(x) ≡ 5›x 5A(x) ›x A(x) ≡ 5œx 5A(x) œx A(x) ⇒ ›x A(x) ›x œy A(x, y) ⇒ œy ›x A(x, y) œx œy A(x, y) ≡ œy œx A(x, y) ›x ›y A(x, y) ≡ ›y ›x A(x, y) ›x (A(x) w B(x)) ≡ (›x A(x) w ›x A(x)) œx (A(x) v B(x)) ≡ (œx A(x) v œx A(x)) (œx A(x) w œx B(x)) ⇒ œx (A(x) w B(x)) ›x (A(x) v B(x)) ⇒ (›x A(x) ∧ ›x B(x)) œx (A(x) ≡ B(x)) ⇒ (œx A(x) ≡ œx B(x)) œx (A(x) ≡ B(x)) ⇒ (›x A(x) ≡ ›x B(x)) (›x A(x) w B) ≡ ›x (A(x) w B) (œx A(x) w B) ≡ œx (A(x) w B) (›x A(x) v B) ≡ ›x (A(x) v B) (œx A(x) v B) ≡ œx (A(x) v B) œx (A ⇒ B(x)) ≡ (A ⇒ œx B(x)) œx (A(x) ⇒ B) ≡ (›x A(x) ⇒ B) ›x (A(x) ⇒ B(x)) ≡ (œx A(x) ⇒ ›x B(x)) (›x A(x) ⇒ œx B(x)) ⇒ œx (A(x) ⇒ B(x)) œx (A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ œx B(x)) œx (A(x) ⇒ B(x)) ⇒ (›x A(x) ⇒ ›x B(x)) œx (A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ ›x B(x)) El resto de esta sección motiva y explica alguna de las fórmulas más importantes de esta lista. Consideremos las siguientes fórmulas: œx A(x) ≡ 5›x 5A(x) ›x A(x) ≡ 5œx 5A(x)
  • 166. Lógica de Predicados 161 muestran que cualquier cuantificador puede ser definido en términos del otro cuantificador. Ello puede ser utilizado en desarrollos teóricos para reducir el número de casos que deben ser tratados. Otras fórmulas importantes que relacionan a los cuantificadores, son las indicadas a continuación: œx A(x) ⇒ ›x A(x) ›xœy A(x, y) ⇒ œy›x A(x, y) La inversa de la última fórmula no es válida, tal como puede comprobarse a través de la interpretación (Z, {≤}). Los cuantificadores existenciales son distributivos para la disyunción y los cuantificadores universales son distributivos para la conjunción. œx(A(x) v B(x)) ≡ (œx A(x) v œx B(x)) ›x(A(x) w B(x)) ≡ (›x A(x) w ›x B(x)) pero solo es válido en una dirección para los cuantificadores existenciales sobre la conjunción y para los cuantificadores universales sobre la disyunción. (œx A(x) w œx B(x)) ⇒ œx(A(x) w B(x)) ›x(A(x) v B(x)) ⇒ (›x A(x) v ›x B(x)) Para la dirección contraria o inversa a la indicada anteriormente, consideremos la interpretación sobre cualquier dominio de al menos dos elementos definida de la siguiente forma: v(A(d)) = V para exactamente un elemento d 0 D y además: v(B(d')) = V para exactamente un valor d' 0 D, d … d'. Por lo tanto: v(›x A(x) v ›x B(x)) = V pero tenemos que: v(›x(A(x) v B(x))) = F Para el cuantificador universal podemos obtener un construcción similar a la indicada anteriormente. Si una subfórmula no contiene variables libres, entonces los cuantificadores sobre tal variable pueden ser pasados libremente a través de la subfórmula: (›x A(x) w B) ≡ ›x(A(x) w B)
  • 167. Lógica de Predicados 162 recordando que cuando una variable no es libre debe cumplirse la siguiente condición B[x ⇐ d] = B. De forma tal que: (A(x) w B)[x ⇐ d] ≡ A(x)[x ⇐ d] w B [x ⇐ d] ≡ A(x)[x ⇐ d] w B a partir de la cual obtenemos la equivalencia. Fórmulas similares para la implicación pueden obtenerse a partir de las fórmulas para la disyunción reemplazando la implicación por la disyunción equivalente y observando la alteración de los cuantificadores a medida que la negación pasa a través de ellos: œx(A(x) ⇒ B) ≡ œx(5A(x) w B) ≡ œx5A(x) w B ≡ 5›x A(x) w B ≡ ›x A(x) ⇒ B Las fórmulas para implicación no son siempre obvias y deber ser estudiadas muy cuidadosamente. ›x(A(x) ⇒ B(x)) ≡ (œx A(x) ⇒ ›x B(x)) (›x A(x) ⇒ œx B(x)) ⇒ œx(A(x) ⇒ B(x)) siguiendo las fórmulas para '›' sobre 'w' y 'œ' sobre 'v', respectivamente. Consideremos la siguiente expresión: œx(A(x) w B(x)) ⇒ (œx A(x) w ›x B(x)) es una fórmula muy interesante que conecta cuantificadores universales y existenciales. Transformando el consecuente en una implicación: 5œx A(x) ⇒ ›x B(x) podemos además probar su validez. Sea I una interpretación arbitraria de forma tal que se cumpla lo siguiente: v(5œx A(x)) = V entonces v(›5x A(x)) = V tal que d sea algún elemento de dominio en D 0 I tal que v(5A(d)) = V. A partir del antecedente de la fórmula: œx(A(x) w B(x))
  • 168. Lógica de Predicados 163 obtenemos lo siguiente v(A(d) w B(d)) = V Lo anterior conjuntamente con v(5A(d)) = V implica que v(B(d)) = V a partir de lo cual concluimos con la siguiente validación: v(›x B(x)) = V A partir de la fórmula anterior, podemos derivar varias fórmulas de distribución utilizando la implicación: œx (A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ œx B(x)) œx (A(x) ⇒ B(x)) ⇒ (›x A(x) ⇒ ›x B(x)) œx (A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ ›x B(x)) 5.6.- CUADROS SEMÁNTICOS Antes de presentar la construcción formal de los cuadros semánticos para el cálculo de predicados, debemos construir informalmente varios cuadros para estudiar las dificultades con las que debemos tratar. Recordemos que un cuadro es una búsqueda sistemática para un contra-ejemplo. Lo que debemos realizar es extender la búsqueda para un contra-ejemplo e incluir la búsqueda para fórmulas cuantificadas. El primer ejemplo es la negación de una fórmula válida: œx(p(x) ⇒ q(x)) ⇒ (œx p(x) ⇒ œx q(x)) Aplicando dos reglas-" a fórmulas de la forma 5(A ⇒ B), podemos obtener el siguiente conjunto de fórmulas para las cuales no se pueden aplicar más reglas de cuadros proposicionales: œx(p(x)⇒ q(x)), œx p(x), 5œx q(x) La fórmula 5œx q(x) es equivalente a ›x5q(x), tal que si queremos crear un contra- ejemplo, debemos instanciar la fórmula con algún elemento de dominio concreto siendo substituido por x. Más allá de inventar algún dominio artificial, usaremos el conjunto de los símbolos constantes como un dominio. Sea a ∈ A, establecido para un elemento de dominio y extendido al cuadro con un nuevo nodo cuya etiqueta reemplaza la fórmula cuantificada con la siguiente instanciación: œx(p(x) ⇒ q(x)), œx p(x), 5q(a) Las dos primeras fórmulas son cuantificadas universalmente, de forma tal que imponen requerimientos sobre cada elemento del dominio propuesto. Por lo tanto, instanciamos cada uno de ellos para el elemento de dominio a, que hemos introducido. En dos etapas obtenemos lo siguiente:
  • 169. Lógica de Predicados 164 œx(p(x) ⇒ q(x)), œx p(x), 5œx q(x) ⇓ œx(p(x) ⇒ q(x)), p(a), 5q(a) ⇓ p(a) Y q(a), p(a), 5q(a) Aplicando la regla-$ a la implicación, nos da inmediatamente un cuadro cerrado. En este primer ejemplo, las extensiones del método del cuadro semántico parecen ser directo. Figura 5.6.1: Cuadro Semántico para una Fórmula Satisfecha 5 (œx(p(x) w q(x)) ⇒ (œx p(x) w œx q(x))) ⇓ œx (p(x) w q(x)), 5 (œx p(x) w œx q(x)) ⇓ œx (p(x) w q(x)), 5œx p(x), 5œx q(x) ⇓ œx (p(x) w q(x)), 5œx p(x), 5q(a) ⇓ œx (p(x) w q(x)), 5p(a), 5q(a) ⇓ p(a) w q(a), 5p(a), 5q(a) ⇓ ⇓ p(a), 5p(a), 5q(a) q(a), 5p(a), 5q(a) X X Tratemos ahora de construir un cuadro semántico de la negación de la siguiente fórmula: œx (p(x) w q(x)) ⇒ (œx p(x) w œx q(x)) la cual es satisfecha pero no es válida (Figura 5.6.1). Tenemos un cuadro cerrado, pero para una fórmula que no es válida. ¿Qué hemos realizado en forma errónea?. La respuesta es que a no tendría que haber sido elegido como un elemento de dominio para la instanciación de 5œx p(x), si ya fue elegido para 5œx q(x). En realidad la fórmula es verdadera en todas las interpretaciones sobre dominios de un único elemento. Cuando creamos elementos de dominio para fórmulas existenciales, debemos elegir un nuevo elemento cada vez. Si elegimos una constante diferente, la quinta línea del cuadro es: œx (p(x) w q(x)), 5p(b), 5q(a) Reemplazando el cuantificador universal con a, obtenemos la siguiente línea del cuadro semántico: p(a) w q(a), 5p (b), 5 q(a)
  • 170. Lógica de Predicados 165 Ahora debemos instanciar la fórmula universal con b, ya que debe ser cierta para todos los elementos del dominio, pero desafortunadamente, la fórmula ha sido ya utilizada en la construcción del cuadro. Para evitar esto, las fórmulas universales nunca deben ser borradas de la etiqueta de un nodo. Ellas permanecen como reservas de posibles interpretaciones para cada nueva constante (elemento de dominio) que es introducida. De este modo el resultado de la última instanciación con a, será: œx (p(x) w q(x)), p(a) w q(a), 5 p (b), 5 q (a) seguido por: œx (p(x) w q(x)), p(a) w q(a), p(b) w q (b), 5 p(b), 5 q(a) Dejamos como ejercicio la extensión del cuadro utilizando reglas-$, y para demostrar que exactamente una rama del cuadro está abierta, definimos el modelo: v (p (a)) = v (q (b)) = V v (p (b)) = v (q (a)) = F De esta forma existe un contra-ejemplo a la negación de la fórmula, o sea que, la fórmula es falsa, lo que es equivalente a decir que la fórmula no es válida. Una posible objeción a este procedimiento, es que podemos crear más elementos de dominio que los necesarios. Sin embargo, aún si se han creado "demasiados" elementos del dominio, las relaciones pueden ser definidas para tratar a todos los elementos de manera idéntica: p(a1) = p(a2) = p(a3) = .... = V q(a1) = q(a2) = q(a3) = .... = F Luego, busquemos un modelo para la fórmula A = A1 v A2 v A3, donde: A1 = œx›y p(x, y) A2 = œx5p(x, x) A3 = œxœyœz(p(x, y) v p(y, z) ⇒ p(x, z)) Obviamente, las primeras dos etapas pueden ser reglas-" para descomponer la conjunción para obtener el conjunto de fórmulas: A1, A2, A3 Ahora tenemos un problema menor, ya que debemos instanciar las fórmulas cuantificadas universalmente, pero no se han introducido constantes por intermedio de las fórmulas existenciales. Recalcamos que la definición de una interpretación requiere que el dominio no sea un conjunto vacío, de forma tal que podemos elegir arbitrariamente un elemento a1, el cual se encuentra en el dominio. La construcción del cuadro continua a través de la instanciación de A1 para obtener la siguiente subfórmula ›yp(a1, y) y luego realizar la instanciación de la fórmula existencial con una
  • 171. Lógica de Predicados 166 nueva constante (Figura 5.4). Notar que ya que A1 es universal, la misma es copiada en la etiqueta de un nuevo nodo. Figura 5.6.2: Cuadro Semántico para A1 v A2 v A3 œx ›y p(x, y), A2, A3 ⇓ œx ›y p(x, y), ›y p(a1, y), A2, A3 ⇓ œx ›y p(x, y), p(a1, a2), A2, A3 Continuando, la nueva constante a2 debe ser utilizada para instanciar nuevamente a A1 (Figura 5.6.2). Este proceso no finalizará. En lugar de ello, creamos una secuencia de finalización de elementos de dominio a1, a2, .... de forma tal que p(ai, ai+1) debe ser verdadero. También podemos instanciar A2 o A3 con cualquier constante que no cierre o finalice al cuadro semántico. En tal caso tenemos un cuadro que no cierra ni termina y al cual lo definimos como un modelo infinito, o sea, un modelo con un dominio infinito. De hecho, (ù, {<}) es un modelo para la fórmula A. Figura 5.6.3: Cuadro Semántico para A1 v A2 v A3, continuación œx ›y p(x, y), p(a1, a2), A2, A3 ⇓ œx ›y p(x, y), p(a1, a2), A2, A3 ⇓ œx ›y p(x, y), p(a2, a3), p(a1, a2), A2, A3 Teorema 5.6.1: La fórmula A = A1 v A2 v A3 no tiene modelos finitos. Demostración: Supongamos que A tiene un modelo finito. Entonces es posible construir una rama abierta para el cuadro. En algún punto cuando instanciamos ›y p(ai, y) debemos elegir una constante que represente a los mismos elementos de dominio tal como aj para j # i para obtener la fórmula . Si j = i, p(ai, ai), producirá el cierre del cuadro cuando se está instanciando a A2 con ai para dar 5 p(ai, ai). Si j < i , entonces tendremos: p(aj, aj+1), p(aj+1, aj+2), .... , p(ai-1 , ai) están alrededor del nodo etiquetado. Desde p(aj, aj+1) y p(a1, aj+2), por instanciación de A3 y utilizando las reglas-$, obtenemos p(aj, aj+2). Repitiendo el proceso, p(aj, ai)
  • 172. Lógica de Predicados 167 eventualmente será obtenida en el nodo etiquetado. Pero conjuntamente con p(aj, aj) obtenido por la instanciación original ocasiona el cierre del cuadro cuando es instanciado A2. Debemos desarrollar la maquinaria teórica para tratar con dominios infinitos. Podemos concluir también que la construcción de un cuadro semántico no es un procedimiento de decisión para validar el cálculo de predicado. Podemos no conocer nunca si una rama que no está cerrada define realmente un modelo infinito o si será eventualmente cerrada, por ejemplo, en una secuencia de un millón de aplicaciones de la reglas del cuadro. Por supuesto, esto no prueba que no exista un procedimiento de decisión para el cálculo de predicado, solo que el método del cuadro semántico no es un procedimiento de decisión. Una complicación final en la construcción de la tabla semántica está dada por la fórmula: A1 v A2 v A3 v œx (q(x) v 5 q(x)) tal que A1, A2, A3, œx (q(x) v 5 q(x)) En el cálculo proposicional, las fórmulas siempre simplifican, tal que cada fórmula en la etiqueta de un nodo eventualmente tiene una regla aplicada a ella. Sin embargo, una vez que requerimos que fórmulas cuantificadas universalmente no sean borradas, podemos finalmente aplicar reglas a A1 y nunca rodearla utilizando la cuarta subfórmula, la cual cierra inmediatamente el cuadro. De esta manera, una construcción semántica es necesaria para asegurar qué reglas serán eventualmente aplicadas a todas las fórmulas etiquetando un nodo del cuadro. La presentación formal de la construcción de un cuadro semántico para el cálculo de predicados está dado a través de dos etapas. Las primeras reglas son presentadas para los cuantificadores universales y existenciales y proporcionan además la estabilidad. Luego se describe la construcción sistemática del cuadro y es utilizada para proporcionar integridad al procedimiento. Como en el caso proposicional, generalizamos las reglas en dos tipos diferentes: reglas-( para las fórmulas universales y reglas-* para fórmulas existenciales (Figuras 5.6.4 y 5.6.5). Recalcar la notación para la construcción de los cuadros semánticos. Un nodo n sobre el árbol está etiquetado con un conjunto de fórmulas U(n). Si la hoja I contiene literales complementarios, la rama está cerrada. De otro modo se selecciona alguna rama abierta en una fórmula A y se aplica una regla que depende de la estructura de A. Las reglas -" y -$ se mantienen como antes. Si A es una fórmula cuantificada, existen dos casos nuevos para agregar, a saber:
  • 173. Lógica de Predicados 168 Construcción del Cuadro Semántico * Si A es una fórmula ( (tal como œx A1(x)), crear un nuevo nodo l' como un hijo de l y etiqueta l' con: U(l') = U(l) c {((a)} donde a es alguna constante que aparece en U(l). * Si A es una fórmula * (tal como ›x A1(x)), crear un nuevo nodo l' como un hijo de l y etiqueta l' con: U(l') = (U(l) - {A}) c {*(a)} donde a es alguna constante que no aparece en U(l). Final de la Construcción ( ((a) œxA(x) A(a) 5›xA(x) 5A(a) Figura 5.6.4: Reglas de Cuadro para Fórmulas Universales * *(a) ›xA(x) A(a) 5œxA(x) 5A(a) Figura 5.6.5: Reglas de Cuadro para Fórmulas Existenciales La regla-* para cuantificadores existenciales es integra y directa. La regla-( para cuantificadores universales, es sin embargo la única regla que no reemplaza una fórmula por una o más fórmulas simples. En lugar de ello agrega una fórmula simple mientras deja la fórmula cuantificada como parte de la etiqueta del nodo. Esto último es utilizado para asegurar que el cuantificador universal será aplicado a una nueva constante que aún no fue introducida. Teorema 5.6.2: (Estabilidad de la construcción del cuadro) Sea A una fórmula en el cálculo de predicados y sea T un cuadro para A. Si T es cerrada, entonces A es no cumplimentada.
  • 174. Lógica de Predicados 169 La estabilidad muestra que si T cierra, entonces A no es cumplimentada independientemente del orden en el cual fueron aplicadas las diferentes reglas. Sin embargo, la construcción del cuadro no está completa a menos que haya sido construida sistemáticamente. La ayuda de la construcción sistemática es para asegurar que las reglas son aplicadas eventualmente a todas las fórmulas en la etiqueta de un nodo y en el caso de fórmulas cuantificadas universalmente, de forma tal que es creada una instancia para todas las constantes que aparecen. La etiqueta para un nodo U(n) no será más un conjunto de fórmulas: U(n) = {A1, ....., Ak} si que en su lugar será una lista de fórmulas: U(n) = [A1, ....., Ai-1 * Ai, ....., Ak] La diferencia entre conjunto y lista de fórmulas, es que la lista está ordenada. La barra " *" es usada para indicar la posición actual del puntero dentro de la lista, la i- ava fórmula Ai. Además, un nodo está etiquetado con una lista de todas las constantes utilizadas en todas las instanciaciones de la fórmulas en los nodos sobre la rama o arco a partir de la raíz de este nodo: A = [a1, ....., aj-1 * aj, ....., am] Finalmente, mantenemos una lista de las hojas sin marcar: ‹ = [l1, ....., lr-1 * lr, ....., ln] Construcción Sistemática de un Cuadro Semántico Seleccionar la próxima hoja lr a partir de la lista ‹. lr está etiquetado con una lista de fórmulas U(lr): [A1, ....., Ai-1 * Ai, ....., Ak] y una lista de constantes A: [a1, ....., aj-1 * aj, ....., am] Si U(lr) contiene un par complementario de literales, borrar lr a partir de la lista de hojas. De otro modo, extender el cuadro de acuerdo a los casos sobre la estructura de la fórmula Ai: * Si Ai es un literal, entonces: U(l') = [A1, ....., Ai-1, Ai * Ai+1 , ....., Ak] A' = A ‹' = [l1, ....., lr * lr+1, ....., ls]
  • 175. Lógica de Predicados 170 • Si Ai es una fórmula-", de la forma siguiente A' v A", entonces: U(l') = [A1, ....., Ai-1 * Ai+1 , ....., Ak, A', A"] A' = A ‹' = [l1, ....., lr * lr+1, ....., ls, l'] * Si Ai es una fórmula-$, de la forma siguiente A' w A", entonces: U(l') = [A1, ....., Ai-1 * Ai+1 , ....., Ak, A'] A' = A U(l") = [A1, ....., Ai-1 * Ai+1 , ....., Ak, A"] A" = A ‹' = [l1, ....., lr * lr+1, ....., ls, l', l"] * Si Ai es una fórmula-(, de la forma siguiente œxA'(x), entonces: U(l') = [A1, ....., Ai-1 , Ai * Ai+1 , ....., Ak, A'(aj)] A' = [a1, ....., aj-1, aj *aj+1 , ....., am] ‹' = [l1, ....., lr * lr+1, ....., ls, l'] Si j = m, definimos a A' de la siguiente forma: A' = [ *a1 , ....., am] * Si Ai es una fórmula-*, de la forma siguiente ›xA'(x), entonces: U(l') = [A1, ....., Ai-1 , Ai * Ai+1 , ....., Ak, A'(am+1)] A' = [a1, ....., aj-1, aj *aj+1 , ....., am, am+1] ‹' = [l1, ....., lr * lr+1, ....., ls, l'] donde am+1 es la nueva constante no en A. Final de la Construcción Inicialmente la etiqueta de la raíz es U(n0) = [* A], donde A es la fórmula cuyo cuadro estamos creando, la lista de las constantes es A = [ * a1, ....., am] donde A = { a1, ....., am} es el conjunto de las constantes que aparecen en A y la lista de hojas es [* n0]. Si no existen constantes en A, elegir una constante arbitraria a y seleccionar A = [* a]. En otras palabras: los literales atraviesan creando un nodo superfluo. Las fórmulas -" y -$ se comportan de la misma forma que en los casos anteriores -la fórmula original es borrada y reemplazada por sub fórmulas. Las fórmulas -( permanecen en la etiqueta y además se crea una instancia con la próxima constante de la lista. Las fórmulas -* son borradas y reemplazadas por una instancia usando una nueva constante. La construcción está definida de tal manera que el siguiente Lema es verdadero:
  • 176. Lógica de Predicados 171 Lema 5.6.3: Sea b una rama abierta del cuadro sistemático, n un nodo de b, y A una fórmula de U(n). Luego se aplica una regla a A (eventualmente durante la construcción) para algún nodo n' sobre b, tal que n' $ n. Además, si A es una fórmula -( y a es una constante que aparece en b, entonces sobre tal n', la regla -( crea una instancia de A con a. Ahora proporcionamos la integridad de la construcción sistemática del método del cuadro o tabla para el cálculo de predicado, de la misma forma que se hizo en el cálculo proposicional, o sea que, definimos el Conjunto de Hintikka, mostrando que las fórmulas que etiquetan nodos en una rama abierta del cuadro, forma un conjunto de Hintikka y finalmente mostraremos que dicho conjunto de Hintikka puede ser extendido al modelo considerado. Definición 5.6.4: Sea U un conjunto de fórmulas en el cálculo de predicados. El conjunto U es un Conjunto de Hintikka si se cumplen las siguientes condiciones para todas las fórmulas A 0 U: 1.- Si A es una fórmula atómica, ya que A ó U o 5 A ó U. 2.- Si A es una fórmula -", A' 0 U y A" 0 U. 3.- Si A es una fórmula -$, A' 0 U o A" 0 U. 4.- Si A es una fórmula -(, tal que œx A'(x), A'(a) 0 U para todas las constantes a en U. 5.- Si A es una fórmula -*, tal que ›x A'(x), A'(a) 0 U para alguna de las constantes a en U. Teorema 5.6.5: (Lema de Hintikka para el Cálculo de Predicado) Sea b una rama abierta de un cuadro sistemático y U = Un∈b U(n). U es el conjunto de Hintikka. Demostración: Sea A una fórmula en U. Ya que b está abierta, si A es una fórmula atómica, 5 A ó U. Si A no es atómica, por el Lema 5.5.3 eventualmente se aplica una regla a A. Si A no es una fórmula cuantificada universalmente, por construcción se deduce inmediatamente el lema de Hintikka. De otro modo, por la segunda mitad del Lema 5.5.3, para cualquier constante arbitraria a en U, eventualmente se aplica la regla - ( a la fórmula A para crear una instancia con a. Ya que a fue arbitraria, se cumple la condición 4 y también se cumple el lema de Hintikka. & Lema 5.6.6: Sea U un conjunto de Hintikka. Por lo tanto existe un modelo (se valida la interpretación) para U. Demostración: Sea A = {a1, ....} el conjunto de constantes que aparecen en las fórmulas de U. Definimos una interpretación I de la siguiente forma.
  • 177. Lógica de Predicados 172 El dominio es el mismo conjunto de símbolos {a1, ....} usados como constantes en U y el símbolo del dominio ai es asignado al símbolo constante ai. Para cada lugar- m del predicado pi en U, definimos una relación Ri de m lugares de la siguiente forma: (a1, ...., am) 0 Ri si p(a1, ...., am) 0 U (a1, ...., am) 0 Ri si 5 p(a1, ...., am) ó U (a1, ...., am) ó Ri si 5 p(a1, ...., am) 0 U La relación está bien definida por la Condición 1 de la definición de los conjuntos de Hintikka. & Teorema 5.6.7: (Integridad de la Construcción del Cuadro Semántico) Sea A una fórmula válida en el cálculo de predicado. Por lo tanto la construcción sistemática es cerrada para el cuadro semántico de 5 A. Demostración: Supongamos que el cuadro para 5 A no está cerrado. Luego existe una rama abierta b tal que U, la unión de las etiquetas de los nodos sobre b, forman un conjunto de Hintikka a través del Lema de Hintikka. Por el Lema 5.5.6 existe un modelo I para U. Pero 5 A 0 U, tal que I ⎥= 5 A contradiciendo de esta forma de que A es válida. & ===========================
  • 178. Lógica de Predicados 173 5.7.- PROBLEMAS CAPITULO V 1.- Para cada uno de los predicados siguientes, halle un universo de discurso adecuado dentro de la lista siguiente: números reales, enteros, seres humanos y animales. a) pájaro (x) b) está casado(x) c) par(x) d) negativo(x) e) madre(x, y) f) tiene alas(x) 2.- Confeccione las tablas de verdad de los siguientes predicados siendo el universo de discurso el conjunto U = { 1 , 2 , 4 , 8} a) P ( x ): x es primo b) Q( x ): x es potencia de 2 c) R( x , y ): x es mayor o igual que y d) S ( x , y ): x es divisor de y e) T( x , y ): x es el doble de y 3.- Exprese las siguientes frases en cálculo de predicados suponiendo que el Universo de Discurso es: I ) El conjunto de los Nº Naturales; II ) El conjunto de los Nº Enteros. a) Todos los números naturales son pares b) No existen números naturales negativos. c) Por lo menos un número natural es múltiplo de 3. d) Ningún número natural es raíz de la ecuación x2 + 1 = 0 e) Los números naturales son primos. 4.- En el dominio de los números naturales, ¿cómo traduciría las frases siguientes? a) Algunos números primos son pares b) Todos los números pares son mayores que 1 c) Los números pares son primos solamente si son menores que 3 d) No hay primos menores que 3. 5.- En el dominio de los animales ¿Cómo traduciría las expresiones siguientes? a) Todos los leones son predadores. b) Algunos leones viven en África. c) Sólo rugen los leones. d) Algunos leones comen cebras. e) Algunos leones solo comen cebras. 6.- Traduzca las siguientes frases al lenguaje de cálculo de predicados. Suponga que el universo está formado por todas las personas. a) Alguien que es amable con todo el mundo. b) Todos queremos a alguien. c) Nadie es cariñoso con todos los demás. 7.- Particularice: a) S3 x (P(x)) b) Sa x (P(x) ⇒ Q(b)) c) Sb y (P(a) ∧ Q(y)) d) Sa x (P(x) ∧ Q(y) ∧ R(x, y))
  • 179. Lógica de Predicados 174 8.- Hallar las variables libres y ligadas en a) œx P(x, y) v Q(y) b) œx›y (P(x, y, z) v Q (y, z)) w R(x) 9.- Examine las posibles interpretaciones de œx P ( x ) , › x P ( x ), œx 5 P( x ) en el Universo siguiente {a, b, c}, sabiendo que: a) a b c P(x) V V V b) a b c P(x) V F F c) a b c P(x) F F F 10.- Un universo contiene los tres individuos a , b y c. Para estos individuos, se define un predicado Q( x , y ) y sus valores de verdad están dados por la tabla siguiente: Q(x, y) a b c a V F V b F V V c F V V Encuentre el valor de verdad de: a) œx Q(x, c) b) œy Q(a, y) c) ›x›y Q(x, y) d} œx›y Q(x, y) e) œxœy Q(x, y) f) ›xœy Q(x, y) 11.- Los predicados P ( x , y ) y Q ( x , y ) están definidos en el universo U = { A , B ,C } y sus valores de verdad están dados por las siguientes tablas:
  • 180. Lógica de Predicados 175 P(x, y) A B C Q(x, y) A B C A V V F A F F V B F V V B V F V C V V V C F V V Encuentra el valor de verdad de: a) œxœy P(x, y) w ›x›y Q(x, y) b) ›yœx P(x, y) v ›yœx Q(x, y) c) 5 (›xœy P(x, y) w ›xœy Q(x, y)) d) ›y P(A, y) v 5œy Q(B, y) 12.- Sea un universo de discurso que consta de tres personas solamente, a saber, Juan, Juana y María. Los tres son alumnos, y ninguno de ellos es rico. Denote con A(x), M(x), V(x) y R(x) a las propiedades de ser alumno, mujer, varón y rico respectivamente. Confeccione una tabla con los valores de verdad de los predicados A, M , V y R, y encuentre el valor de verdad de: 13.- Dada la siguiente frase en lenguaje coloquial: “Solamente los vecinos de Juan tienen trabajo” a) Formalícela en el lenguaje de cálculo de predicado: b) Evalúela en el dominio: D = { Pedro, Juan, Luis, Carlos }, sabiendo que: 1.- Pedro tiene trabajo pero Juan y Luis no 2.- Pedro y Luis son vecinos de Juan 3.- Carlos no tiene trabajo y no es vecino de Juan. 14.- Considere la siguiente expresión: œx P(x) w œx (Q(x) ⇒ P(x)). Traslade todos los cuantificadores universales al comienzo de esta expresión. 15.- Considere la siguiente expresión: ›x P(x) v ›x (Q(x) ⇒ P(x)). Traslade todos los cuantificadores existenciales al comienzo de la expresión. 16.- Niegue las siguientes expresiones: a) œn 0 ù, n < 3 b) › n 0 ù / n 3 - n = 0 c) œn 0 ù, (n + 1) 2 = n 2 + 2n + 1 d) › n 0 ù / n 2 + 1 = 0 e) œx 0 ú, x 2 > x f) œx 0 ú / *x* = x g) › x 0 ú, x 2 + 3x - 6 + 0 h) › x 0 ú / 1/x ó ú i) › x / x > 1 v x 2 = 9 j) œx , [ x … 0 ⇒ x 2 > 0]
  • 181. Lógica de Predicados 176 17.- Interprete las equivalencias dadas en la siguiente tabla, pues la usará posteriormente TABLA 1 EQUIVALENCIAS QUE IMPLICAN CUANTIFICADORES œx A / A Si x no es libre en A ›x A / A Si x no es libre en A œx A / œy SX y A v œx A Si y no es libre en A ›x A / ›y SX y A w ›x A Si y no es libre en A œx A / SX t A Para cualquier término t ›x A / SX t A Para cualquier término t œx(A w B) /A w œx B Si x no es libre en A ›x(A v B) / A v ›x B Si x no es libre en A œx(A v B) / œx A v œx A ›x(A w B) / ›x A w ›x B œxœy A / œyœx A ›x›y A / ›y›x A 5 ›x A /œx 5 A 5 œx A /›x 5 A 18.- Encuentre la negación de las siguientes proposiciones: a) ›x(P(x) ∨ Q(x)) b) œx(A(x) v 5 B(x)) c) œx›y [(A(x, y) v B(x, y)) ⇒ C(x, y)] d) œx›y [P(x, y) ⇒ (R(x, y) w S(x, y))]
  • 182. Lógica de Predicados 177 19.- Probar que las siguientes fórmulas son válidas para todas las interpretaciones, utilizando cuadro semántico: (a) œx A(x) ≡ 5›x 5A(x) (b) ›x A(x) ≡ 5œx 5A(x) (c) œx A(x) ⇒ ›x A(x) (d) ›xœy A(x, y) ⇒ œy›x A(x, y) (e) œxœy A(x, y) ≡ œyœx A(x, y) (f) ›x›y A(x, y) ≡ ›y›x A(x, y) (g) ›x(A(x) w B(x)) ≡ (›x A(x) w ›x A(x)) (h) œx(A(x) v B(x)) ≡ (œx A(x) v œx A(x)) (i) (œx A(x) w œx B(x)) ⇒ œx(A(x) w B(x)) (j) ›x(A(x) v B(x)) ⇒ (›x A(x) w ›x B(x)) (k) œx(A(x) ≡ B(x)) ⇒ (œx A(x) / œx B(x)) (l) (›x A(x) w B) ≡ ›x(A(x) w B) (m) (œx A(x) w B) ≡ œx(A(x) w B) (n) (›x A(x) v B) ≡ ›x(A(x) v B) (o) (œx A(x) v B) ≡ œx(A(x) v B) (p) œx(A ⇒ B(x)) ≡ (A ⇒ œx B(x)) (q) œx(A(x) ⇒ B) ≡ (›x A(x) ⇒ B) (r) œx(A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ œx B(x)) (s) œx(A(x) ⇒ B(x)) ⇒ (œx A(x) ⇒ ›x B(x)) =============================
  • 183. Formas Clausales 178 LÓGICA COMPUTACIONAL CAPITULO VI FORMAS CLAUSALES 6.1.- DERIVACIÓN: Generalización y Particularización En las secciones siguientes describiremos la forma de hacer derivaciones en el cálculo de predicados. En particular, se dan las reglas necesarias para insertar y eliminar cuantificadores universales y existenciales. La utilización de estas reglas se demostrará mediante ejemplos. También presentaremos un concepto nuevo, la unificación. La unificación goza de amplia difusión en los lenguajes de programación lógicos y funcionales. 6.1.1.- PARTICULARIZACIÓN UNIVERSAL A partir de œx A(x) debería ser posible derivar A(t) para cualquier término t. Por ejemplo si, A(x) significa “x está dormido”, entonces œx A(x) significa “todo el mundo está dormido”, y de aquí debería ser posible derivar, por ejemplo, que Juan está dormido. Más formalmente, si x representa una variable, t representa un término y A representa una expresión, entonces la expresión siguiente debería ser válida: œx A /> St x A La validez de esta expresión deriva de la definición de œx: si A es verdadera para todo x, entonces debe ser verdadero para x = t. Sin embargo, existe una pequeña dificultad que se indico en los capítulos anteriores. La sustitución no debe dar lugar a una colisión de variables. En otras palabras, t no debe transformarse en una variable ligada de ningún cuantificador que pudiera quedar. La implicación lógica dada por la expresión anterior puede convertirse en una regla de inferencia de la siguiente forma: œx A St x A Esta regla de inferencia se denomina Particularización Universal y se abrevia en la forma de UI. Por ejemplo, la particularización universal nos permite concluir que: œx (gato (X)⇒ tiene cola (x)) gato (Tom) ⇒ tiene cola (Tom) De manera similar, de A(y) obtenemos œx A(x), porque Sy x A(x) = A(y). También se admite la particularización trivial, Sy x A(x) , que deja a A sin cambios. Consiguientemente, de œx A(x) podemos concluir A(x).
  • 184. Formas Clausales 179 Ejemplo 6.1: Vamos a ver ahora algunas derivaciones. La primera derivación es la siguiente. Las premisas de la misma son: Todos los seres humanos son mortales. Sócrates es un ser humano. A partir de esas premisas, demostraremos que: Sócrates es mortal. Para realizar la correspondiente derivación, supongamos que H(x) indica que x es humano, y M(x) indica que él o ella es mortal. Además, S representa a Sócrates. Tal como en el capítulo 3, indicamos la línea de la que se deriva cada sentencia, así como la regla que se aplica. En el caso de una Regla UI, nos limitamos a exponer la particularización S x t . La derivación se indica en la Figura 6.1.1. Demostrar: œx (H(x) | M(x)), H(S) | M(S) Derivación Formal Regla de Inferencia Comentario 1.- œx (H(x) ⇒ M(x)) Premisa Todos los humanos son mortales 2.- H(S) Premisa Sócrates es mortal 3.- H(S)⇒ M(S) 1. S X S Si Sócrates es humano, entonces es mortal. 4.- M(S) 2, 3 MP Por lo tanto, Sócrates es mortal. Modus Ponens a las líneas 2 y 3. Figura 6.1.1: Demostración de la mortalidad de Sócrates Ejemplo 6.2: Como segundo ejemplo, derivamos que Pablo es hijo de David a partir de las siguientes premisas: David es el padre de Pablo. Pablo no es la hija de David. Toda persona cuyo padre sea David debe ser o bien su hijo o bien su hija. La correspondiente demostración se encuentra en la Figura 6.1.2. Para ahorrar espacio en la demostración, utilizamos las siguientes abreviaturas: f(x, y): x es el padre de y s(x, y): x es el hijo de y d(x, y): x es la hija de y Además, utilizaremos D en lugar de David y P en lugar de Pablo. La derivación utiliza el Silogismo Disyuntivo (SD), que nos permite escribir B, una vez que se ha determinado que 5 A y que A w B están establecidos.
  • 185. Formas Clausales 180 Demostrar: œx (f(D, x) ⇒ s(x, D) w d(x, D)), f(D, P), 5 d(P, D) | s(P, D) Derivación Formal Regla de Inferencia Comentario 1.- œx (f(D, x) | s(x, D) w d(x, D)) Premisa Toda persona cuyo padre sea David, debe ser o bien su hijo o bien su hija 2.- f(D, P) Premisa David es el padre de Pablo 3.- 5 d(P, D) Premisa Pablo no es la hija de David 4.- f(D, P) | s(P, D) w d(P, D) 1. S X S Esto particulariza la línea 1 para Pablo 5.- s(P, D) w d(P, D) 2, 4 MP Se aplica Modus Ponens a las líneas 2 y 4 6.- s(P, D) 3, 5 SD Según el Silogismo Disyuntivo, si Pablo no es una hija (línea 3) entonces tiene que ser un hijo Figura 6.1.2: Demostración de que Pablo es hijo de David 6.1.2.- GENERALIZACIÓN UNIVERSAL Si A es cualquier expresión o enunciado lógico y si x es una variable que no es libre en ninguna premisa, entonces tenemos que: A œx A Esta regla de inferencia se denomina Generalización Universal (GU). Dado que x queda ligada en el proceso, decimos que la generalización universal es con respecto a x, o bien que se generaliza sobre x. Debemos hacer notar que la generalización universal está sometida a restricciones. Si se generaliza sobre x, entonces x no debe aparecer en ninguna premisa como variable libre. Si x aparece como variable libre en alguna premisa, entonces x se refiere al mismo, y está fijada en ese sentido. Por ejemplo, si P(x) aparece en una premisa, entonces P(x) sólo es verdadero para x, y no es necesariamente verdadero para ningún otro individuo. Si x está fijado, entonces no se puede generalizar sobre x. Las generalizaciones que parten de un solo individuo para llegar a toda una población son incorrectas. Por otra parte, si x no aparece en ninguna premisa o si x está ligada en todas las premisas, entonces se supone que x representa a cualquier individuo, y se puede aplicar sin restricción la generalización universal. Para demostrar la generalización universal desarrollaremos algunos ejemplos. Ejemplo 6.3: Consideremos el dominio de un grupo de alumnos de ciencias de la computación. Por supuesto, a todos los alumnos de ciencias de la computación les gusta La programación. La derivación tiene que demostrar que a todos los del dominio les gusta la programación. Si P(x) y Q(x) denotan las siguientes expresiones “x es un alumno de ciencias de la computación” y “a x le gusta la programación”,
  • 186. Formas Clausales 181 respectivamente, entonces las premisas pasan a ser: œx P(x), œx (P(x) ⇒ Q(x)) La conclusión deseada sería: œx Q(x) La demostración se da en la Figura 6.1.3. En la demostración, Q(x) se deriva en la línea 5, que significa que a x le gusta la programación. Esta frase se generaliza entonces a œx Q(x). Esta generalización sólo es posible porque todos los casos de x que aparecen en las premisas están ligados. Si la premisa œx P(x) se sustituye por P(x), entonces la particularización universal sobre x ya no es correcta. Esto sucede porque x queda fijada y la generalización universal sobre variables fijas no es correcta. Demostrar: œx P(x), œx (P(x) ⇒ Q(x)) | œx Q(x) Derivación Formal Regla de Inferencia Comentario 1.- œx P(x) Premisa Todos los alumnos de Ciencias de la Computación 2.- œx (P(x) | Q(x)) Premisa A los alumnos de CC les gusta la programación 3.- P(x) 1. S X X x es un alumno de CC 4.- (P(x) | Q(x)) 2. S X X Si x es un alumno de CC, entonces le gusta la programación. 5.- Q(x) 3, 4 MP Se aplica Modus Ponens a las líneas 2 y 4. A x le gusta la programación 6.- œx Q(x) 5 GU Según la Generalización Universal. A todos le gusta la programación. Figura 6.1.3: Ejemplo de Generalización Universal Ejemplo 6.4: Derivaremos œyœx P(x, y) a partir de œxœy P(x, y). Esta derivación se desarrolla en la Figura 6.1.4. Esto confirma el hecho de que los cuantificadores universales se pueden intercambiar. En la Figura 6.1.5 se da un tercer ejemplo de la Generalización Universal, ejemplo que muestra que la variable x de un cuantificador universal se puede cambiar por la variable y. Demostrar: œxœy P(x, y) | œyœx P(x, y)
  • 187. Formas Clausales 182 Derivación Formal Regla de Inferencia Comentario 1.- œxœy P(x, y) Premisa 2.- œy P(x, y) 1. S X X Se particulariza la línea 1, eliminando el primer cuantificador universal 3.- P(x, y) 2. S Y Y Se elimina el segundo cuantificador para obtener una expresión sin cuantificar. Se emplea GU para añadir los cuantificadores en orden inverso. 4.- œx P(x, y) 3 GU Es correcto generalizar, porque la premisa no contiene a x como variable libre. Todas las apariciones de x dentro de la premisa están ligadas.. 6.- œx Q(x) 4 GU Se generaliza de nuevo para obtener la conclusión deseada. Figura 6.1.4: Demostración de validez del intercambio de cuantificadores Ejemplo 6.5: Sustitución de variables. Demostrar: œx P(x) | œy P(y) Derivación Formal Regla de Inferencia Comentario 1.- œx P(x) Premisa 2.- P(x) 1. S X Y Se ejemplariza la premisa para y 3.- œy P(y) 2, GU Se generaliza la línea para obtener la conclusión deseada. Figura 6.1.5: Demostración de la Sustitución de Variables 6.1.3.- TEOREMA DE LA DEDUCCIÓN Y LA GENERALIZACIÓN UNIVERSAL En el teorema de la deducción, se supone B, se demuestra C empleando a B como premisa, y se concluye que B | C. Una vez que se ha realizado lo anterior, prescindimos de B. Ahora la cuestión es lo que hay que hacer con las variables libres que aparezcan en B. En primer lugar, B se utiliza como suposición, esto es, mientras no prescindamos de B, hay que tratar a B como a cualquier otra premisa. En particular, si B contiene a x como variable libre, entonces no hay que generalizar sobre x. Sin embargo, en cuanto prescindamos de B, esto no sera así. Una vez que hemos prescindido de B, no tiene efecto alguno sobre el estado de ninguna variable. Por tanto, si x no es libre en ninguna otra premisa, es posible generalizar sobre x aun cuando x aparezca como variable libre sobre B. El teorema de la deducción se demuestra a continuación mediante el siguiente ejemplo.
  • 188. Formas Clausales 183 Ejemplo 6.6: Supongamos que S(x) denota a la expresión “x ha estudiado” y que P(x) denota la expresión “x ha aprobado”. La premisa es que todo el que haya estudiado ha aprobado. Demostrar que los que no hayan aprobado no han estudiado. La premisa “todo el que ha estudiado, ha aprobado” se puede traducir como la siguiente fórmula o expresión lógica œx (S(x) | P(x)) y la frase “los que hayan aprobado, no han estudiado” pasara a ser œx (5 P(x) | 5 S(x)) La Figura 6.1.6 ofrece una derivación. Para obtener el resultado, se introduce la suposición 5 P(x) en la línea 3. Mientras no se haga uso de esta suposición, no se permitirá hacer una generalización con respecto a x. Para indicar que estamos bajo los efectos de una suposición, se han sangrado las líneas 3 y 4. Sin embargo, después de aplicar el teorema de la deducción se elimina el sangrado y se prescinde de la suposición 5 P(x), y ya se puede generalizar sobre x. Esto se hace en la línea 6. En todos los demás aspectos, la demostración se documenta a si misma. œx (S(x) | P(x)) es una premisa y de ella se sigue que 5 P(x) | 5 S(x). Para llegar a la conclusión deseada, se utiliza la generalización universal. Esto se puede realizar puesto que la variable x no es libre en ninguna premisa. Demostrar: œx (S(x) ⇒ P(x)) | œx (5 P(x) ⇒ 5 S(x)) Derivación Formal Regla de Inferencia Comentario 1.- œx (S(x) ⇒ P(x)) Premisa Todo el que estudia aprueba 2.- S(x) | P(x) 1. S X X Si x ha estudiado, ha aprobado 3.- 5 P(x) Suposición Supongamos que x no aprobó 4.- 5 S(x) 2, 3, MT x no puede haber estudiado: esto se sigue de las líneas 2 y 3 por Modus Tollens 5.- 5 P(x) ⇒ 5 S(x) TD Se aplica el Teorema de la Deducción y se prescinde de 5 P(x) 6.- œx (5 P(x) ⇒ 5 S(x)) 5, GU Todo el que no haya aprobado, no puede haber estudiado. Obsérvese que esta generalización es posible porque x no es libre en ninguna premisa.. Figura 6.1.6: Demostración empleando el Teorema de la Deducción (TD) 6.1.4.- ELIMINACIÓN DE LOS CUANTIFICADORES UNIVERSALES En matemáticas, es frecuente omitir los cuantificadores universales. Por ejemplo, en la afirmación o proposición x + y = y + x, tanto x como y tienen implícitamente una cuantificación universal. Esto da lugar a problemas cuando se utilizan estas declaraciones como premisas, porque de acuerdo con nuestras reglas toda variable que aparezca libre en una premisa es fija, en el sentido de que a lo largo de toda la demostración estará asociada a un único individuo. Para soslayar esta dificultad, aislamos ciertas variables en las premisas e indicamos explícitamente que estas variables no son fijas. Todas las variables que no sean fijas se denominarán
  • 189. Formas Clausales 184 variables verdaderas. Una variable se puede generalizar universalmente si y sólo si es una variable verdadera. Si una variable aparece en una premisa, entonces se supone que es fija, a no ser que se indique explícitamente que se trata de una variable verdadera. Al usar variables verdaderas, se pueden omitir los cuantificadores universales, y esto, a su vez, simplifica las demostraciones. Además, de ahora en adelante, permitiremos que cualquier variable verdadera se pueda particularizar como cualquier término. Se puede conseguir el mismo efecto, desde luego, empleando primero una generalización universal, seguida por una particularización universal. Sin embargo, la particularización directa es más breve, y suele ser más clara. Hasta el momento, hemos representado a las particularizaciones mediante el símbolo S, tal como S X Y. Desde ahora en adelante, utilizaremos frecuentemente la notación x := y para indicar que x se sustituye por y. Esta notación resultará natural para quienes programan en Pascal, donde el símbolo empleado significa “asignar”, que es lo mismo que “particularizar”. Por lo tanto, en lugar de poner “se particulariza x como a”, pondremos “línea n con x := a”, o simplemente de la siguiente forma “n con x := a”. Ejemplo 6.7: Sea P(x, y, z): x + y = z. Dadas las premisas P(x, 0, x) y P(x, y, z) ⇒ P(y, x, z) donde x, y, z son variables verdaderas, demostrar que 0 + x = x, o sea, P(0, x, x). Solución: Se utiliza la derivación siguiente para demostrar que P(0, x, x). Obsérvese que la dos primeras líneas son premisas, y que x, y, z se han declarado explícitamente como variables verdaderas. 1. P(x, y, z) ⇒ P(y, x, z) Premisa: x + y = z | y + x = z x, y, z variables verdaderas 2. P(x, 0 , x) Premisa: x + 0 = x; x: variable verdadera 3. P(x, 0, x) | P(0, x, x) Línea 1 con x := x; y := 0; z := x 4. P(0, x, x) Líneas 2, 3, Modus Ponens: 0 + x = x Todas las variables verdaderas son estrictamente locales, pertenecientes a la línea en que aparecen. Por lo tanto, si la variable verdadera x aparece en dos líneas diferentes, entonces estos dos casos de x son realmente dos variables diferentes. Por ejemplo, en la demostración del ejemplo 6.7, la x de la línea 1 y la x de la línea 2 son dos variables diferentes. Cuando se está haciendo la demostración, uno tiene que establecer, evidentemente, algún tipo de conexión entre ambas variables, y esta conexión se efectúa a través de la particularización. Desde luego, las particularizaciones no deben hacerse a ciegas. Más bien, hay que hacer la particularización de tal manera que progresemos hacia la conclusión deseada. La forma en que se hace esto depende de la estrategia. Sin embargo, existen algunos principios generales que sirven de ayuda y uno de ellos es la Unificación. Definición 6.1.1: Se dice que dos expresiones o fórmulas se unifican si existen particularizaciones legales que hagan idénticas las expresiones en cuestión. El acto de unificarlas se denomina unificación. La particularización que unifica a las expresiones en cuestión se denomina un unificador.
  • 190. Formas Clausales 185 Ejemplo 6.8: Q(a, y, z) y Q(y, b, c) son expresiones que aparecen en líneas diferentes. Mostrar que estas dos expresiones se unifican, y dar un unificador. Aquí a, b, y c son fijas e y y z son variables verdaderas. Solución: Dado que la y de Q(a, y, z) es una variable distinta de la y presente en Q(y, b, c), cambiamos de nombre a la y de la segunda expresión para que pase a ser y1. Esto significa que hay que unificar Q(a, y, z) con Q(y1, b, c), Q(a, b, c) es un caso particular de Q(a, y, z) y Q(a, b, c) es un caso particular de Q(y1, b, c). Dado que son idénticos Q(a, y, z) y Q(y, b, c) se unifican. El Unificador es a = y1, b = y, c = z. Pueden existir varios unificadores. Por ejemplo, si a y b son constantes, entonces R(a, x) y R(y, z) tienen el unificador y = a, z = x, que da lugar al caso común R(a, x). Sin embargo, también existe el unificador y = z, x = b, z = b que da lugar al caso común R(a, b). Sin embargo, R(a, b) es un caso de R(a, x), y el unificador y = a, x = b, z = b es menos general en este sentido que el unificador y = a, z = x. Por supuesto, siempre se desea encontrar el unificador más general, si es que existe uno. La solución del Ejemplo 6.7 implicaba una unificación. Concretamente, se unificaba la línea 2 con el antecedente de la línea 1 para hacer uso del Modus Ponens. En general, se aplica la unificación de tal manera que sea posible aplicar alguna regla de inferencia después de la unificación. Ejemplo 6.9: Claramente, si x es la madre de y, y si z es la hermana de x, entonces z es la tía de y. Supongamos ahora que la madre de Braulio es Juana, y que Lola es la hermana de Juana. Demostrar que Lola es tía de Braulio. Solución: Si “madre(x, y)” es un predicado tal que toma el valor verdadero cuando x es la madre de y, y si “hermana(x, y)” y “tía(x, y)” de definen de forma similar, podemos enuncia las premisas de la siguiente forma: 1.- madre(x, y) v hermana(z, x) ⇒ tía(z, y) 2.- madre(Juana, Braulio) 3.- hermana(Lola, Juana) Ahora el problema es crear una expresión que unifique con el antecedente de la línea 1. Para hacer esto, se combinan las líneas 2 y 3, obteniendo: 4.- madre(Juana, Braulio) v hermana(Lola, Juana) Esta expresión se puede unificar con madre(x, y) v hermana(z, x) haciendo los siguientes reemplazos x := Juana, y := Braulio y z := Lola. Esto produce: 5.- madre(Juana, Braulio) v hermana(Lola, Juana) | tía(Lola, Braulio) La conclusión de que Lola es una tía de Braulio se deduce de 4 y 5 por Modus Ponens. Las demostraciones que se acaban de dar son sencillas, en el sentido de que
  • 191. Formas Clausales 186 sólo hay unas pocas expresiones disponibles para la unificación, lo cual hace que sea relativamente sencillo decidir el paso siguiente. En casos más complicados, la selección de posibles expresiones que están disponibles para la unificación es más extensa, y la decisión deja de ser trivial. Para hacer una buena elección en lo referente a las expresiones que hay que unificar a continuación, es preciso pensar en la meta que se persigue. En algunos casos, es necesario considerar todas las expresiones que se puedan derivar, y seleccionar aquella que, en algún sentido, sea la más próxima a la conclusión. Este suele ser un buen sistema, aun cuando falle en algunos casos. En otras ocasiones, esta política no resulta aplicable porque no está claro lo que se encuentra más próximo o más alejado de la conclusión. En este caso, suele servir de ayuda el establecimiento de objetivos intermedios. Además, las derivaciones asociadas a casos similares suelen proporcionar ideas valiosas acerca de la forma de seguir adelante. 6.1.5.- GENERALIZACIÓN EXISTENCIAL Si la tía Claudia tiene más de cien años, entonces es evidente que hay alguien, a saber, la tía Claudia, que tiene más de cien años. Si existe algún término t para el cual sea válida P(t), entonces se puede concluir que algún x satisface P(x). Consiguientemente, P(t) implica lógicamente lo siguiente: ›x P(x). Más generalmente ›x A se puede derivar que partiendo de S X t A, en donde t es cualquier término. Esto da lugar a la siguiente regla de inferencia: St x A ›x A Esta regla de inferencia se denomina Generalización Existencial, y se abrevia GE en las demostraciones formales. Ejemplo 6.10: Sea C la tía Claudia, y supongamos que P(x) indica “x tiene más de 100 años”. Entonces se tiene: P(C) ›x P(x) La razón es que si se sustituye x por C en P(x), se tiene P(C). Ejemplo 6.11:El siguiente ejemplo muestra la forma en que se utiliza la generalización existencial dentro de una demostración formal. Las premisas de nuestra derivación son: 1.- Toda persona que ha ganado cien millones es rica. 2.- María ha ganado cien millones. Queremos demostrar que estas frases implican lógicamente que: 3.- Hay alguien que es rico. Si le pidiéramos a alguien que demostrase que la conclusión se obtiene de las premisas, es posible que su argumento fuera el siguiente. Si todo el que gana cien millones es rico, entonces María será rica si gana cien millones. Como sabemos que María ha ganado cien millones, aplicamos el Modus Ponens y concluimos que María es rica. Por lo tanto, hay alguien, María, que es rica. Ahora formalicemos este argumento, G(x) significa que x ha ganado cien millones, R(x) significa que x es rico
  • 192. Formas Clausales 187 y M representa a María. Los pasos individuales del argumento se indican en la Figura 6.1.7, Se dijo anteriormente que 5›x P(x) es lógicamente equivalente a œx 5P(x). Ahora demostraremos la primera mitad de esta afirmación, enseñando que 5›x P(x) | œx 5P(x). Esto se indica en la Figura 6.1.8. Demostraremos posteriormente que œx 5P(x) | 5›x P(x). Las dos demostraciones en conjunto demuestran la validez de la afirmación realizada. La demostración de la Figura 6.1.8 utiliza las siguientes reglas de inferencia: Modus Tollens (MT), generalización universal (GU), generalización existencial (GE) y el teorema de la deducción (TD). Demostrar: œx (G(x) | R(x)), G(M) | ›x R(x) Derivación Formal Regla de Inferencia Comentario 1.- œx (G(x) | R(x)) Premisa Todo el que ha ganado cien millones es rico 2.- G(x) | R(x) 1. S X M Por tanto, si María ha ganado cien millones entonces es rica. 3.- G(M) Premisa María ha ganado cien millones 4.- R(M) 2, 3, MP Por lo tanto María es rica. Por Modus Ponens 5.- ›x R(x) 4, GE Alguien (María) es rico... Figura 6.1.7: Demostración de la existencia general a partir de la existencia específica Demostrar: 5›x P(x) | œx 5P(x). Derivación Formal Regla de Inferencia Comentario 1.- 5›x P(x) Premisa No existe un x para el cual P(x) sea verdadero. 2.- P(x) Suposición Supongamos P(x) 3.- ›x P(x) 2, GE Entonces tiene que existir una x que satisfaga P(x) 4.- P(x) | ›x P(x) TD Prescindimos de P(x) y escribimos P(x) | ›x P(x) 5.- 5 P(x) 1,4, MT Como no existe un x tal que P(x) sea verdadero, y como P(x) implica que existe ese x, P(x) debe ser falso 6.- œx 5P(x) 3, GU Como x no aparece como variable libre en ninguna premisa, podemos generalizar a todos los x. Figura 6.1.8: Demostración de inexistencia expresada empleando la notación “para todo”
  • 193. Formas Clausales 188 6.1.6.- PARTICULARIZACIÓN EXISTENCIAL Si es cierto que ›x P(x), entonces tiene que existir algún término t que satisfaga P(x); esto es, tiene que ser cierto St x P(x) para algún t . Por ejemplo, si P(x) significa “x da saltos mortales”, entonces ›x P(x)significa que St x P(x) = P(t) tiene que ser cierto para algún t . El problema es que no sabemos para que término. Si sabemos que alguien da saltos mortales, seguimos sin saber si es la tía Eulalia, el tío Petronio o, incluso, alguna otra persona que da saltos mortales. En una demostración, por lo tanto, hay que mantener abierta la cuestión de quién es el individuo que da saltos mortales. Para hacer esto, seleccionamos una nueva variable, digamos b, para denotar a este individuo desconocido. Ello da lugar a la siguiente regla de inferencia: ›x A Sb xA A Esta regla se denomina Particularización Existencial, y se abrevia de la forma PE en las derivaciones. La variable que introduce la particularización existencial no debe haber aparecido anteriormente como variable libre. Por ejemplo, al aplicar la PE a las frases siguientes: “Existe alguien que tiene más de 100 años” y “Existe alguien que da saltos mortales”, no hay que utilizar la misma variable b para la particularización existencial en ambos casos. De no ser así, uno podría concluir que b tiene más de 100 años y da saltos mortales, lo cual ciertamente no se sigue desde el punto de vista lógico. De forma similar, tampoco se puede utilizar ninguna variable que aparezca libre en algunas de las premisas. Por lo tanto, la PE no debe introducir ninguna variable que ya haya aparecido como variable libre en la derivación. Además, la variable que se introduce está fijada, en el sentido de que no se puede aplicar una generalización universal a esa variable. Por ejemplo, si b da saltos mortales, entonces no se puede utilizar GU para concluir que todo el mundo da saltos mortales. Además, no debe aparecer en la conclusión una variable que tenga un valor desconocido, y, dado que toda variable introducida por la PE es desconocida, tampoco deberá de aparecer en la conclusión. A efectos de demostración consideremos el siguiente ejemplo. Ejemplo 6.12: Supongamos que hay alguien que haya ganado 100 millones y deseamos demostrar que alguien es rico. Entonces las premisas son: 1.- “Alguien ha ganado cien millones” 2.- “Cualesquiera que haya ganado cien millones es rico” Deseamos demostrar que estas dos frases implican lógicamente la siguiente frase: 3.- “Existe alguien que es rico” La demostración detallada se indica en la Figura 6.1.9. En esta demostración, se utiliza la particularización existencial sobre la línea 2, en la cual el ganador se le denomina b. Una vez que se ha obtenido esto, se da la segunda premisa en la línea 3 y se particulariza esta premisa x := b en la línea 4. Obsérvese que no hay que derivar las líneas 3 y 4 antes de las líneas 1 y 2; esto es, uno no debe aplicar la particularización universal antes de la particularización existencial. La razón para esto es que, una vez que se ha obtenido X(b) ⇒ R(b), b ya no es una nueva variable, y por
  • 194. Formas Clausales 189 lo tanto no debe utilizarse para la particularización existencial. Por esta razón, suele ser buena idea aplicar primero la particularización existencial. Ejemplo 6.13: Demostraremos en la Figura 6.1.10 que œx 5P(x) implica lógicamente que 5›x P(x) Según se vio en apartados anteriores, demostrar una negación es algo que suele hacerse normalmente mediante una demostración indirecta: para demostrar 5A, uno supone que A es cierto y deriva una contradicción. Dado que deseamos demostrar que 5›x P(x), la suposición que hay que rechazar es ›x P(x). Aún cuando esta suposición es cierta, la derivación se ha sangrado. La particularización existencial nos permite derivar P(b) en la línea 2, lo cual contradice a 5P(b) que se ha derivado en la línea 4 empleando una particularización universal. La contradicción resultante se encuentra en la línea 5. Esta línea nos permite rechazar la suposición ›x P(x); esto es, tiene que ser cierto que 5›x P(x). Por lo tanto, œx 5P(x) implica 5›x P(x). Demostrar: œx (X(x) ⇒ R(x)), ›x X(x) | ›x R(x)⇒. Derivación Formal Regla de Inferencia Comentario 1.- ›x X(x) Premisa Alguien ha ganado 100 millones. 2.- X(b) 1, PE Llamemos b al ganador 3.- œx (X(x) ⇒ R(x)) Premisa Cualquiera que haya ganado 100 millones es rico 4.- X(b) ⇒ R(b) 3, S X b Si X(b) | R(b) es válido para todos, debe ser válido para desconocido b 5.- R(b) 2,4, MP Si ganar implica ser rico y si b ha ganado, entonces b debe ser rico 6.- ›x R(x) 4, EQ Alguien es rico Figura 6.1.9: Demostración empleando PE Demostrar: œx 5P(x) | 5›x P(x) Derivación Formal Regla de Inferencia Comentario 1.- ›x P(x) Suposición Suposición que rechazaremos posteriormente 2.- P(b) 1, PE Digamos que P(x) es cierto para b 3.- œx 5P(x) Premisa P(x) es falso para todo x 4.- 5 P(b) 3, S X b Por lo tanto P(b) es falso 5.- P(b) v 5 P(b) 3, 4, C Ahora tenemos la contradicción deseada, que implica que la suposición es falsa
  • 195. Formas Clausales 190 6.- 5›x P(x) 5, IP Dado que 5 es una contradicción, la suposición es false y puede descartarse Figura 6.1.10: Demostración de que la existencia contradice a la inexistencia 6.2.- SISTEMA DE GENTZEN: PRUEBAS DEDUCTIVAS Tanto el Sistema de Gentzen como el Sistema de Hilbert pueden extenderse también al cálculo de predicados. La extensión es directa excepto por la dificultad ocasionada por el pasaje de fórmulas cuantificadas a fórmulas instanciadas y viceversa. La discusión siguiente está basada en los sistemas deductivos del cálculo proposicional. La Figura 6.2.1 nos muestra un cuadro semántico cerrado para la negación de la fórmula válida siguiente: (œx p(x) w œx q(x)) ⇒ œx(p(x) w q(x)) Figura 6.2.1: Cuadro Semántico en el Cálculo de Predicados 5((œx p(x) w œx q(x)) ⇒ œx(p(x) w q(x))) ⇓ (œx p(x) w œx q(x)), 5 œx(p(x) w q(x)) ⇓ ⇓ œx p(x) , 5 œx(p(x) w q(x)) œx q(x) , 5 œx(p(x) w q(x)) ⇓ ⇓ œx p(x) , 5 (p(a) w q(a)) œx q(x) , 5 (p(a) w q(a)) ⇓ ⇓ œx p(x) , 5 p(a) , 5 q(a) œx q(x) , 5 p(a) , 5 q(a) ⇓ ⇓ œx p(x) , p(a) , 5 p(a) , 5 q(a) œx q(x) , p(a) , 5 p(a) , 5 q(a) X X Si damos la vuelta de abajo-arriba y para cada nodo n reemplazamos U(n), la etiqueta de n, por Ü(n), obtenemos la Prueba de Gentzen para la fórmula (Figura 6.2.1). Los axiomas son conjuntos de fórmulas que contienen pares complementarios de literales. Ya que un conjunto de fórmulas en una Prueba de Gentzen es una disyunción implícita (a menos que en el cuadro semántico tengamos un conjunto de fórmulas que sea una conjunción implícita), los axiomas son obviamente válidos. Las reglas proposicionales permanecen como antes y agregamos las reglas -( y -* para cuantificadores existenciales y universales respectivamente. Las reglas -( son directas: U ^ {›x A(x) , A(a)} U ^ {›x A(x)} U ^ {5 œx A(x) ,5 A(a)} U ^ {5œx A(x)}
  • 196. Formas Clausales 191 La primera regla puede leerse de la siguiente manera: Si son válidas una fórmula existencial y alguna instanciación sobre ella, entonces la instanciación es redundante. Las reglas -* son las siguientes: U ^ {A(a)} U ^ {œx A(x)} U ^ {5 A(a)} U ^ {5 ›x A(x)} Figura 6.2.2: Árbol de Prueba Gentzen para el Cálculo de Predicados 5 œx p(x) , 5 p(a) , p(a) , q(a) 5 œx q(x) , 5 p(a) , p(a) , q(a) ⇓ ⇓ 5 œx p(x) , p(a) , q(a) 5 œx q(x) , p(a) , q(a) ⇓ ⇓ 5 œx p(x) , (p(a) w q(a)) 5 œx q(x) , (p(a) w q(a)) ⇓ ⇓ œx p(x) , 5 œx(p(x) w q(x)) œx q(x) , 5 œx(p(x) w q(x)) ⇓ ⇓ 5 (œx p(x) w œx q(x)) , œx(p(x) w q(x)) ⇓ (œx p(x) w œx q(x)) ⇒ œx(p(x) w q(x)) Las reglas -* solo pueden aplicarse si se encuentra cierta condición, que la constante a no pueda aparecer en U. Este es el complemento de la regla de cuadro que introduce una nueva constante a. Si a es una constante arbitraria de forma tal que A(a) es válida, entonces también es válida la siguiente fórmula œx A(x). Es esencial que a no aparezca en alguna otra fórmula B(a) en el conjunto que impone restricciones sobre las posibles interpretaciones de a. Por ejemplo, la prueba no trivial de: ›xœy p(x, y) | œy›x p(x, y) en la Figura 6.2.3, está estructurada cuidadosamente para aplicar tres reglas -( las que no son restrictivas antes de aplicar las dos reglas -*. Por ello solo existen ocurrencias simples de las constantes a y b de forma tal que la condición se ve cumplimentada. Teorema 6.2.1: Sea U un conjunto de fórmulas. Existe entonces una Prueba de Gentzen para U si y solo si existe un cuadro semántico cerrado para Ü. & El sistema de Hilbert se extiende al cálculo de predicado agregando dos axiomas más que para el cálculo proposicional y agregando una regla de inferencia al modus ponens. El sistema de prueba este solo definido para el cálculo de predicado con cuantificador universal; el cuantificador existencial es introducido al definirlo de la siguiente forma: ›x A(x) ≡ 5œx 5A(x)
  • 197. Formas Clausales 192 Figura 6.2.3: Prueba de Gentzen ordenando las Reglas -( y -* 5œy p(a, y), 5 p(a, b), 5 p(a, a), ›x p(x, b), p(a, b) ⇓ 5œy p(a, y), 5 p(a, a), ›x p(x, b), p(a, b) ⇓ 5œy p(a, y), ›x p(x, b), p(a, b) ⇓ 5œy p(a, y), ›x p(x, b) ⇓ 5œy p(a, y), œy›x p(x, y) ⇓ 5›xœy p(x, y), œy›x p(x, y) ⇓ ›xœy p(x, y) ⇒ œy›x p(x, y) Los axiomas son los siguientes: ⎥− œx A(x) | A(a) Axioma 4 ⎥− œx(A | B(x)) | (A | œx B(x)) Axioma 5 En el Axioma 5, la notación indicada tiene el significado siguiente: x no aparece como una variable libre en A, mientras que si lo hace en B(x). El axioma está justificado haciéndose notar que si x no aparece libre en A, los valores asignados a x en interpretar œx(A | B(x)) no puede afectar el valor de verdad de A. Dejamos como ejercicios la prueba formal de la solidez de los axiomas. La regla de inferencia es denominada Generalización : ⎥− A(a) ⎥− œx A(x) Notar la diferencia entre el Axioma 4 y la Generalización. El Axioma 4 significa que sin importar donde aparezca œxA(x), ello implica la instanciación de A(a) para cualquier valor de a. La Generalización significa que si aparece a en una fórmula, podemos vincular todas las ocurrencias de a con un cuantificador. La justificación está dada a través de que la selección de a es arbitraria, que es lo mismo que decir que A(x) es verdadera para todas las asignaciones para x en una interpretación. Una consecuencia inmediata de la Generalización es que el teorema y la regla de deducción no se mantiene más sin restricción. La siguiente versión es suficiente para nuestros propósitos, mientras que versiones menos restrictivas pueden encontrarse en libros avanzados. Definición 6.2.2. (Regla de Deducción) Para un conjunto de fórmulas U y fórmulas A, B. U ^ {A} ⎥− B U ⎥− A ⇒ B estipulando que en la prueba de U ^ {A} ⎥− B no se aplica la Generalización a una constante que aparece en A.
  • 198. Formas Clausales 193 Teorema 6.2.3: (Teorema de Deducción) El teorema de deducción es una derivación estricta de la regla. Demostración: Para extender la demostración del teorema de deducción a partir del cálculo proposicional al cálculo de predicados, es solamente necesario considerar la aplicación de la Generalización. Supongamos que A ⎥− œx B es obtenida a partir de la siguiente expresión A ⎥− B usando la Generalización. Por la hipótesis inductiva, A ⎥− B implica ⎥− A | B. Por Generalización, obtenemos ⎥− œx (A | B). Ya que x no aparece en A por la restricción en la regla de deducción, ⎥− œx (A | B) | (A | œx B) por el Axioma 5. La equivalencia del Sistema de Hilbert y del Sistema de Gentzen es fácilmente demostrable. Las siguientes dos demostraciones muestran como cualquier aplicación de las Reglas -( y -*, pueden ser simuladas por una demostración o prueba con estilo Hilbert. Notar que en la demostración para la regla -*, la condición es utilizada implícitamente para justificar la aplicación del Axioma 5. Además, se utiliza la notación "PC" para indicar que la inferencia puede ser justificada por los axiomas y reglas del cálculo proposicional. Teorema 6.2.4: Cualquier utilización de la regla -( U, 5 œx p(x), 5 p(a) U, 5 œx p(x) en el Sistema de Gentzen, puede ser simulado en el Sistema de Hilbert. Demostración: 1.-⎥− œx p(x) | p(a) Axioma 4 2.-⎥−5œx p(x) w p(a) PC 1: Definición Implicación 3.-⎥−U w 5œx p(x) w p(a) PC 2: Inferencia 4.-⎥− U w 5œx p(x) w 5 p(a) Suposición 5.-⎥−U w 5œx p(x) PC 3, 4: Silogismo Disyuntivo Teorema 6.2.5: Cualquier uso de la regla -* U, p(a) U, œx p(x) en el Sistema de Gentzen, puede ser simulado en el Sistema de Hilbert. Demostración: 1.- ⎥− U w p(a) Suposición 2.- ⎥− 5 U | p(a) PC 1: Definición Implicación 3.- ⎥− œx (5 U | p(x)) Generalización. 2 4.- ⎥− 5 U | œx p(x) PC 3, Axioma 5 5.- ⎥− U w œx p(x) PC 4: Definición Implicación
  • 199. Formas Clausales 194 Se dejan como ejercicios las demostraciones o pruebas de Gentzen de los axiomas de Hilbert. La Generalización es un caso especial de la regla -*. En esencia, la condición de la regla -* en el Sistema de Gentzen ha sido transformada en una restricción de la regla de deducción derivada en el Sistema de Hilbert. El Axioma 4 y el MP justifican la siguiente regla derivada, a la cual la llamaremos simplemente "Axioma 4". U ⎥− œx A(x) U ⎥− A(a) Para demostrar la técnica de prueba del Sistema de Hilbert, indicaremos a continuación un conjunto de teoremas y sus correspondientes pruebas. Los primeros dos son teoremas elementales que utilizan cuantificadores existenciales. Teorema 6.2.6: ⎥− p(a) | ›x p(x) Demostración: 1.-⎥− œx 5 p(x) | 5 p(a) Axioma 4 2.-⎥− p(a) | 5œx 5 p(x) PC 1 3.-⎥− p(a) | ›x p(x) Definición de "›" Teorema 6.2.7: ⎥− œx p(x) | ›x p(x) Demostración: 1.- œx p(x) ⎥− œx p(x) Suposición 2.- œx p(x) ⎥− p(a) Axioma 4 3.- œx p(x) ⎥− p(a) | ›x p(x) Teorema 6.2.6 4.- œx p(x) ⎥− ›x p(x) PC 2, 3: Modus Ponens 5.- ⎥− œx p(x) | ›x p(x) Deducción El próximo teorema es un teorema técnico esencial que puede ser utilizado para justificar la siguiente regla, lo cual también es denominado "Generalización" : ⎥− A(x) | B(x) ⎥− œx A(x) | œx B(x) Teorema 6.2.8: ⎥− œx(p(x) | q(x)) | (œxp(x) | œxq(x)) Demostración: 1.- œx(p(x) | q(x)) , œx p(x) ⎥− œx p(x) Suposición 2.- œx(p(x) | q(x)) , œx p(x) ⎥− p(a) Axioma 4 3.- œx(p(x) | q(x)) , œx p(x) ⎥− œx(p(x) | q(x)) Suposición 4.- œx(p(x) | q(x)) , œx p(x) ⎥− p(a) | q(a) Axioma 4 5.- œx(p(x) | q(x)) , œx p(x) ⎥− q(a) PC 2, 4: Modus Ponens 6.- œx(p(x) | q(x)) , œx p(x) ⎥− œx q(x) Generalización. 5 7.- œx(p(x) | q(x) ⎥− œx p(x) | œx q(x)) Teorema Deducción 1,6 8.-⎥− œx(p(x) | q(x)) | (œx p(x) | œx q(x)) Teorema Deducción 7
  • 200. Formas Clausales 195 El próximo teorema fue demostrado previamente en el Sistema de Gentzen. Notar que la condición del Axioma 5 (x no es libre en la expresión siguiente 5œy›x p(x, y)) es la misma que la condición en la regla -*. Teorema 6.2.9: ⎥− ›xœy p(x, y) | œy›x p(x, y) Demostración: 1.-⎥− p(a, b) | ›x p(x, b) Teorema 6.2.6 2.-⎥− œy(p(a, y) | ›x p(x, y)) Generalización. 1 3.-⎥− œy p(a, y) | œy›x p(x, y) Teorema 6.2.6 4.-⎥− 5œy›x p(x, y) | 5œy p(a, y) PC 3: Transposición 5.-⎥− œx(5œy›x p(x, y) | 5œy p(x, y)) Generalización. 4 6.-⎥− 5œy›x p(x, y) | œx5œy p(x, y) Axioma 5 7.-⎥− 5œx5œy p(x, y) | œy›x p(x, y) PC 6: Transposición 8.-⎥− ›xœy p(x, y) | œy›x p(x, y) Definición de "›" El siguiente teorema es el inverso del Axioma 5. Teorema 6.2.10: ⎥− (p | œx q(x)) | œx(p | q(x)) Demostración: 1.- p | œx q(x) ⎥− p | œx q(x) Suposición 2.- p | œx q(x) ⎥− œx q(x) | q(a) Axioma 4 3.- p | œx q(x) ⎥− p | q(a) PC 1. 2: Silogismo Hipotético 4.- p | œx q(x) ⎥− œx(p | q(x)) Generalización. 3 5.-⎥− (p | œx q(x)) | œx(p | q(x)) Teorema Deducción El nombre de la variable ligada no es importante y puede cambiarse como convenga a la situación: Teorema 6.2.11: ⎥− œx p(x) / œy p(y) Demostración: 1.-⎥− œx p(x) | p(a) Axioma 4 2.-⎥− œy(œx p(x) | p(y)) Generalización. 1 3.-⎥− œx p(| œx p(x) / œy p(y)x) | œy p(y) Axioma 5 4.-⎥− œy p(y) | œx p(x) Similitud 5.-⎥− œx p(x) / œy p(y) PC 3, 4 Finalmente, el siguiente teorema muestra una relación no obvia entre el cuantificador universal y el cuantificador existencial. Teorema 6.2.12: ⎥−œx(p(x) | q) / (›x p(x) | q) Demostración: 1.- œx(p(x) | q) ⎥− œx(p(x) | q) Suposición 2.- œx(p(x) | q) ⎥− œx(5 q | 5 p(x)) PC1: Transposición 3.- œx(p(x) | q) ⎥− 5 q | œx 5 p(x) Axioma 5 4.- œx(p(x) | q) ⎥− 5 œx 5 p(x) | q PC 3: Transposición 5.- œx(p(x) | q) ⎥− ›x p(x) | q Definición de "›" 6.-⎥− œx(p(x) | q) | (›x p(x) | q) Teorema Deducción 7.- ›x p(x) | q ⎥− ›x p(x) | q Suposición 8.- ›x p(x) | q ⎥− 5œx 5 p(x) | q Definición de "›" 9.- ›x p(x) | q ⎥− 5 q | œx 5 p(x) PC 8
  • 201. Formas Clausales 196 10.- ›x p(x) | q ⎥− œx(5 q | 5 p(x)) Teorema 6.6.10 11.- ›x p(x) | q ⎥− œx(p(x) | q) Particularización 12.-⎥− œx(p(x) | q) / (›x p(x) | q) PC 6, 11: Definición Equivalencia Una regla derivada adicional es útil en pruebas o demostraciones que contienen fórmulas cuantificadas existencialmente. La regla es la formalización del siguiente argumento matemático: Si existe un objeto que satisface cierta propiedad, decimos que 'c' es una instancia específica, pero arbitraria, de tal objeto. Denominamos a dicha regla como la Regla -C, C por constante. La primera versión es la siguiente: Teorema 6.2.13: (Regla -C) Suponemos que U ⎥− ›x p(x) y U, p(a) ⎥− A, donde a no aparece ni en U ni en A. Entonces debe cumplirse que U ⎥− A. Demostración: 1.- U, p(a) ⎥− A Suposición 2.- U ⎥− p(a) | A Teorema Deducción 1 3.- U ⎥− œx(p(x) | A) Generalización. 2 4.- U ⎥− ›x p(x) | A Teorema 6.2.12 5.- U ⎥− ›x p(x) Suposición 6.- U ⎥− A PC 4, 5: Modus Ponens Notar que la generalización es aplicada luego de la regla de deducción. La siguiente versión de la regla -C es utilizada más a menudo: Teorema 6.2.14: (Regla -C) Si U ⎥− ›x p(x) entonces U ⎥− p(a) donde a es una nueva constante que no aparece en U. Demostración: 1.- U ⎥− ›x p(x) Suposición 2.- U, p(a) ⎥− p(a) Suposición 3.- U ⎥− p(a) Regla -C Utilizamos la Regla -C para obtener una prueba más intuitiva del Teorema 5.6.9, de la siguiente forma: Teorema 6.2.15: ⎥− ›xœy p(x, y) | œy›x p(x, y) Demostración: 1.- ›xœy p(x, y) ⎥− ›xœy p(x, y) Suposición 2.- ›xœy p(x, y) ⎥− œy p(a, y) Regla -C 3.- ›xœy p(x, y) ⎥− p(a, b) Axioma 4 4.- ›xœy p(x, y) ⎥− ›x p(a, x) Teorema 6.2.6 5.- ›xœy p(x, y) ⎥− œy›x p(a, x) Generalización. 4 6.-⎥− ›xœy p(x, y) | œy›x p(x, y) Teorema Deducción
  • 202. Formas Clausales 197 6.3.- FORMAS CLAUSALES 6.3.1.- INTRODUCCIÓN Consideremos la siguiente disyunción de literales: 5 p(x) º 5 q(x), esta fórmula es equivalente a: 5 q(x) º 5 p(x). O sea que el orden de los literales alrededor de la conectiva disyunción es irrelevante. Por lo tanto una disyunción de literales puede ser considerada como un conjunto de literales, denominada como una Cláusula. Por ejemplo, la siguiente cláusula es equivalente a la disyunción anterior: {5 q(x) , 5 p(x)} Esta cláusula puede leerse de la siguiente forma: "no q(x) o no p(x)". Una cláusula que está vacía, es denominada una Cláusula Null y está representada, por algunos autores, por el siguiente símbolo :. Una cláusula que contiene al menos un literal no negado es denominada como Cláusula de Horn. Los siguientes son ejemplos de Cláusulas de Horn : {p(x) , 5 q(x) , 5 r(x)} { 5 p(x) , 5 q(x) , r(x)} { 5 p(x) , 5 q(x) , 5 r(x) , s(x)} { 5 p(x) , 5 q(x) , r(x) , 5 s(x) , 5 t(x)} Consideremos ahora la siguiente fórmula: (5 q(x) º 5 p(x)) ¸ 5 r(x) la que será equivalente a la siguiente fórmula lógica del lenguaje de predicado de primer orden : 5 r(x) ¸ (5 q(x) º 5 p(x)) O sea que el orden de las sub fórmulas alrededor del conectivo de conjunción es irrelevante. Consecuentemente, una fórmula en una forma normal conjuntiva (tal como se definió en el Capítulo 3) puede ser considerada como un conjunto de cláusulas, denominado Conjunto de Cláusulas. Por ejemplo, la fórmula anterior puede ser reemplazada por el siguiente conjunto de cláusulas: ({5 q(x) , 5 p(x)} , { 5 r(x)}) Fórmulas escritas de esta forma se las denomina como Formas Clausales. Ya que cualquier fórmula de la lógica proposicional y de la lógica de predicado puede ser convertida a una forma normal conjuntiva, también puede en consecuencia convertida a una forma clausal. La ventaja de la forma clausal es la propia uniformidad lo que la hace ideal para un procesamiento automático.
  • 203. Formas Clausales 198 6.3.2.- FORMA NORMAL PRENEX Construir una tabla semántica sistemática para la secuencia de los literales definidos en la sección previa es algo extremadamente ineficiente. Afortunadamente, si nos restringimos a fórmulas expresadas en la forma clausal, es posible forzar a que sea considerado el conjunto de literales. Definición 6.3.1 Una fórmula es una forma normal conjuntiva prenex (FNCP) si y solo si tiene la forma siguiente: Q1x1 ...... Qn xn M Donde los Qi son cuantificadores, x es una variable y M es una fórmula libre de cuantificadores expresada como una forma normal conjuntiva. La secuencia de cuantificadores es denominada el prefijo y M es denominada como la matriz. Definición 6.3.2 Una fórmula es una forma clausal si dicha fórmula es una forma normal conjuntiva prenex (FNCP) y el prefijo consiste únicamente de cuantificadores universales. Por ejemplo, la siguiente fórmula es una forma clausal: œz([p(f(z)) w 5 p(g(z)) w q(z)] v [5 q(z) w 5 p(g(z)) w q(z)]) De igual modo que en el cálculo proposicional podemos utilizar una notación más concisa. Los cuantificadores son omitidos y de este modo todas las variables están implícitamente cuantificadas universalmente. Escribimos la matriz como un conjunto de cláusulas, cada de las cuales también puede ser escrita como un conjunto (aunque podemos retener los conectivos booleanos por claridad). Igual que antes, es obvio que la eliminación de duplicados a través del uso de notación de conjuntos no tiene importancia. El ejemplo anterior puede ser escrito como un conjunto de cláusulas {p(f(z)) w 5 p(g(z)) w q(z), 5 q(z) w 5 p(g(z)) w q(z)} y además podemos escribir las cláusulas sin las disyunciones : {p(f(z)) 5 p(g(z)) q(z), 5 q(z) 5 p(g(z)) q(z)} una abreviación mayor puede omitir los paréntesis y las comas en la lista de argumentos de los predicados, suponiendo que se conocen las aristas correspondientes : {pf(z)5 pg(z)qz, 5 qz 5pg(z) qz} La restricción a solo cuantificadores universales está justificada por el siguiente teorema: Teorema 6.3.3 (Skolem): Sea A una fórmula cerrada. Existirá entonces una fórmula A' en la forma clausal tal que A . A' (o sea que, A es satisfecha si y solo si A' es satisfecha).
  • 204. Formas Clausales 199 Esta es la dirección correcta para transformar a A en una fórmula FNCP equivalente. La remoción de los cuantificadores existenciales está acompañada por la definición de nuevos símbolos de función. Por ejemplo, dado: A = œx∃y p(x, y) los cuantificadores pueden ser leídos de la siguiente manera : para todo x, producimos un valor y (asociada con x) tal que el predicado p es verdadero. Pero nuestro concepto intuitivo de función es lo mismo: y = f(x) significa para un valor dado de x, f produce de algún modo un valor y asociado con x. De este modo obtenemos: A' = œxp(x, f(x)) expresando de esta forma casi la misma idea que A. Notar cuidadosamente que es lo que dice realmente el teorema de Skolem. No es cierto que A ⇔ A' (A es equivalente a A'), solamente que A . A'. Pero como realmente estamos interesados en la validez y en la demostrabilidad, la diferencia no es importante. En el ejemplo, en la fórmula A = œx∃y p(x, y), considerar la interpretación I1 definida por el dominio {1, 2} y una relación que convierte a p en idénticamente verdadero. Obviamente, I1‚ ⎥= A. Si agregamos la siguiente función: {F(1) = 2, F(2) = 1} a la interpretación, entonces también se cumple que I1 G A', de forma tal que ambas fórmulas son satisfechas. Sin embargo, si definimos I2 de la misma forma que I1 excepto que : v(p(1, 1)) = v(p(2,2)) = V v(p(1, 2)) = v(p(2, 1)) = F entonces I2 ⎥= A pero I2⎥= A'. De hecho tenemos que I2⎥= 5A' ! La introducción de los símbolos de función estrecha la elección de los modelos. Las relaciones que interpretan los símbolos de predicados son del tipo muchos- muchos, o sea cada x puede estar relacionada con varios y, mientras que las funciones son muchos-uno, relacionando cada x a una única y. Por ejemplo, un predicado p(x, y) puede ser interpretado por la relación: {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)} definida sobre el conjunto B = {1, 2, 3}, pero debemos elegir un subconjunto propio de la relación, como por ejemplo el siguiente: {(1, 2), (2, 3)} cuando interpretamos p(x, f(x)). Obviamente, si existe una relación muchos-muchos, podremos obtener una relación muchos-uno, eligiendo uno de los elementos de y para cada x.
  • 205. Formas Clausales 200 Demostración del Teorema de Skolem : Cualquier fórmula A puede ser transformada en una fórmula equivalente en FNCP (Forma Normal Conjuntiva Prenex). La descripción de la transformación será realizada a través de un ejemplo utilizando la siguiente fórmula: œx(p(x) | q(x)) | (œx p(x) | œx q(x)) * Por el teorema 6.1.11, renombrar las variables ligadas, tal que ninguna variable aparezca en dos cuantificadores diferentes: œx(p(x) | q(x)) | (œy p(y) | œz q(z)) * Transformar todos los conectivos dejando únicamente negación, disyunción y conjunción: 5œx(5p(x) w q(x)) w 5œy p(y) w œz q(z) * Introducir las negaciones en los cuantificadores. Utilizar las siguientes equivalencias cuando introducimos la negación dentro de los cuantificadores universal y existencial 5œx A(x) ≡ ∃ 5A(x) 5 ∃x A(x) ≡ œ 5A(x) la fórmula del ejemplo se transforma en la siguiente expresión : ›x(p(x) v 5q(x)) w ›y 5p(y) w œz q(z) * Extraer todos los cuantificadores desde la matriz. Repetidamente, elegir en la matriz a un cuantificador que no sea una extensión de otro cuantificador que aún se encuentre en la matriz y sacarlo utilizando las siguientes reglas (las que son aplicables, ya que ninguna variable aparece en dos cuantificadores) : A op Qx B(x) / Qx(A op B(x)) Qx A(x) op B / Qx (A(x) op B) donde Q es un cuantificador y op es uno de los siguientes conectivos lógicos "v" o "w". ›x›yœz((p(x) v 5q(x)) w 5p(y) w q(z)) Todas las etapas anteriores están justificadas por el uso de equivalencias, que ya fueron indicadas, y por sustitución. Notar que el orden de extracción de los cuantificadores más externos a partir de la matriz, es arbitrario y que en consecuencia también podemos obtener la siguiente fórmula: œz›x›y((p(x) w 5p(y) w q(z)) v (5q(x) w 5p(y) w q(z))) Ahora debemos transformar la fórmula en una FNCP, la única etapa que resta por cumplir es la de eliminar cuantificadores existenciales a partir del prefijo. Sea ›x
  • 206. Formas Clausales 201 un cuantificador existencial en A, sea (y1, ....., yn) las variables cuantificadas universalmente que preceden a ›x y sea f un nuevo símbolo de función n-aria. Borrar ›x y reemplazar cada ocurrencia de x por f(y1, ...., yn). Si no existen cuantificadores universales que precedan a ›x, reemplazar x por una nuevo símbolo constante a (por ejemplo, la función 0-aria).Estos nuevos símbolos de funciones son denominados Funciones de Skolem. Para la fórmula del ejemplo que estamos considerando, tenemos la siguiente expresión œz((p(a) w 5p(b) w q(z)) v (5q(a) w 5p(b) w q(z))) donde a y b son las funciones (constantes) de Skolem correspondientes a la variables x e y respectivamente, cuantificadas existencialmente. Si tenemos que elegir otro orden de extracción de cuantificadores, la forma clausal podría ser: œz((p(f(z)) w 5 p(g(z)) w q(z)) v (5 q(f(z)) w 5 p(g(z)) w q(z))) donde las funciones de Skolem f y g son unarias debido a que un simple cuantificador universal sobre z precede a los cuantificadores existenciales. Antes de probar que esta transformación preserva satisfiabilidad, sigamos la transformación total sobre otra fórmula: ›xœy p(x, y) | œy›x p(x, y) * Renombrar las variables ligadas: ›xœy p(x, y) | œw›z p(z, w) * Eliminar los conectivos booleanos e introducir las negaciones en los cuantificadores œx›y 5 p(x, y) w œw›z p(z, w) * Extraer cuantificadores: œx›yœw›z(5 p(x, y) w p(z, w)) * Reemplazar los cuantificadores existenciales por funciones de Skolem : œxœw((5 p(x, f(x)) w p(g(x, w), w)) En la práctica es mejor utilizar una transformación ligeramente diferente de la fórmula en la forma clausal. Primero introducir todos los cuantificadores, luego reemplazar cuantificadores existenciales por funciones Skolem y entonces extraer todos los cuantificadores (universales) restantes. Esto asegura que el número de cuantificadores universales precedentes a cuantificadores existenciales es mínimo, y de este modo la utilización de las funciones Skolem también es mínimo. En el ejemplo, obtendríamos lo siguiente: œx 5p(x, f(x)) w œw p(g(w), w)
  • 207. Formas Clausales 202 œxœw((5 p(x, f(x)) w p(g(w), w)) reemplazando la función binaria g por una función unaria. Tenemos que probar que el reemplazo de un cuantificador existencial por una función de Skolem preserva la satisfiabilidad. Suponemos que: I ⎥= œy1 ... œyn∃x p(y1, ... , yn, x) y demostraremos que existe una interpretación I' tal que se cumple lo siguiente : I' ⎥= œy1 ... œynp(y1, ... , yn, f(y1, ... , yn)) Extendiendo I a I' a través del agregado de una función F n-aria. Definimos F de la siguiente manera Para todo (c1, ... , cn), ci 0 D, entonces f(c1, ... , cn) = c n+1 para algún cn+1 0 D tal que v(p(c1, ... , cn, cn+1)) = V. La función F está bien definida utilizando la definición de los cuantificadores y del hecho de que I es un modelo para la fórmula. También, f es nueva debido a que la definición de F no se opone con cualquier función existente en la definición de la interpretación I. I' G œy1 ... œynp(y1, ... , yn, f(y1, ... , yn)) sea (c1, ... , cn) un conjunto de elementos arbitrarios del dominio. Por construcción: f(c1, ... , cn) = cn+1 para algún cn+1 0 D y v(p(c1, ... , cn, cn+1)) = V Ya que (c1, ... , cn) fueron arbitrarios, v(œy1 ... œynp(y1, ... , yn, f(y1, ... , yn))) = V Con esto último completamos la demostración del teorema de Skolem en una dirección. Para probar en la otra dirección (A es satisfecha si A' es satisfecha) debemos proceder de una manera muy similar y se deja como ejercicio para el lector. 6.4.- MODELOS DE HERBRAND En la última sección , vimos que el conjunto de términos y en consecuencia el conjunto de posibles interpretaciones es extremadamente complejo. Ahora veremos, que para conjuntos de cláusulas, existe un conjunto de interpretaciones canónicas con una estructura extremadamente simple tal que si un conjunto de cláusulas tiene un modelo, entonces tiene un modelo de esa forma. Comenzaremos con una larga secuencia de definiciones, las que inicialmente pueden parecer confusas, debido a que las interpretaciones canónicas están formadas a partir de un dominio cuyos elementos son los términos sintácticos que estamos tratando de interpretar!. Ya que una interpretación contiene un mapeo de términos a
  • 208. Formas Clausales 203 elementos del dominio, identificando términos y elementos de dominio, todo lo que debemos hacer es tomar el dominio más general posible que pueda ser definido. Definición 6.4.1: Sea S un conjunto de cláusulas, Al conjunto de símbolos constantes en S y F el conjunto de símbolos de funciones en S. HS, el Universo de Herbrand sobre S, está definido inductivamente por: ai 0 HS para ai 0 A fi(t1, ... , tn) 0 HS para fi0 F , tj 0 HS Como un caso especial, si no existen símbolos constantes en S, inicialice la definición inductiva de HS con un símbolo constante arbitrario a. El subíndice S de H puede ser omitido si el conjunto de cláusulas es comprensible considerando el correspondiente contexto. El Universo de Herbrand es justamente el conjunto de términos cerrados que pueden formarse con los símbolos de S. Obviamente, si S contiene algún símbolo de función, el universo de Herbrand es infinito, sin embargo, la estructura es mucho más simple que la totalidad de todos los términos cerrados posibles. Algunos ejemplos de Universos de Herbrand están indicados en la Figura 6.2. Definición 6.4.2: Un término fundamental, es un término donde todas las variables han sido reemplazadas por elementos del Universo de Herbrand. Del mismo modo debemos considerar para átomo fundamental, literal fundamental, y cláusula fundamental. S1 = { pa w 5 pbqz, 5 qz w 5 pbqz} HS1 = {a, b} S2 = { 5 pxf(y), pwg(w)} HS2 = {a, f(a), g(a), f(f(a)), g(f(a)), f(g(a)), g(g(a)), ... } S3 = { 5 paf(x, y) w pbf(x, y)} HS3 = {a, b, f(a, a), f(a, b), f(b, a), f(b, b), f(a, f(a, a)), f(f(a, a), a), .... } Figura 6.4.1: Universos de Herbrand Definición 6.4.3: Una Interpretación de Herbrand es un interpretación donde el dominio es el universo de Herbrand y donde los símbolos de constante y función se asignan a si mismos de la siguiente forma: w(a) = a w(f(t1, ... , tn)) = f(w(t1), ... , w(tn)) No existen restricciones sobre las asignaciones de las relaciones sobre el Universo de Herbrand con respecto a los predicados.
  • 209. Formas Clausales 204 Definición 6.4.4: Sea HS el Universo de Herbrand para el conjunto de cláusulas S, BS, la Base de Herbrand, es el conjunto de todos los átomos fundamentales que pueden formarse con predicados de S y con términos de HS. Definición 6.4.5: Un Modelo de Herbrand para un conjunto de cláusulas S, es una interpretación de Herbrand que satisface S. Puede identificarse con el subconjunto de la Base de Herbrand para el cual: v(p(t1, ... , tn)) = V Ejemplo: BS3 = {paf(a, a), paf(a, b), paf(b, a), paf(b, b), ..... pbf(a, a), pbf(a, b), pbf(b, a), pbf(b, b), .... } Un modelo de Herbrand para S3 está definido por: v(paf(a, a)) = F v(paf(a, b)) = F v(paf(b, a)) = F v(paf(b, b)) = F v(pbf(a, a)) = V v(pbf(a, b)) = V v(pbf(b, a)) = V v(pbf(b, b)) = V ............ o de una manera más simple por el subconjunto de la Base de Herbrand : {pbf(a, a), pbf(a, b), pbf(b, a), pbf(b, b), ldots} Teorema 6.4.6: Sea S un conjunto de cláusulas. S tiene un si y solo si tiene un modelo de Herbrand. Demostración: Suponer que I es un modelo arbitrario para S. Un modelo de Herbrand para S es obtenido asignando una relación a cada símbolo de predicado. Definir la interpretación de Herbrand H por el siguiente subconjunto de la Base Herbrand: {pi(t1, .... , tn) * (w(t1), .... , w(tn)) 0 Ri} donde Ri es la relación asignada a pi en I. o sea, existe un átomo fundamental en la base de Herbrand si su valor vI(pi(t1, .... , tn)) es verdadero cuando se interpreta en el modelo I. Como I es un modelo para el conjunto de cláusulas S, vI(S) = V para todas las cláusulas Ci 0 S, la valoración vI(Ci) = V también se cumplirá para todas las cláusulas Ci 0 S, y existirá algún literal Dij en la cláusula considerada tal que vI(Dij) = V. Pero por definición de H, vH(Dij) = V si y solo si vI(Dij) = V, a partir de lo cual determinamos que vH(Ci) = V para todas las cláusulas Ci 0 S y además vH(S) = V. De este modo H es un modelo de Herbrand para S. Lo inverso es trivial pues si H es un modelo de Herbrand para S entonces es a si mismo un ejemplo del modelo para S.
  • 210. Formas Clausales 205 Es importante notar que el teorema no es verdadero si S es una fórmula arbitraria y no un conjunto de cláusulas. Supongamos que: S = p(a) v ›x 5 p(x) entonces tenemos que : ({0, 1}, {p(0) = V, p(1) = F}, (), {0}) es un modelo para S, pero S no tiene modelos de Herbrand ya que sólo existen las interpretaciones de Herbrand siguientes : ({a}, {p(a) = V}, { }, { }) ({a}, {p(a) = F}, { }, { }) y ninguna de ellas es un modelo para A. Consideremos la construcción de un cuadro semántico para el conjunto de cláusulas. Recordar que el conjunto de cláusulas es realmente una matriz cuantificada universalmente : A = œx1 ... œxnM(x1, ... , xn) Podemos construir un cuadro semántico instanciando los cuantificadores universales: A, M(t1, ... , tn) donde los términos ti son considerados como términos fundamentales que ya sucedieron en la fórmula, o sea, que son términos del Universo de Herbrand. Lo que permanece es utilizar las reglas-" y las reglas-$ para descomponer la matriz en cláusulas y luego en literales fundamentales: A, D1, ... , Dn Si la trayectoria no cierra, una instanciación posterior de la fórmula A cuantificada eventualmente agrega un nuevo conjunto de literales fundamentales al nodo más inferior en la trayectoria y así sucesivamente. Es fácil de ver que estos conjuntos de literales de la base de Herbrand forman un conjunto de Hintikka y que un modelo de Herbrand puede ser definido a partir de ellos. Inversamente, si el cuadro cierra, cuando descomponemos una cláusula fundamental utilizando reglas-$: U, D1 w ... w Dk ⇓ ⇓ U, D1 ..... x ⇓ U, Dk x obtenemos un conjunto de fórmulas no satisfechas, lo cual implica que U, D1w ..w Dk no está satisfecho donde D1 w ... w Dk es una cláusula fundamental. Por inducción, podemos obtener un conjunto no satisfecho de cláusulas fundamentales. Esto último es un bosquejo de un teorema extremadamente importante, el denominado Teorema de Herbrand.
  • 211. Formas Clausales 206 Teorema 6.4.7 (Herbrand) Si un conjunto de cláusulas S no está cumplimentado entonces algún conjunto finito de cláusulas fundamentales de S tampoco está cumplimentado (satisfecho). Por ejemplo, la siguiente fórmula: A = 5 [œx(p(x) | q(x)) | (œx p(x) | œx q(x))] transformada en un conjunto de cláusulas : 5 px w qx, py, 5 qa bajo la sustitución : {x ← a, y ← a} obtenemos el siguiente conjunto de cláusulas fundamentales : 5 pa w qa, pa, 5 qa y una aplicación de las reglas-$ da el par de conjuntos no cumplimentados de fórmulas : {5 pa , pa , 5 qa} , {qa , pa, 5 qa} De esta forma la fórmula A original no es cumplimentada. Usualmente, una simple sustitución no es suficiente para crear un conjunto de cláusulas fundamentales no satisfechas. Si S es: pf(x)a w pyg(a), 5 pf(f(a))z la sustitución siguiente : {x ← f(a), y ← f(f(a)), z w a} nos dará el siguiente conjunto de cláusulas fundamentales (ground) : G1 = pf(f(a))a w pf(f(a))g(a) G2 = 5 pf(f(a))a y la siguiente sustitución : {x ← f(a), y ← f(f(a)), z ← g(a)} obteniendo las siguientes cláusulas fundamentales : G1 = pf(f(a))a w pf(f(a))g(a) G3 = 5 pf(f(a))g(a) El teorema de Herbrand nos da la herramienta necesaria para definir un procedimiento eficiente de semi-decisión para la validez de las fórmulas en el cálculo de predicados:
  • 212. Formas Clausales 207 * Negar la fórmula. * Transformarla en forma clausal. * Generar un conjunto finito de cláusulas fundamentales. * Controlar si el conjunto de cláusulas fundamentales no está cumplimentado o satisfecho. Las dos primeras etapas son triviales y la última no es difícil debido a que en el caso de cláusulas fundamentales, cualquier procedimiento de decisión conveniente para el cálculo proposicional puede ser utilizado tratando cada fórmula atómica fundamental distinta como una letra proposicional distinta. Por ejemplo: p(a, f(a)) y 5 p(a, f(a)) se oponen en cualquier interpretación y p(a, f(a)) y p(b, f(a)) pueden estar dando siempre valores de verdad diferentes en una interpretación de Herbrand. De este modo, si una tabla de verdad o cuadro semántico proposicional descubre un modelo para : (q w r) v (5 q w r) entonces existe un modelo para : (p(a, f(a)) w p(b, f(a))) v (5 p(a, f(a)) w p(b, f(a))) incluyendo en la Base de Herbrand átomos fundamentales que corresponden a letras proposicionales dando el valor V en el modelo proposicional. En este ejemplo, obtenemos : v(q) = F, v(r) = V, con lo cual decimos que el subconjunto de la Base de Herbrand : {p(b, f(a))} es un modelo para el conjunto de cláusulas fundamentales. Desafortunadamente, aún no existe un modo eficiente de generación de cláusulas fundamentales. Existen mayores avances teóricos que los necesarios y que serán objeto de estudio en las próximas secciones. 6.5.- RESOLUCIÓN FUNDAMENTAL (GROUND) Combinando la teoría de resolución para el cálculo proposicional con el teorema de Herbrand, podemos obtener un procedimiento de refutación completo para el cálculo de predicados, denominado Resolución Fundamental (Ground). Teorema 6.5.1: El resolvente C es satisfecho si y solo si las cláusulas padres C1 y C2 son mutuamente satisfechas. Demostración:Ya que C1 y C2 son satisfechos, también lo serán bajo una interpretación de Herbrand H. Sea B un subconjunto de la base de Herbrand que define H. Recalquemos que ello significa : B = {p(c1, ... , ck) * vH(p(c1, ... , ck)) = V} Obviamente, o l 0 B o lc 0 B para cualquier literal fundamental en el Universo de Herbrand de un conjunto de cláusulas, en particular, para el literal l sobre el cual C1 y C2 se oponen. Si l 0 B, entonces lc no puede ser un elemento de B ya que ambos no pueden evaluar la verdad. De este modo, para que C2 sea satisfecha bajo la interpretación H, debe existir algún otro literal l' 0 C2 tal que l' 0 B. Por construcción del resolvente C usando la regla de resolución, l' 0 C , tal que v(C) = V, o sea que, H es un modelo para C. Obtenemos un argumento simétrico si tenemos lc 0 B.
  • 213. Formas Clausales 208 Regla de Resolución Fundamental Sean C1, C2 cláusulas fundamentales, tal que l 0 C1, lc 0 C2, C1, C2 son denominados como las cláusulas de oposición y para oponerse sobre los literales complementarios l, lc , C, el resolvente de C1 y C2, es la cláusula : Res(C1, C2) = (C1 - {l}) c (C2 - {lc }) C1 y C2 son las cláusulas padres de C. Final de la Regla Inversamente, si C es satisfecho, también es satisfecho en una interpretación Herbrand, H definida por un subconjunto B de la base de Herbrand. Para algún literal l' 0 C, v(l') = V tal que l' 0 B. Pero por construcción tenemos que, l' 0 C1 o l' 0 C2 (o ambos) y de este modo v(C1) = V o v(C2) = V. Supongamos que l' 0 C1. Por construcción, ninguno de los literales complementarios opositores l, lC está en C. De este modo podemos extender el subconjunto de la base de Herbrand definiendo la interpretación H a lo siguiente: B' = B c {lC } En esta interpretación, v(lC ) = V, tal que v(C2) = V. Ya que l' 0 B f B', C1 es también satisfecho en B', tal que C1 y C2 son satisfacidos mutuamente en la interpretación de Herbrand definida por B'. Es posible un argumento simétrico al mencionado anteriormente si l' 0 C2. & El procedimiento de resolución fundamental está definido como el procedimiento de resolución en el cálculo proposicional es completo y sólido. Teorema 6.5.2:La resolución fundamental es un procedimiento de refutación completo y sólido para el cálculo de predicados. 6.6.- SUBSTITUCIÓN Hemos estado utilizando hasta ahora el concepto de substitución de términos por variables de una manera intuitiva. Ahora definiremos formalmente lo que es la substitución, y que es de importancia para el desarrollo de la resolución general. Definición 6.6.1: Una substitución (de términos por variables) es un conjunto de la siguiente forma: {x1 ← t1 , ... , xn ← tn} donde cada xi es una variable distinta y cada ti es término que es diferente a la correspondiente variable xi. Las letras griegas minúsculas: 8, :, F, 2
  • 214. Formas Clausales 209 pueden ser utilizadas para indicar substituciones. Definición 6.6.2: Una expresión es un término, un literal, una cláusula o un conjunto de cláusulas. Sea E una expresión y : 2 = {x1 ← t1 , ... , xn ← tn} una substitución. Una instancia E2 de E es obtenida reemplazando simultáneamente cada ocurrencia de xi en E por ti. Ejemplo : E = p(x) w q(f(y)) 2 = {x ← y , y ← f(a)} E2 = p(y) w q(f(f(a))) La palabra "simultáneamente" en la definición clarifica que no debemos sustituir y por x para obtener p(y) y luego f(a) por y, para obtener : p(f(a)) w q(f(f(a))) Definición 6.6.3: Sea 2 = {x1 ← t1 , ... , xn ← tn} y F = {y1 ← s1 , ... , yk ← sk} dos substituciones. Sean X e Y los conjuntos de variables substituidas por 2 en F, respectivamente. 2F, es la composición de 2 y F es la substitución de: 2F = {xi w tiF * xi 0 X, xi … tiF} c {yj w sj * yj 0 Y, sj ó X} En otras palabras: aplicar la substitución F a los términos ti de 2, obteniendose de este modo que las substituciones resultantes no colapsen a xi ← xi, y añadir las substituciones a partir de F, cuyas variables no aparecerán en 2. Ejemplo: 2 = {x ← f(y), y ← f(a), z w u} F = {y ← g(a), u ← z, v ← f(f(a))} E = p(u, v, x, y, z ) E2 = p(u, v, f(y), f(a), u) (E2)F = p(z, f(f(a)), f(g(a)), f(a), z) 2F = {x ← f(g(a)), y ← f(a), u ← z, v ← f(f(a))} E(2F) = p(z, f(f(a)), f(g(a)), f(a), z} donde hemos borrado :
  • 215. Formas Clausales 210 * {z ← u}F = {z ← z} que corresponde a una substitución vacía. * {y← g(a)} ya que las ocurrencias originales" de y han sido reemplazadas por f(a) y las "nuevas' ocurrencias de y han sido reemplazadas por g(a) a partir de F. Notar que E(2F) = (E2)F. Esta igualdad por lo general es verdadera. Lema 6.6.4: Sea E una expresión y 2, F substituciones. Entonces: E(2F) = (E2)F La composición de substituciones cumple con la propiedad asociativa. Lema 6.6.5: 2(F8) = (2F)8 6.7.- UNIFICACIÓN Las siguientes dos cláusulas generales: p(f(x), g(y)) 5 p(f(f(a)), g(z)) no pueden ser resueltas directamente debido a que no se oponen entre ellas. Sin embargo, bajo la substitución siguiente: {x ← f(a), y ← f(g(a)), z ← f(g(a))} obtenemos la siguientes dos cláusulas opositoras: p(f(f(a)), g(f(g(a)))) 5 p(f(f(a)), g(f(g(a)))) Obviamente, esta no es la única substitución que transforma estas dos cláusulas generales en cláusulas fundamentales opuestas. Otra substitución simple puede ser la siguiente: ========================
  • 216. Formas Clausales 211 6.8.- PROBLEMAS CAPITULO VI 1.- Construya una derivación formal para demostrar que los siguientes argumentos son válidos: a) Todos los profesores de Matemáticas han estudiado Cálculo. Ana es profesora de matemáticas. Por lo tanto Ana ha estudiado Cálculo. b) En el triángulo XYZ no hay dos ángulos de igual medida. Si un triángulo tiene dos lados de igual longitud, entonces es un isósceles. Si un triángulo es isósceles, entonces tiene dos ángulos de igual medida. Por lo tanto, el triángulo XYZ no tiene dos lados iguales. c) Ninguna estudiante de penúltimo o último año está en inscripta en una clase de Educación Física. María está inscripta en una clase de Educación física Por lo tanto, María no es una estudiante de último año. d) œx (P(x) ⇒ Q(x)) œx (Q(x) ⇒ R(x)) ˆœx (P(x) ⇒ R(x)) e) œx [ P(x) ⇒ (Q(x) v R(x))] œx [ P(x) v S(x)] ˆœx [ R(x) v S(x)] 2.- Las siguientes reglas nos permiten hacer derivaciones en cálculo de predicados: TABLA 2 REGLAS DE INFERENCIA PARA CÁLCULO DE PREDICADOS œx A /> SX t A Particularización Universal A /> œx A Generalización Universal SX t A />› x A Generalización Existencial › x A /> SX b Particularización Existencial Junto a estas reglas es importante tener en cuenta al Teorema de la Deducción en donde, para demostrar una implicación lógica A /> B se utiliza el siguiente argumento: a) Se supone A, y se añade A a las premisas b) Se demuestra B, empleando A, si es necesario
  • 217. Formas Clausales 212 c) Se prescinde de A, lo que significa que A no es necesariamente verdadero, y se concluye que A /> B 3.- Demuestre la validez de los siguientes argumentos: a) Juan ha obtenido una beca para continuar sus estudios. Toda persona que obtiene una beca para estudiar es afortunada. ˆ Existe una persona afortunada b) Las personas conscientes de los riesgos del colesterol evitan comer embutidos Alguien es consciente de los riesgos del colesterol ˆ Hay una persona que evita comer embutidos c) Si un número es real y no nulo, entonces su cuadrado es positivo -3 es real y no nulo ˆ El cuadrado de un número por lo menos es positivo d) Todos los enteros son números racionales Hay números que no son racionales ˆ Existen números que no son enteros 4.- Para las siguientes fórmulas probar ya sea que es válida o dar una interpretación que la falsifique dentro de cierto dominio: (a) œxœyœz (p(x, x) v (p(x, z) ⇒ (p(x, y) w p(y, z)))) ⇒ ›xœz p(y, z) (b) 5((œx p(x) ⇒ œx q(x)) ⇒ œx(p(x) ⇒ q(x))) 5.- Probar que las siguientes fórmulas (Axiomas dentro del Sistema Axiomático de Hilbert) son siempre válidas: (a) œxA(x) ⇒ A(a) (b) œx(A ⇒ B(x)) ⇒ (A ⇒ œx B(x)) (c) A(a) ⇒ ›x A(x) 6.- Probar si es factible deducir las siguientes fórmulas a partir de algunos de los axiomas de l problema 4 o de alguna suposición válida o inválida: (a) œx(p(x) ⇒ q) / œx(5q ⇒ 5p(x)) (b) œxp(x) ⇒ ›x p(x) (c) (p ⇒ œx q(x)) ⇒ œx(p ⇒ q(x)) (d) œx(p(x) ⇒ q) / (›x p(x) ⇒ q) (e) œx(p(x) ⇒ q(x)) ⇒ (›x p(x) ⇒ ›x q(x)) 7.- Transformar las siguientes fórmulas de predicado a una forma clausal: (a) œx(p(x) ⇒ ›y q(y)) (b) ›x(5 ›y p(y) ⇒ ›z(q(z) ⇒ r(x)) (c) œxœy(›z p(z) v ›u(q(x, u) ⇒ ›v q(y, v))
  • 218. Formas Clausales 213 8.- Transformar las fórmulas de predicado del problema 19 del capitulo 5 a una forma clausal. 9.- Transformar las fórmulas de predicado del problema 1 a una forma clausal. 6.9.- BIBLIOGRAFÍA RECOMENDADA 1.- INTRODUCTION TO KNOWLEDGE BASE SYSTEMS Richard Frost - Macmillan Publishing Co. - 1986 2.- LÓGICA PARA COMPUTACIÓN Francisco S. Naishtat - EUDEBA - 1986 3.- LOGICA, PROGRAMACION E INTELIGENCIA ARTIFICIAL Robert Kowalski - DIAZ DE SANTOS S.A. - 1986 4.- LOGIC FOR COMPUTER SCIENCE Jean H. Gallier - JOHN WILEY & SONS Inc. - 1987 5.- DISCRETE MATHEMATICAL STRUCTURES TO COMPUTER SCIENCE J.P. Tremblay & R. Manohar - McGRAW HILL - 1988 6.- INTRODUCTION TO FORMAL LOGIC Patrick Suppes - PRENTICE HALL - 1990 7.- AXIOMATIC SET THEORY AND FIRST ORDER LOGIC Patrick Suppes - PRENTICE HALL - 1988 8.- AN INTRODUCTION OF FIRST ORDER PREDICATE LOGIC J.P. Tremblay - McGRAW HILL - 1989 9.- INTRODUCTION TO FORMAL LOGIC S.V. Yablonsky - MIR PUBLISHERS - 1989 10.- MATHEMATICAL LOGIC FOR COMPUTER SCIENCE M.Ben-Ari - PRENTICE HALL - 1993 11.- FUZZY SETS, UNCERTAINTY, AND INFORMATION G.J. Klir - T.A.Folger - PRENTICE HALL - 1993 12.- MATEMATICAS DISCRETAS R.Johnsonbaugh - MACMILLAN PUBLISHING CO. - 1994 13.- MATEMATICAS DISCRETAS K.Ross - C.R.B.Wright - PRENTICE HALL - 1990 14.- ESTRUCTURAS DE MATEMATICAS DISCRETAS PARA LA COMPUTACION B.Kolman - R.C.Busby - PRENTICE HALL - 1989 15.- LOGIC AND ITS APPLICATIONS E.Burke - E. Foxley - PRENTICE HALL - 1996 16. THE ESSENCE OF LOGIC John Kelly - PRENTICE HALL - 1997 ==========================