Está en la página 1de 50

2 Lógica proposicional

el lenguaje natural1 dejamos mucho a la subjetividad de los hablantes y al contexto que se


supone conocen ambos. Decimos que este tipo de lenguaje es informal mientras que el len-
guaje que se usa en matemáticas o los lenguajes de programación son lenguajes formales.
Distinguimos entre un objeto informal y uno formal porque este último está claramente
definido y especificado por un conjunto de reglas. Uno de los atractivos del formalismo es
el poder expresar ideas de forma concreta, breve y precisa. Pero no nada más nos interesan
Lógica
1
estos aspectos del formalismo sino su aplicación, la cual nos obliga a formalizar nuevas
ideas o experiencias, y en ese proceso precisar y encontrar contradicciones que pudieran
causar mucho daño, como en el caso de un programa de computadora que pudiese contener
proposicional ambigüedades.
Si nos referimos a un objeto de manera formal, podemos construir un modelo de ese
objeto. Algunas de las ventajas de los modelos matemáticos son las siguientes:

• Un modelo matemático es, por lo general, más preciso, entendible, conciso y riguroso
que una descripción informal escrita en lenguaje natural.

• A través de un modelo matemático podemos calcular directamente respuestas a pro-


blemas sobre el objeto modelado.

• Las matemáticas, y en particular la lógica, nos proporcionan métodos de razona-


miento: para manipular objetos, para demostrar propiedades de y sobre objetos, y
1.1. Lenguajes y su descripción para obtener resultados nuevos a partir de resultados ya conocidos, lo cual genera
una extensión del conocimiento.

Este último punto es, tal vez, uno de los aspectos más importantes de los modelos ma-
1.1.1. Introducción temáticos, que tiene una enorme utilidad en ciencias de la computación: tener la seguridad
cientı́fica de que algo funciona como esperamos; poder extender las posibilidades de una
El curso está dividido fundamentalmente en tres partes: Lógica Matemática, Inducción computadora, un lenguaje de programación o un algoritmo para usos distintos que para los
y Recursión, y Teorı́a de Gráficas . De la inducción y recursión tal vez no hemos oı́do que fue creado; en fin, para poder continuar con el impresionante desarrollo que han tenido
pero de lógica y gráficas sı́, cuando por ejemplo hemos hecho gráficas desde la secundaria las ciencias de la computación en este siglo.
(aunque esta interpretación de “gráficas” no es la que vamos a atacar en este curso) y el
término lógica lo usamos de manera bastante liberal en nuestra vida diaria en frases como 1.1.2. Expresiones
la que sigue:

• No es lógico lo que estás diciendo La lógica, y en particular la lógica matemática, juega un papel muy importante en el
desarrollo de las matemáticas en general y de las ciencias de la computación en particular.
• No entiendo la lógica de este asunto
En el ámbito de las ciencias de la computación es importante poder distinguir entre argu-
• Presentas un argumento que no es coherente mentos válidos o inválidos, es decir, entre aquellos que son sólidos lógicamente hablando
y los que no lo son.
• Es falso lo que estás suponiendo La lógica presenta ciertos elementos de estudio que no son tan distintos a los que esta-
mos acostumbrados en matemáticas. Durante muchos años hemos manipulado expresiones
Todos nosotros sabemos que existe más precisión cuando estamos en el terreno ma-
1
temático que cuando estamos hablando de experiencias de la vida común. Realmente, en Llamaremos ası́ al lenguaje que habla cualquier ser humano, en nuestro caso el español.
1.1 Lenguajes y su descripción 3 4 Lógica proposicional

numéricas con incógnitas, es decir, ecuaciones con variables y constantes, para obtener un Estas maneras de escribir expresiones tienen que ver con su sintaxis, término que se
resultado final. Mientras que en el álgebra estamos trabajando con números fundamental- refiere a la forma que deben tener las cadenas de letras y sı́mbolos para que califiquen
mente, en lógica trabajamos con proposiciones lógicas o simplemente proposiciones. Al como expresiones bien construidas. Aún no hemos hablado del significado de una expre-
igual que en álgebra, utilizamos variables (sı́mbolos que nos sirven para representar a los sión, aunque pronto lo haremos. Los aspectos relacionados con el significado conforman la
objetos elementales), constantes (true,false) y operadores, que también son sı́mbolos pero semántica de las expresiones.
con un significado especial.
Cuando tenemos una expresión aritmética hablamos de los operadores y operandos,
1.1.3. Mecanismos formales para descripción de expresiones
entendiendo a los operadores como operaciones que se tienen que realizar, utilizando para
ello a los operandos. Los operadores pueden ser unarios, cuando utilizan o actúan sobre un
único operando; binarios cuando actúan sobre dos operandos y, en general, n-arios cuando Cuando describimos una expresión aritmética podemos hacerlo de varias maneras. Una
actúan sobre n operandos. Entre los operadores unarios aritméticos que conocemos está el de ellas es dando tantos ejemplos como podamos y dejando al lector que encuentre patrones
signo de menos − y en algunas ocasiones también podemos considerar el signo de más que describan al mayor número posible de expresiones. Es claro que con este método no
+ (nos tendremos que poner de acuerdo antes de empezar a cuál aceptamos y a cuál vamos a poder describir a todas las expresiones aritméticas posibles, ya que tenemos un
no). Entre los operadores binarios podemos mencionar a la multiplicación (que la podemos número infinito de ellas. Una segunda manera es dando reglas para construir expresiones
representar con · , × o con ∗ como se acostumbra en los lenguajes de programación), aritméticas correctas. Estas reglas de formación pertenecen, queremos insistir, a la sintaxis
la división ( ÷ , / ). Un ejemplo de operador ternario puede ser entre(a, b, c) que decide de las expresiones aritméticas.
A continuación formalizamos reglas para construir expresiones aritméticas sencillas,
cuál de los tres números a, b, c se encuentra entre los otros dos o el operador raı́ces(a, b, c) para posteriormente contrastar con lo que es una expresión lógica:
que devuelve las raı́ces del polinomio cuadrático ax2 + bx + c.
Hay tres estilos para escribir expresiones, los cuales se distinguen por cómo se coloca al Definición 1.1 Una expresión aritmética es alguna de las que siguen:
operador en relación a sus operandos. Si el operador es unario o n-ario únicamente tenemos
dos opciones: 1. Un objeto elemental: un número (una constante ) o una variable .

2. Si E es una expresión aritmética, (E) es una expresión aritmética.


Notación prefija: El operador se coloca antes del operando

−a (+ a b c) 3. Si ⊲ es un operador unario y E es una expresión aritmética, entonces ⊲E


es una expresión aritmética.
Notación sufija o polaca: El operador se coloca después del operando 4. Si ⋄ es un operador binario infijo y E y F son dos expresiones aritméticas,
entonces E ⋄ F es una expresión aritmética.
a↑ (a b ∗)
5. Si ⋆ es un operador n-ario y E1 , E2 , . . . , En son expresiones aritméticas, en-
apuntador en Pascal
tonces ⋆(E1 , E2 , . . . , En ) es una expresión aritmética.
Si el operador es binario, además de estas dos formas tenemos la que es más usual: 6. Éstas y sólo éstas son expresiones válidas.

Notación infija: Es aquella donde el operador se encuentra entre sus operandos. A primera vista esta definición parece incorrecta pues en algunas partes se utiliza el
mismo concepto de expresión que se está definiendo. Esta clases de definiciones, llamadas
a+b 3 · (7 + 5) definiciones recursivas, son omnipresentes en ciencias de la computación. Más adelante
las estudiaremos con detalle. Estamos suponiendo que sabemos cuáles son los operado-
Las diferencias entre estas tres notaciones no son nada más de forma, pues cada una de res unarios: + (positivo), − (negativo); cuáles los binarios: − (resta), + (suma), ×, ·, ∗
ellas tiene propiedades particulares que veremos después. Por lo pronto, trabajaremos con (multiplicación), ÷, ∗∗ (,̂ exponenciación); y conocemos algunos n-arios: f (x1 , x2 , . . .),
la notación infija que, como ya mencionamos, es la más usual. max(. . .), min(. . .) . . ..
1.1 Lenguajes y su descripción 5 6 Lógica proposicional

Veamos a continuación algunos ejemplos de construcción de expresiones aritméticas Ejemplo 1.4.


enfatizando su proceso de construcción.
Supongamos que tenemos dos operadores, máx y mı́n.
Ejemplo 1.1. Cada uno de los siguientes es un objeto elemental: máx(a · b, a + (−b), a ÷ b) máx es un operador n-ario con n = 3; a · b es una expre-
sión; a + (−b) es una expresión. a ÷ b es una expresión.
a i x 3.0 1
5
4
Por lo tanto también son expresiones aritméticas. 2
4 3 4
1 1 1 1 1 1
Ejemplo 1.2. Considérese los siguientes operadores unarios, que representan el signo de un número máx( a · b , a + ( − b ) , a ÷ b )
en aritmética: + y −.:
−17 − reemplaza ⊲ y 17 es una expresión, por ser un número.
+a + reemplaza a ⊲ y a es una expresión, por ser una variable.
Podemos también ir encerrando en cuadrados contenidos uno dentro0 del otro, con una mı́n(1, máx(a + b, a − b, 3)) mı́n es un operador n-ario con n = 2, es decir, binario; 1
anotación de la regla a la que corresponden, a las distintas expresiones que conforman la es una expresión; máx(a + b, a − b, 3) es una expresión.
expresión original. Cada rectángulo encierra a una expresión.Veamos a continuación: 5
3 3 4 4
1 1 1 1 1 1 1 1
mı́n( 1 , a + b , a − b , 3 )
− 17 + a

Ejemplo 1.5. La expresión −(a + (b · c)) es una expresión aritmética porque:


Ejemplo 1.3. Considérese los operadores binarios · y ÷. • Como b y c son expresiones, por ser variables y · es un operador binario, entonces
a ÷ (2 · b) ÷ y · son operadores binarios; a y (2 · b) son expresiones. b · c es una expresión.
a + (−b) + es un operador binario; a y (−b) son expresiones. • Como b · c es una expresión, entonces (b · c) es una expresión.
• Como a y (b · c) son expresiones y + es un operador binario entonces a + (b · c) es
4
2 una expresión.
4 • Como a + (b · c) es una expresión, entonces (a + (b · c)) es una expresión.
1 1 1
a ÷ ( 2 • b ) • Como (a + (b · c)) es una expresión y − es un operador unario, entonces
−(a + (b · c)) es una expresión.
3
2
4
2
4 4
2 1 1 1
3 − ( a + ( b · c ) )
1 1
a + ( − b )
1.1 Lenguajes y su descripción 7 8 Lógica proposicional

Ejemplo 1.6. Observemos la expresión (a · b) − (4 · a cot b − 2 · b). 1.1.4. Gramáticas y árboles de derivación
• a y b son variables, por lo que a su vez son expresiones.
• · es un operador binario, por lo que, junto con el inciso anterior, a · b es una expresión. Otra manera de mostrar cómo se construyen las expresiones es mediante lo que se
conoce como una gramática formal, que es un mecanismo sencillo de especificación de
• Como a · b es una expresión, también lo es (a · b).
reglas de construcción, llamadas Producciones o Reglas de reescritura, con las cuales se
• Como 4 es una constante y a una variable, 4 · a es una expresión. pueden generar expresiones de un lenguaje. Dichas reglas de reescritura tienen la siguiente
forma:
Hasta acá vamos bien. Pero ninguna de nuestras reglas indica que cot sea un operador
binario y no existe la posibilidad de que haya una sucesión de variables sin nada entre ellas.
Por lo que ésta no es una expresión aritmética bien construida. sı́mbolo ::= cadena

El sı́mbolo “::=” se lee “se puede reescribir como” y al aplicar una regla particular sus-
Ejemplo 1.7. La expresión a · − + b es una expresión aritmética que utiliza el uso de las siguientes tituimos el lado izquierdo de este sı́mbolo por la cadena que se encuentra del lado derecho.
reglas para su construcción: Para las expresiones aritméticas, por ejemplo, tendrı́amos las reglas de reescritura que
aparecen en la tabla 1.1. En ellas, los sı́mbolos que aparecen en gris o azul (con este tipo de
• a es una expresión letra) son aquéllos que ya no pueden ser reescritos, pues no aparecen del lado izquierdo de
• b es una expresión ninguna regla de reescritura. A estos sı́mbolos les llamamos sı́mbolos terminales, pues son
los que terminan las cadenas de reescritura. A los sı́mbolos que pueden ser reescritos les
• +b es una expresión pues b es una expresión y + es un operador unario. llamamos no-terminales o variables.

• − + b es una expresión pues +b es una expresión y − es un operador unario.


Tabla 1.1 Reglas de reescritura para expresiones aritméticas
• a · − + b es una expresión pues tanto a como − + b son expresiones y · es un opera-
dor binario.
S ::=E (1.1)
4 E ::=var (1.2)
3
3 E ::=const (1.3)
1 1
a · − + b E ::= ⊲ E (1.4)
E ::=E ⋄ E (1.5)
E ::=(E) (1.6)
var ::=a, b, . . . (1.7)
const ::=0, 1, 2, 17, 3.5, . . . (1.8)
Ejemplo 1.8. La sucesión de sı́mbolos · − +a b no es una expresión aritmética correcta , pues no ⊲ ::=+, − (1.9)
se puede obtener a partir de las reglas anteriores. ¿Por qué? ⋄ ::=+, −, ·, ÷ (1.10)

De los ejemplos anteriores se observa que para mostrar que una sucesión dada de sı́mbo-
los s es una expresión aritmética debemos identificar cada uno de sus componentes y aso- A una colección de reglas de reescritura como la anterior le llamamos gramática por-
ciarlos con alguna de las reglas de formación de expresiones. Este método puede resultar que nos describe la forma o reglas sintácticas que deben tener las expresiones aritméticas
demasiado tedioso de aplicar por lo que debemos buscar métodos más sencillos y suscep- bien construidas. Para producir “oraciones” (cadenas, palabras, expresiones) correctas de
tibles de ser automatizados. acuerdo a las reglas de la gramática, empezamos con el sı́mbolo a la izquierda del ::= de la
1.1 Lenguajes y su descripción 9 10 Lógica proposicional

primera regla, y utilizamos las reglas de reescritura, que nos dicen que en cualquier momen-
Figura 1.1 Proceso de generación de expresiones aritméticas
to podemos sustituir parte de (o toda) la expresión, si en ella localizamos una subexpresión2
que corresponda al lado izquierdo de cualquiera de las reglas y la sustituimos por el lado
derecho. Cada vez que hacemos una sustitución, encontramos en la frase el primer sı́mbo- a (3.0 + 21)
lo desde el extremo izquierdo que aparece a la izquierda de ::= de alguna de las reglas y Frase Regla usada Frase Regla usada
lo sustituimos por la cadena a la derecha de ::= en esa regla. En cada paso únicamente S inicio (—) S inicio (—)
sustituimos a un sı́mbolo. Decimos entonces que estamos haciendo una sustitución por la E S ::= E (1.1) E S ::= E (1.1)
izquierda. Es importante mencionar que el orden en que se hagan las sustituciones no es var E ::= var (1.2) (E ) E ::=(E) (1.6)
obligatoriamente por la izquierda y no afecta el resultado final, aunque es bueno convenir a var ::= a (1.7) (E ⋄ E) E ::= E ⋄ E (1.5)
en hacerlo por la izquierda en aras de obtener un método único de construcción, es decir un
(const ⋄ E ) E ::= const (1.3)
método determinista. Veamos algunos ejemplos en la figura 1.1 de la siguiente página.
(const + E ) ⋄ ::=+ (1.10)
Una secuencia de aplicación de reglas de reescritura, como las que se muestran en la
(const + const ) E ::= const (1.3)
figura 1.1 se conoce como una derivación de una expresión, la que figura en el último
de sus renglones. Estas derivaciones pueden presentarse ası́ o gráficamente utilizando un (3.0+ const ) const ::=3.0 (1.8)
árbol. Un árbol es una gráfica que remeda a un árbol biológico, excepto que elegimos (3.0 + 21) const ::=21 (1.8)
pintarlo “de cabeza”. Nuestro árbol tiene un nodo inicial llamado raı́z, que corresponde al
origen de las sustituciones, y va creciendo de la siguiente manera: −(a · (b + c))
Frase Regla usada
• Cada nodo tiene un sı́mbolo asociado.
S inicio (—)
• Para que de un nodo salgan lı́neas (o simplemente lı́neas, ya que la dirección es E S ::= E (1.1) Gramática:
siempre hacia abajo) se requiere que el sı́mbolo que está en ese nodo aparezca del ⊲E E ::= ⊲E (1.4)
lado izquierdo de alguna producción. −E ⊲ ::=− (1.9) S ::= E (1.1)
• Las lı́neas (o lı́neas) apuntan a cada uno de los sı́mbolos que aparecen del lado dere- −(E) E ::=(E) (1.6) E ::= var (1.2)
cho de la producción utilizada. −(E ⋄ E) E ::= E ⋄ E (1.5) E ::= const (1.3)
−(var ⋄ E) E ::= var (1.2) E ::= ⊲E (1.4)
• Es importante observar que un nodo tiene un único sı́mbolo asociado.
−(var · E) ⋄ ::=· (1.10) E ::= E⋄E (1.5)
• Si el sı́mbolo en un nodo se reescribe en una sucesión de tres sı́mbolos, entonces −(var · (E)) E ::=(E) (1.6) E ::= (E) (1.6)
deberán salir tres lı́neas de él, una por cada sı́mbolo. −(var · (E ⋄ E)) E ::= E ⋄ E (1.5) var ::= a, b, . . . (1.7)
−(a · (E ⋄ E)) var ::=a (1.7) const ::= 0, 1, 2, 17, 3.5, . . . (1.8)
• Aquellos nodos de los que no salen lı́neas les llamamos hojas. ⊲ ::= +, − (1.9)
−(a · (var ⋄ E)) E ::= var (1.2)
⋄ ::= +, −, ·, ÷ (1.10)
• Para determinar cuál es la expresión que corresponde a un determinado árbol, vamos −(a · (var+ E )) ⋄ ::=+ (1.10)
listando las hojas del árbol de izquierda a derecha. A la cadena que se obtiene de esta −(a · (y var+ var)) E ::= var (1.2)
manera le vamos a llamar el resultado del árbol. −(a · (b+ var)) var ::=b (1.7)
−(a · (b + c)) var ::=c (1.7)
En el árbol se pierde el orden en que se hacen las sustituciones; en cada nivel se mues-
tran las sustituciones elegidas, de entre las posibles, en la frase que se encuentra en ese
nivel. Aquellos elementos que aparecen en gris (o en azul o con este tipo de letra) son los que no aparecen del lado izquierdo de ninguna regla y se encuentran colocados en las hojas
2
Una subexpresión es una expresión que aparece dentro de otra. Esto implica que debe estar bien cons- del árbol. A estos sı́mbolos les llamamos sı́mbolos terminales y son los únicos que pueden
truida. aparecer en una expresión correcta. Los niveles intermedios no corresponden a expresio-
1.1 Lenguajes y su descripción 11 12 Lógica proposicional

nes, sino a descripciones de lo que puede convertirse en una expresión si se hacen los
Figura 1.3 Otro ejemplo de árboles de derivación
reemplazos necesarios. Veamos este proceso en las figuras 1.2 en esta página y 1.3 en la
siguiente.
(a) −(a · (b + c))
S

Figura 1.2 Ejemplos de árboles de derivación


E
(a) a (b) (3.0 + 21)
S S ⊲ E

− ( E )
E E

E ⋄ E

var ( E )
var · ( E )

a const ⋄ E a E ⋄ E

var + var
3.0 + const
b c

21
Expresiones de paréntesis balanceados
Como otro ejemplo del uso de gramáticas y árboles de derivación presentamos las ex-
En este contexto, decimos que una expresión aritmética está bien construida o que es presiones de paréntesis balanceados. Este lenguaje es parte esencial de cualquier lenguaje
correcta si podemos construir el árbol que representa a su derivación. Este proceso de de programación. La gramática que lo define se encuentra en la tabla 1.2.
construcción consiste de las sustituciones que fuimos realizando en cada nivel hasta llegar
a un árbol donde todas sus hojas son sı́mbolos terminales. En otras palabras, una expresión
Tabla 1.2 Gramática que define a paréntesis bien balanceados
aritmética es válida si es el resultado de algún árbol de derivación.
Una vez que tenemos bien escrita una expresión aritmética, queremos obtener su valor. E ::=() (1.11)
Éste se obtiene reemplazando cada una de las variables que aparecen en la expresión por
E ::=(E) (1.12)
algún valor permitido y realizando las operaciones correspondientes. Si la expresión es
aritmética, el resultado consistirá de algún número. E ::=EE (1.13)
1.1 Lenguajes y su descripción 13 14 Lógica proposicional

Obsérvese que esta gramática produce expresiones que constan únicamente de parénte-
sis balanceados, no hay números ni otra clase de objetos que no sean paréntesis. La regla Ejercicios
1.11 corresponde a la expresión más simple de paréntesis balanceados () mientras que la
regla 1.12 corresponde a encerrar entre paréntesis una expresión anterior. Por otra parte la
regla 1.13 representa la generación de una nueva expresión con paréntesis balanceados al 1.1.1.- Dadas las producciones para construir expresiones aritméticas, para cada una de
“pegar” o concatenar dos expresiones previas. Veamos un par de ejemplos. las siguientes expresiones decir si se pueden o no construir con esas producciones.
Justifica tu respuesta.
Figura 1.4 Expresiones de paréntesis balanceados
a) − + −a
(()) (()())
b) 2(b · b)
Frase Regla usada Frase Regla usada 1
c) 2
(a + b)
E inicio (—) E inicio (—)
(E) E ::=(E ) (1.12) (E) E ::= (E) (1.12)
(()) E ::=() (1.11) (EE ) E ::= EE (1.13) 1.1.2.- Usando la gramática que dimos para expresiones aritméticas, dibujar los árboles
(()E) E ::= () (1.11) que corresponden a cada una de las expresiones que siguen:
(()()) E ::= () (1.11)

a) −a · b + c
Figura 1.5 Ejemplos de árboles de derivación para expresiones de paréntesis balanceados b) (−b + (b · b − 4 · a · c)) ÷ (2 · a)

(a) (()) (b) ((())()) c) −a + b

E E 1.1.3.- Dadas las expresiones aritméticas del ejercicio 1.1.2, da la secuencia de produccio-
nes que usas, haciendo siempre la sustitución por la izquierda.

( E ) ( E ) 1.1.4.- Dada las siguientes producciones:

S ::= aSb (1.14)


( ) E E S ::= ab (1.15)
S ::= bSa (1.16)
S ::= ba (1.17)
( E ) ( )

Da 3 expresiones que se puedan derivar de esta gramática.


( )

1.1.5.- Para cada uno de los árboles de la figura 1.6, da las producciones que tuvieron que
utilizarse para construirlos:
1.2 El lenguaje de la lógica proposicional 15 16 Lógica proposicional

Figura 1.6 Ejercicio 1.1.5 1.2. El lenguaje de la lógica proposicional


(a) 01001 (b) 145 × 541
C 1.2.1. Argumentos lógicos
S

1 C 1 Uno de los aspectos más importante de la lógica matemática es el decidir si un ar-


0 S gumento es correcto o no. Entre nuestros objetivos está el de utilizar la lógica como una
herramienta para evidenciar o (deducir) la solidez o correctud de un argumento lógico.
4 C 4 Pero para empezar debemos contestar ¿qué es un argumento lógico? En general un argu-
1 S mento o argumentación se da en lenguaje natural presentando ciertos hechos – “alegatos”,
verdades, situaciones – ası́ como una conclusión que, si la argumentación es correcta, de-
5 C 5 be ser evidente de los hechos anteriores a los cuales llamamos premisas. Veamos algunos
0 S ejemplos:

× Si llueve, me quedo en casa. Si me quedo en casa, leo un libro. Por


0 S lo tanto, si llueve, leo un libro
Si me gusta el curso, pongo atención, si pongo atención, entiendo el
1 material. Luego entonces, si me gusta el curso, entiendo el material

x es mayor o igual que y o bien x es menor que y. x no es mayor o


(c) Juan y Pedro van al cine igual que y. De manera que x es menor que y

orac Ahora bien, ¿cómo distinguimos entre las premisas y la conclusión del argumento? Esto
depende de ciertas frases del lenguaje natural que nos dan la pauta para hacer la distinción,
frases como por lo tanto, luego entonces, de manera que, etc.
suj verbo compl Una vez identificadas la conclusión y las premisas se puede reescribir el argumento de
una forma estructurada omitiendo ciertas frases del lenguaje natural, como en los siguientes
ejemplos:
sust conj sujto van prep fs
(a) 1. Si llueve, me quedo en mi casa
2. Si me quedo en mi casa, leo un libro
Juan y sust a art sust 3. Si llueve, leo un libro
(b) 1. Si me gusta el curso, pongo atención
Pedro el cine 2. Si pongo atención, entiendo el material
3. Si me gusta el curso, entiendo el material
(c) 1. x es mayor o igual que y o bien x es menor que y
1.1.6.- Para cada uno de los árboles del ejercicio 1.1.5, da otras dos expresiones o frases
2. x no es mayor o igual que y
distintas a la dada que se puedan construir usando las mismas producciones.
1.2 El lenguaje de la lógica proposicional 17 18 Lógica proposicional

3. x es menor que y (e) p Este programa funciona mal


q Los datos son correctos
(d) 1. Los libros son baratos o son caros
1. p o no q
2. Los libros no son caros
2. q
3. Los libros son baratos
3. p
(e) 1. Este programa funcional mal o los datos son incorrectos
2. Los datos son correctos Se observa que el uso de letras deja ver patrones o esquemas comunes, aunque aún te-
3. Este programa funciona mal nemos algunas palabras del español. Para deshacernos de ellas y formalizar completamente
el estudio de argumentos lógicos introducimos ahora el lenguaje formal de la lógica propo-
sicional. Observen que en el inciso (c), cuando decimos “no (p o q)” estamos manifestando
Obsérvese que la conclusión está separada de las premisas mediante una linea hori- “ni p ni q”.
zontal. Además, de acuerdo a nuestra intuición, todos los argumentos anteriores parecen
correctos, pero formalmente ¿cuándo un argumento es correcto? o ¿cómo decidimos si
un argumento es correcto?. Para responder a esta pregunta nos serviremos de la lógica 1.2.2. Proposiciones
matemática, la cual nos proporcionará un conjunto de reglas operacionales, que en parti-
cular permitirán obtener – deducir, encontrar, conformar, derivar – un nuevo hecho a partir
de ciertos hechos dados. Un argumento lógico será correcto o sólido si la verdad de sus De manera similar a como construimos expresiones aritméticas, vamos ahora a definir
premisas causan necesaria y obligatoriamente la verdad de su conclusión, lo cual puede y construir expresiones lógicas. Empecemos por ver cuáles son los objetos elementales
mostrarse mediante las reglas lógicas de operación. de la lógica. En la aritmética tenı́amos valores numéricos (constantes) y de forma similar
la lógica tiene constantes, pero sólo dos: 0 (falso) y 1 (verdadero). Estas constantes se
Aristóteles fue el primero que para poder manipular argumentos lógicos optó por asig-
conocen como valores lógicos o booleanos. Usar los valores de 0 y 1 como sinónimos de
narles letras a ciertas frases consideradas de estructura lógica simple, llamadas proposi-
falso y verdadero es una libertad que nos damos las personas dedicadas a computación.
ciones atómicas. De esta manera podemos ver en forma concisa los argumentos lógicos.
También podemos hablar de los valores F y T (false y true respectivamente), aunque a lo
Procedamos a hacer esto con los argumentos anteriores para poderlos mostrar a la manera
largo de este texto usaremos 0 y 1 pues es ası́ como se van a representar en la computadora.
aristotélica.
Las expresiones lógicas se conocen también como proposiciones y son enunciados u
(a) p llueve
(b) p Me gusta el curso oraciones a las que les podemos asociar un valor lógico (tienen valor de 0 o 1 ). En general
q me quedo en mi casa las proposiciones se dan en lenguaje natural; un enunciado es una proposición solamente si
q pongo atención
r leo un libro se puede decir, en un contexto dado, si es falso o verdadero. En el ejemplo (a) que acabamos
r entiendo el material de dar, la proposición p=llueve es falsa o verdadera dependiendo del momento en que se
1. Si p, q
1. Si p, q diga, de si en ese momento está lloviendo o no.
2. Si q, r
2. Si q, r Cuando decimos que una proposición es falsa o verdadera, estamos determinando el
3. Si p, r valor de dicha proposición. De manera similar para las expresiones aritméticas, podemos
3. Si p, r hablar del valor de la expresión aritmética, que nos va a dar una constante numérica cal-
(c) p x es mayor y culada a partir de los valores de cada una de las variables y constantes involucradas en la
(d) p Los libros son baratos expresión. A este conjunto de valores le llamamos el estado en el que se evalúa la expre-
q x es igual a y
q Los libros son caros sión – a lo que anteriormente llamamos el contexto de una proposición –. Podemos definir
r x es menor que y entonces un estado como un conjunto de parejas, donde cada pareja tiene el nombre de
1. p o q
1. p o q o r una variable y el valor de esa variable. Un ejemplo de cómo especificamos un estado se
2. no q encuentra a continuación.
2. no (p o q)
3. p
3. r

estado = (x, 5), (y, 7), (p, f also)
1.2 El lenguaje de la lógica proposicional 19 20 Lógica proposicional

En este estado tenemos los valores para tres variables, dos numéricas y la tercera lógica. Estas proposiciones se llaman compuestas pues cada una de ellas se puede descomponer
Cada elemento del conjunto es una pareja ordenada, donde primero se da el nombre de la en dos o más proposiciones atómicas como a continuación se muestra:
variable y después el valor de esa variable en el estado. • Juan y Pedro están hambrientos
Regresando a las expresiones lógicas, son proposiciones:
+ Juan está hambriento
, Está lloviendo
y
, Juan es más grande que Pedro
+ Pedro está hambriento
, x≥z
, El libro es rojo • Está nublado por lo que va a llover; entonces no saldremos
, Roberto es el asesino + Está nublado
, Esta materia es fácil por lo que
No son proposiciones: + va a llover
¡Mario, llévate esto! entonces
+ + + + +

¿Estás seguro? + no saldremos


x+y
• 0 ≤ x ≤ 10
Ni modo
+ 0≤x
¡Viva Pancho Villa!
y
Intuitivamente a las proposiciones se les puede evaluar, es decir, decidir si son falsas o
+ x ≤ 10
verdaderas. Pero como mencionamos antes, este valor depende del estado que tomen sus
variables. Por ejemplo, la tercera proposición de la lista que dimos es verdadera si el estado • El libro es rojo o es azul
es {(x, 5.6), (z, 3.0)}. En este estado particular, la proposición tiene el valor de verdadero. + el libro es rojo
Evaluada en el estado {(x, 2.3), (y, 4.0)} la proposición tiene el valor de falso. La cuarta
o
proposición tendrá el valor de verdadero en el caso de que el libro de que estemos hablando
sea rojo, es decir cuando estemos en el estado {(color del libro, rojo)}. + el libro es azul
Más adelante hablaremos formalmente de estados y del proceso de evaluación. Por Las proposiciones atómicas son aquellas que están a continuación de + y hasta el
ahora sigamos con el estudio de las proposiciones final del renglón. Encerramos en un marco a la palabra o frase que relaciona a la primera
proposición atómica con la siguiente y ası́ sucesivamente. A estas palabras les llamamos
Definición 1.2 Una proposición es un enunciado que puede calificarse como falso (0 ) o verdadero
conectivos.
(1 ), dependiendo del estado en que se evalúe.
A continuación vamos a pasar de las proposiciones en lenguaje natural al estudio de
Decimos que una proposición es atómica si no puede subdividirse en proposiciones un lenguaje formal de expresiones lógicas. En el proceso de traducción o especificación de
más simples. Las proposiciones anteriores son todas atómicas. En contraste, las siguientes lenguaje natural al formal se acostumbra asociar identificadores (letras) a las proposiciones
proposiciones no son atómicas: atómicas, para poder escribir de manera más fluida y ası́ representar y manipular adecua-
Juan y Pedro están hambrientos damente a las proposiciones. Obsérvese que esto ya lo hicimos en la semi formalización de
+ + + +

Está nublado por lo que va a llover, entonces no saldremos argumentos en la introducción de este capı́tulo. A estos identificadores se les conoce como
variables proposicionales. Ya tenemos entonces variables, pero para construir expresiones
0 ≤ x ≤ 10 más complejas necesitamos de constantes y operadores lógicos y que corresponden estos
El libro es rojo o azul últimos a las frases en lenguaje natural que hemos llamado conectivos.
1.2 El lenguaje de la lógica proposicional 21 22 Lógica proposicional

1.2.3. Sintaxis de la lógica proposicional • Juan y Pedro están hambrientos


a∧b
En esta sección definimos un lenguaje formal para la lógica proposicional mediante una • Está nublado por lo que va a llover; entonces no saldremos
gramática para expresiones lógicas.
Las reglas para construir proposiciones son las siguientes: (c → d) → ¬ e
P ::=V arP rop (1.18) • 0 ≤ x ≤ 10
P ::= ConstLog (1.19)
p∧q
P ::= ⊲P (1.20)
P ::= P ⋄ P (1.21) • El libro es rojo o el libro es azul
P ::= (P ) (1.22) r∨s
V arP rop ::= a, b, . . . p, q, . . . variables proposicionales (1.23)
Veamos ahora el árbol de derivación para alguna de estas expresiones, digamos
ConstLog ::= false, true (1.24) (c → d) → ¬ e, en la figura 1.7.
⊲ ::= ¬ not (negación) (1.25)
⋄ ::= ∧, and (y, además, pero) (1.26)
Figura 1.7 Derivación de (c → d) → ¬e
∨, or (o) (1.27)
→, implies (implica, (1.28) P
si . . . entonces, por lo que,
de. . . se sigue) P ⋄ P
↔ if and only if (1.29)
(si y sólo si, sii, syss, iff) ( P ) → ⊲ P

Veamos ahora el paso del español al lenguaje formal de proposiciones mediante algunos
P ⋄ P ¬ V arP rop
ejemplos. Considérese la siguiente declaración de significados a variables proposicionales:
V arP rop → V arP rop e
Proposición atómica Variable proposicional
Juan está hambriento a
Pedro está hambriento b c d
está nublado c
va a llover d
saldremos e Nuevamente, los sı́mbolos terminales están en distinto tipo y color.
0≤x p
x ≤ 10 q
el libro es rojo r
1.2.4. Semántica de la lógica proposicional
el libro es azul s
Una vez que hemos discutido informalmente qué es una proposición ası́ como la sinta-
xis de un lenguaje formal para proposiciones, es momento de hablar de su significado. Los
Las proposiciones no atómicas de los ejemplos anteriores son representadas de la si- aspectos relacionados con el significado de cualquier clase de expresiones forman lo que
guiente manera: se conoce como la semántica del lenguaje. En nuestro caso ya conocemos el significado
1.2 El lenguaje de la lógica proposicional 23 24 Lógica proposicional

intuitivo de las proposiciones, de hecho le hemos dado a los operadores lógicos un nombre para verdadero y 0 para falso. Cada renglón de la tabla corresponde a un estado particular
relativo a su significado. Por ejemplo la proposición ¬p se lee “no p” y representa a la de los operandos. En este caso nuestra expresión es ¬P que tiene como único operando a P
negación de la información especificada por p. En analogı́a a las expresiones aritméticas que independientemente de que sea una proposición atómica o no, solo puede estar en dos
cuyo significado es un número, calculado al hacer las operaciones dadas en la expresión estados posibles por lo que la tabla de verdad sólo tiene dos renglones. La primera columna
de acuerdo a un estado particular de sus variables, cada proposición tiene como significado es la que indica el estado del operando P mientras que la segunda nos indica el resultado
un valor booleano que depende tanto del valor particular de sus variables proposicionales de la evaluación de la expresión deseada, en este caso ¬P . Como se ve en la tabla anterior,
como del significado de las constantes y operadores lógicos. De manera que para poder el operador ¬ lo que hace es “invertir” o negar el valor original de la proposición dada.
entender el significado de una proposición debemos empezar por definir el significado o Veamos a continuación la semántica de los operadores lógicos binarios.
funcionamiento de cada constante u operador lógico. El significado de las constantes lógi-
cas debe ser claro, la constante true significa verdadero (1 ) y la constante false significa
falso (0 ). La manera más fácil para definir el significado de un operador lógico es mediante
La conjunción
lo que se conoce como tablas de verdad. En lo que sigue se usan mayúsculas para deno-
tar proposiciones que pueden ser compuestas. A continuación analizamos cada operador La conjunción de dos proposiciones P y Q se denota de alguna de las siguientes formas
lógico.
P ∧ Q, P & Q, P · Q, P Q
La negación Nosotros usaremos P ∧ Q exclusivamente.
Su significado en español es:
La negación de una proposición P se denota de alguna de las siguientes formas
P ∧Q
¬P, ∼ P, P , P ′
P y Q
Nosotros usaremos ¬P exclusivamente. P además de Q
Su significado en español es:
P pero Q
¬P Puede observarse aquı́ cierta incapacidad de la lógica para representar al español, cier-
no P tamente al usar la palabra pero se le está dando cierta intensión a una afirmación que no
corresponde a la simple conjunción, como en la frase Te llevo al cine, pero haces la tarea
no es cierto que P
la cual sólo puede representarse con una conjunción que corresponde a Te llevo al cine y
es falso que P haces la tarea. Sin embargo la única posibilidad para representar un pero es la conjunción.
Su tabla de verdad es:
Su tabla de verdad es:
P Q Conjunción
negación
P ∧Q
P ¬P
1 1 1
1 0 1 0 0
0 1 0 1 0
0 0 0
Este tipo de tablas merece algunas observaciones. Para calcular la tabla de verdad de
una proposición cualquiera E es necesario considerar todos los estados posibles de los En esta ocasión, al haber dos operandos P y Q, tenemos cuatro posibles estados para el
operandos de la expresión E, cada operando puede estar en uno de dos estados posibles 1 sistema:
1.2 El lenguaje de la lógica proposicional 25 26 Lógica proposicional

• Que ambas proposiciones valgan 1 Su significado en español es:


• Que P valga 0 y Q valga 1
• Que P valga 1 y Q valga 0 P →Q
• Que ambas proposiciones valgan 0 si P entonces Q
P implica Q
La disyunción P es (condición) suficiente para Q
Q, si P
La disyunción de dos proposiciones P y Q se denota se denota de alguna de las siguien- P sólo si Q
tes formas
Q se sigue de P
Q es (condición) necesaria para P
P ∨ Q, P | Q, P + Q
Su tabla de verdad es la que sigue:
Nosotros usaremos P ∨ Q exclusivamente.
Su significado en español es:
P Q Implicación o Condicional
P ∨Q P →Q
1 1 1
P o bien Q 1 0 0
o bien P o bien Q 0 1 1
0 0 1
Su tabla de verdad es:
Nos sorprende en esta tabla la evaluación del primer y segundo renglones, pues parece
P Q Disyunción
a primera vista, contrario a la intuición. Veamos un ejemplo:
P ∨Q
1 1 1 Ejemplo 1.9.
1 0 1 p es Una botella contiene ácido
0 1 1 q es La botella tiene una calavera en la etiqueta
0 0 0 p→q es Si una botella tiene ácido,
entonces tiene una calavera en la etiqueta

La implicación Como se ve en este ejemplo, la verdad de p (que la botella contenga ácido) nos permite
garantizar la verdad de q (que hay una calavera en la etiqueta). Pero si la botella no contiene
La implicación o condicional de dos proposiciones P y Q se denota de alguna de las
ácido, pudiera ser que la botella contenga algún otro compuesto venenoso y que de todos
siguientes formas
modos tenga una calavera en la etiqueta, estado representado por el tercer renglón de la
P → Q, P ⇒ Q, P ⊃ Q tabla; pero también pudiera ser que la botella no tenga ácido y que no tenga calavera en la
etiqueta, estado representado por el último renglón de la tabla. Lo que no puede suceder (el
Nosotros usaremos P → Q exclusivamente. resultado es 0 ) es que la botella conteniendo ácido, no tenga una calavera en la etiqueta,
estado representado por el segundo renglón de la tabla.
1.2 El lenguaje de la lógica proposicional 27 28 Lógica proposicional

Veamos otro ejemplo, esta vez en matemáticas. Considérese la siguiente proposición3 : P Q Equivalencia o Bicondicional
P ↔Q
((x > y) ∧ (y > z)) → (x > z)
1 1 1
Evaluemos esta expresión en el estado {x = 8, y = 6, z = 4}. En este estado, el ante- 1 0 0
cedente de la implicación es verdadero (8 > 6) y (6 > 4) , por lo que podemos garan- 0 1 0
tizar que x > z, pues en efecto, 8 > 4. Sin embargo, veamos que sucede en el estado
0 0 1
{x = 7, y = 8, z = 6}. En este caso el antecedente es falso pero el consecuente es ver-
dadero. El valor de la proposición es, de acuerdo a la definición en su tabla de verdad,
verdadero. Otro estado que ilustra el primer caso es {x = 4, y = 6, z = 5}. También este En este caso, la equivalencia es verdadera si ambas proposiciones se evalúan a lo mis-
estado hace que la proposición se evalúe a verdadero, porque una vez que el antecedente mo: ambas se evalúan a falso o ambas se evalúan a verdadero.
es falso, el estado del consecuente puede ser cualquiera. Por otra parte, si el antecedente es
verdadero, no puede suceder que el consecuente sea falso, es decir, no existe un estado en 1.2.5. Propiedades de los conectivos lógicos
el cual (x > y) y (y > z) y que sin embargo tengamos (x ≤ z).
Los valores de verdadero y falso de la implicación simplemente nos dicen cuáles esta-
dos pueden presentarse y cuáles no. En el primer ejemplo que dimos, si llueve es seguro Vimos en la sección anterior lo que constituye una proposición ası́ como los principales
que me quedo en casa, pero si no llueve, el estado del consecuente puede ser cualquie- operadores o conectivos lógicos. De conocer las tablas de verdad para estos conectivos,
ra. Recordemos que sólo hay dos estados posibles para las proposiciones lógicas, falso o podemos observar algunas de sus propiedades importantes.
verdadero.
Simetrı́a: Esta propiedad nos dice que el orden en que aparecen las proposiciones relacio-
nadas por el conectivo lógico no afecta el resultado de la operación. Por ejemplo, la
La equivalencia evaluación de p ∧ q da siempre el mismo resultado que la evaluación de q ∧ p. Esta
propiedad, que también conocemos como propiedad conmutativa, la tienen asimismo
La equivalencia o bicondicional de dos proposiciones P y Q se denota de alguna de las los operadores aritméticos de suma y multiplicación. De las expresiones aritméticas
siguientes formas: sabemos, por ejemplo, que ni la resta ni la división son operadores simétricos: No es
lo mismo 7 − 5 que 5 − 7. Tampoco es lo mismo 8 ÷ 2 que 2 ÷ 8. También en el
P ↔ Q, P ⇔ Q, P ≡ Q caso de los conectivos lógicos no todos son simétricos. Los conectivos ∨, ∧, ↔ son
simétricos pues:
Nosotros usaremos P ↔ Q exclusivamente.
Su significado en español es: El valor de: es el mismo que el de:
p∨q q∨p
P ↔Q p∧q q∧p
P si y sólo si Q p↔q q↔p

P es equivalente a Q De su tabla de verdad es fácil ver que la implicación (→) no es simétrica.


P es (condición) necesaria y suficiente para Q
Asociatividad: En aritmética es claro que (a + b) + c = a + (b + c). Decimos entonces
que la suma es asociativa. En el caso de los conectivos lógicos no todos tienen esta
Su tabla de verdad se encuentra en la siguiente página.
propiedad llamada asociatividad. Mientras que en la aritmética la suma y la multi-
3
Usamos aquı́ tantos paréntesis como se requieran para definir sin ambigüedades la estructura de la ex- plicación son asociativos, esto no es ası́ con la resta y la división. Por ejemplo, en el
presión lógica. estado {a = 5, b = 7, c = 3}, a − (b − c) = 1, mientras que (a − b) − c = −5. También,
1.2 El lenguaje de la lógica proposicional 29 30 Lógica proposicional

(a ÷ b) ÷ c = 5/21 ≈ 0.24, mientras que a ÷ (b ÷ c) = 15/7 ≈ 2.1. En el caso Idempotencia: Esta propiedad habla de un operador que al tener dos operandos iguales
de la lógica matemática los conectivos que son asociativos son la conjunción (∧ ), el resultado es el operando mismo. Por ejemplo, si tenemos la proposición p ∧ p
la disyunción (∨ ) y la equivalencia (↔). Nuevamente, la condicional (→) tampoco podemos observar de la tabla de verdad, que su valor es el mismo que el de p. Los
presenta esta propiedad. operadores ∧ y ∨ son idempotentes:

El valor de: es el mismo que el de: p p∧p p∨p


(p ∧ q) ∧ r p ∧ (q ∧ r)
1 1 1
(p ∨ q) ∨ r p ∨ (q ∨ r)
(p ↔ q) ↔ r p ↔ (q ↔ r) 0 0 0

Elemento identidad: En general, un elemento identidad para un operador ⋆ es aquel valor Para la implicación hay otras proposiciones interesantes que vale la pena notar. Se
que al operarlo con una expresión el resultado es esa misma expresión, es decir e es caracterizan porque al operar con la constante 0 o 1 , dan siempre como resultado el
una identidad para ⋆ si e ⋆ x = x = x ⋆ e para cualquier expresión x. (Noten que valor de 1 :
estamos suponiendo la simetrı́a con el elemento identidad y el operador.) En el caso
de la suma, el elemento identidad es el 0 puesto que a + 0 = a = 0 + a, mientras que p 0 →p p→1
en el caso de la multiplicación el elemento identidad es el 1 ya que a · 1 = a = 1 · a.
Como se ve, el elemento identidad va a depender del operador o conectivo particular. 1 1 1
En el caso de los conectivos lógicos, los elementos identidad de cada operador se dan 0 1 1
a continuación. Para ver que, en efecto, son elementos identidad, sugerimos observar
las tablas de verdad que se construyen en los ejercicios de la sección anterior.
Ejercicios
Operador Identidad El valor de es el valor de
∧ 0 p∧1 p
1.2.1.- ¿Cuáles de las siguientes oraciones son proposiciones atómicas, cuáles proposicio-
∨ 0 p∨0 p
nes no atómicas y cuáles no son proposiciones? Justifica tu respuesta.
↔ 1 p↔1 p
a) El cielo está nublado
b) Por favor ven a verme
Elemento neutro: También conocido como dominante. es aquella constante que al operar √
con cualquier otro valor, el resultado es la constante misma. Es decir, e es un elemento −b ± b2 − 4ac
c)
neutro para el operador ⋆ si x ⋆ e = e = e ⋆ x para cualquier expresión x. En el caso 2a
de la aritmética, el 0 (cero) con el producto tiene ese efecto. Hay que notar que la
d) 0 ≤ x ≤ 10
suma, la resta y la división no tienen elemento neutro (el elemento nulo tiene que ser
e) Juan y Pedro van al cine
el mismo para todos los valores que puedan participar en la operación). En el caso de
f ) Estoy a dieta porque es necesario para bajar de peso
las proposiciones lógicas, el elemento neutro de la disyunción (∨ ) es el valor 1 y de
la conjunción (∧ ) es el valor 0 . 1.2.2.- Expresa los siguientes enunciados en el lenguaje de la lógica proposicional
a) Un triángulo equilátero tiene sus tres ángulos iguales.
El valor de es el valor de b) Siempre que come fresas le da alergia.
c) 0 ≤ x ≤ y ≤ 15
p∨1 1
d) Todo número par es divisible entre 2.
p∧0 0
e) Para que vayas al cine tienes que hacer tu tarea.
1.3 Evaluación de expresiones 31 32 Lógica proposicional

1.2.3.- Usa variables proposicionales, p, q y r, para formalizar los siguientes argumentos


lógicos. Lista cómo asignas las variables a las proposiciones atómicas.
1.3. Evaluación de expresiones
a) Si hay exámenes cada semana, los estudiantes se quejan;y si no hay exámenes
cada semana, los estudiantes se quejan; De cualquier forma los estudiantes se
Si bien el proceso de evaluación de una expresión nos queda intuitivamente claro y en
quejan.
muchos casos es un proceso mental completamente automático, vamos a formalizarlo en
b) Si n es número primo, no puede ser divisible entre 2; sabemos que 24 es divisi-
esta sección. El objetivo de esta formalización radica principalmente en la necesidad de la
ble entre 2, por lo que no es número primo.
misma para un estudio en abstracto de la evaluación y sus propiedades mediante el cual se
c) Si lo mató, fue un crimen pasional; y si es un crimen pasional, el asesino sale
podrá automatizar el proceso de evaluación más fácilmente.
corriendo; sabemos que ella no salió corriendo; entonces no lo mató
d) No hay otra manera de pasar la materia mas que estudiando
e) Hay que llegar temprano para agarrar buen lugar. 1.3.1. Estados y evaluación

1.2.4.- Usando las variables proposicionales ℓ y s para denotar a las proposiciones atómi- Regresamos al concepto de estado que, como dijimos en la sección anterior, está ı́ntima-
cas Juan es muy listo y Juan está satisfecho respectivamente y denota con estas va- mente relacionado con la evaluación de expresiones (o, en nuestro caso, de proposiciones).
riables proposicionales y los conectivos lógicos a las siguientes proposiciones:
a) Juan es muy listo y está satisfecho Definición 1.3 Un estado es una función que asigna a una variable dada x un valor v elegido de
b) Si Juan no fuera listo, no estarı́a satisfecho entre aquellos que pueden asignarse a esa variable. Un estado se representa usualmente
c) Juan es listo o está satisfecho mediante un conjunto de parejas ordenadas (x, v)(o x = v), donde en cada pareja el primer
d) Juan está satisfecho únicamente si es listo elemento x es una variable y el segundo elemento v es un valor.
e) Si Juan es listo entonces está satisfecho
f ) Juan es listo pero no está satisfecho Definición 1.4 La evaluación de una expresión E en un cierto estado se logra reemplazando todas
las variables en E por los valores que éstas tienen en ese estado y calculando después el
valor de la expresión resultante, dictada por el significado de los operadores que figuran en
1.2.5.- En los siguientes enunciados, identifica las proposiciones atómicas y ası́gnales va-
la expresión.
riables proposicionales. Una vez hecho esto, convierte los enunciados a proposicio-
nes lógicas. Esta definición, si bien debe ser intuitivamente clara, no es completamente formal; más
a) Si Juan fue al cine, seguro que Lupe fue también. adelante definiremos formalmente qué significa reemplazar una variable por un valor o una
b) Las noticias no son buenas expresión. Veamos algunos ejemplos:
c) Te darán clave para la red sólo si estás inscrito en el curso
d) Si asistió a las clases, debió pasar la materia
e) El asesino era de tez blanca o clara Expresión Estado Evaluación
m÷n { (m, 63) (n, 7) } 9
1.2.6.- Elabora la tabla de verdad para el operador nand, que está definido como a nand b m÷n { (m, 8) (n, 48) } 1
6
es ¬ (a ∧ b).
i=1 { (i, 2) (j, 1) } 0

1.2.7.- Elabora las tablas de verdad para p ∧ p, p ∨ ¬ p, p ∨ p, p ∧ 1 , p ∧ 0 , p ∨ 1 y p ∨ 0 . i=1 { (i, 1) } 1


Observa cada una de estas tablas de verdad y dı́ la relación que tienen con la variable i=1 { (j, 1) } i=1
p original. a + (b · c) { (a, 3) (b, 5) (c, 2) } 13
a + (b · c) { (a, 4) (b, 5) (c, 7) (d, 8) } 39
a + (b · c) { (a, 13) (b, 11) (d, 2) } 13 + (11 · c)
1.3 Evaluación de expresiones 33 34 Lógica proposicional

Otro concepto, que se relaciona en particular con el orden de evaluación de una ex-
Expresión Estado Evaluación presión, es el de asociatividad. Esta propiedad nos permite decidir, si tenemos al mismo
(p ∧ q) ∨ r { (p, 0 ) (q, 1 ) (r, 1 ) } 1 operador más de una vez en una expresión, y en ausencia de paréntesis para indicar el orden
de evaluación, cuál de las presencias del operador debe evaluarse primero. Por ejemplo, en
(p ∧ q) ∨ r { (p, 1 ) (q, 0 ) (r, 0 ) } 0 la expresión p → q → r, ¿cuál de los dos debe evaluarse primero, el de la izquierda o el de
(p → q) → r { (p, 0 ) (q, 0 ) (r, 0 ) } 0 la derecha? El resultado de la evaluación es distinta, dependiendo de la asociatividad que
(p → q) → r { (p, 1 ) (q, 0 ) (r, 0 ) } 1 tengamos.

p q r (p → q) → r V alor p → (q → r) V alor
Si sucede que hay variables en la expresión que no aparecen en el estado (es decir, que
no tienen un valor asignado), entonces la evaluación de ésta incluirá presencias de esas 0 0 0 1 →0 0 0 →1 1
variables a las que no les podemos asignar valor (quedarán con incógnitas, como les hemos
llamado a este tipo de variables). En estos casos lo más común es que la expresión obtenida
mediante esta evaluación parcial interactúe más adelante con otro estado para terminar su Como se puede ver, tanto la precedencia como la asociatividad determinan, en ausencia
evaluación. Sin embargo, en algunos casos se puede evaluar completamente una expresión de paréntesis, el orden de evaluación de las subexpresiones. Los paréntesis se usan, como
aun cuando el valor de alguna de sus variables no esté definido en el estado. Estos casos ya dijimos, para alterar la precedencia y asociatividad natural o bien para que quede ex-
son aquellos en los que el valor de la expresión no depende de dicha variable. Por ejemplo, plı́cita la precedencia y asociatividad que deseamos. A continuación damos una tabla de
si llegamos a una expresión como 0 · (a + b) es irrelevante el valor ya sea de a o de b, ya precedencias y asociatividades de los operadores aritméticos y lógicos más comunes. En el
que esta expresión se evalúa a 0 (cero); lo mismo para las expresiones 0 → p o bien p→ 1 , orden en que aparecen la precedencia va de mayor a menor. Los operadores que tienen la
pues sabemos que el resultado de ambas expresiones es verdadero (1 ). Es útil, entonces, misma precedencia aparecen en el mismo renglón de la tabla.
para ahorrarnos algo de trabajo, conocer las propiedades de los operadores y de algunas
expresiones en las que están involucradas constantes.
Operador Descripción Asociatividad

1.3.2. Precedencia y asociatividad + − ¬ operadores unarios prefijos izquierda

∗∗ exponenciación derecha
Hemos utilizado paréntesis en expresiones. Los paréntesis nos indican agregación. Por
ejemplo, en la expresión 3 +(4· 5) los paréntesis agregan la expresión 4 · 5 como el segundo · / ÷ mod gcd producto, división, módulo y máximo izquierda
operando de la suma para indicar que la operación que queremos realizar es la suma de común divisor
3 con el producto de 4 y 5, cuyo resultado es 23. Si la expresión estuviera parentizada
(3 + 4) · 5, se estarı́a agregando la suma de 3 y 4 como operando del producto, dando como + − suma y resta binarias izquierda
resultado 35. Para reducir el número de paréntesis en una expresión se asignan precedencias
= < > comparadores izquierda
a los operadores. En particular, los lenguajes de programación hacen esto, pues el uso
excesivo de paréntesis resulta ser una carga para el programador y obscurece el significado ∧ ∨ conjunción y disyunción izquierda
de la expresión para el lector humano. Si el operador op1 tiene mayor precedencia que el
operador op2 , eso quiere decir que primero evaluamos la operación de op1 y después la → implicación derecha
de op2 . Por ejemplo, como usualmente la multiplicación tiene mayor precedencia que la
↔ bicondicional izquierda
suma, en la expresión 3 + 4 · 7 se debe evaluar primero el producto 4 · 7, y ese resultado
usarlo para la suma con 3. En otras palabras, es como si los paréntesis aparecieran alrededor
del producto, 3 + (4 · 7) y de hecho, una vez definido el orden de precedencia, es posible Como podemos observar de la tabla anterior, en ausencia de paréntesis la evaluación
restaurar los paréntesis originales siguiendo este orden. de p → q → r debe realizarse asociando p → (q → r), ya que el operador → asocia
1.3 Evaluación de expresiones 35 36 Lógica proposicional

a la derecha. Esto quiere decir que evaluamos de derecha a izquierda, como si hubiera se refiere la sustitución es b, mientras que en el segundo caso es (a + b). En ambos casos,
paréntesis alrededor de q → r. En el caso de la expresión 3 + 4 · 7, la precedencia de · y dado que la sustitución textual es lo primero que se va a ejecutar, toma como operando
es mayor que la de + binario, por lo que se evalúa a 31 3 + (4 · 7) . Sin embargo, esta al grupo que se encuentra a su izquierda, que en el primer caso consiste únicamente de b
tabla no nos ayuda a determinar la parentización de expresiones como P ∧ Q ∨ R, ya que mientras que en el segundo caso, dado que se usaron paréntesis, consiste de (a + b).
∧ y ∨ tienen la misma precedencia, pero no son el mismo operador, por lo que no podemos Podemos ver algunos ejemplos en la tabla 1.6, utilizando ambas notaciones por el mo-
utilizar la asociatividad para dirimir el conflicto. En este tipo de expresiones es costumbre mento, aunque después usaremos la que indicamos como la más adecuada para computa-
poner siempre paréntesis para indicar la precedencia, ya que de otra manera la evaluación ción.
de la expresión es ambigua. Por lo tanto debemos escribir (P ∧ Q) ∨ R o bien P ∧ (Q ∨ R),
dependiendo de cuál es la precedencia deseada.
Tabla 1.6 Ejemplos de sustitución textual
Puede haber estados en los que la evaluación sea la misma. Veamos la evaluación de
estas dos asociatividades en un estado en el que no se obtiene el mismo valor, para corro-
borar que en ese estado no producen el mismo resultado y por lo tanto las dos expresiones Expresado como Expresado como Resultado
no son equivalentes.
x
E[x := R] ER
P Q R (P ∧ Q) ∨ R valor P ∧ (Q ∨ R) valor
0 0 1 0 1 1 1 0 0 1 0 1. a + b[a := x + y] a + bax+y a+b

Insistimos en que el concepto de asociatividad sólo se puede aplicar cuando se trata de 2. (a + b)[a := x + y] (a + b)xx+y ((x + y) + b)
dos o más presencias consecutivas del mismo operador; no son los niveles de precedencia 3. (x · y)[x := z + 2] (x · y)xz+2 ((z + 2) · y)
los que definen la asociatividad.
4. (4 · a · b)[a := b] (4 · a · b)ab (4 · (b) · b)
1.3.3. Sustitución textual 5. (p → q)[p := 0 ] (p → q)p0 ((0 ) → q)

6. (p → p ∨ q)[p := p ∨ q] (p → p ∨ q)pp∨q ((p ∨ q) → (p ∨ q) ∨ q)


Supongamos que tenemos dos expresiones4 E y R, y sea x una variable (usualmente
x
presente en E). Usamos la notación E[x := R] o E R para denotar la expresión que es 7. (5 · x)[x := 2 + 6] (5 · x)x2+6 (5 · (2 + 6))
la misma que E, pero donde cada presencia (ocurrencia) de x en la expresión E ha sido
sustituida por la expresión (R). Llamamos sustitución textual al acto de sustituir todas las
presencias de x en E por (R). Cuál de las dos notaciones utilizar no es relevante, excepto
Deseamos hacer hincapié sobre los siguientes puntos:
que se debe elegir una de ellas y mantener esa elección. La notación E[x := R] es más
x
apropiada para computación, pero la notación E R es la utilizada por los profesionales de • Debe quedar claro el porqué la sustitución se define poniendo entre paréntesis a R
la lógica matemática. dentro de E: si no lo hiciésemos ası́ corremos el riesgo de alterar la parentización
Es conveniente notar que la sustitución textual es una operación y podemos considerar implı́cita de la expresión. En la sustitución 7 del ejemplo, si evaluamos la expresión
x resultante obtenemos 40, pero si no pusiéramos los paréntesis alrededor de 2 + 6, la
a [x := R], o bien R , como el operador. En este caso no es una operación de números a
números como la suma y el producto, o de proposiciones a proposiciones como la negación expresión se evaluarı́a a 16, de acuerdo con la precedencia de los operadores en la
o conjunción, sino que se trata de una operación de expresiones cualesquiera en expresiones expresión resultante.
cualesquiera; a este operador se le asigna la precedencia más alta de todos los operadores • R, la expresión por la que vamos a sustituir, puede o no tener presencias de x, la
y su asociatividad es a la izquierda. Esto debe tomarse en cuenta cuando veamos a cuál variable a la que vamos a sustituir.
expresión es a la que afecta la sustitución: no es lo mismo a + b[a := x + y] (a + bx+y a
) • Si E no tiene ninguna presencia de x, la expresión queda exactamente igual a como

que (a + b)[a := x + y] (a + b)ax+y , pues en el primer caso la única expresión a la que estaba, es decir E[x := R] = E.
• Si hay varias presencias de x en E, como es el caso del ejemplo 6, se piensa en la
4
Nos referimos a expresiones de cualquier tipo. sustitución hecha simultáneamente a cada presencia de x en E. Es como si marcára-
1.3 Evaluación de expresiones 37 38 Lógica proposicional

mos las posiciones de x en E, después ponemos una caja en lugar de la variable y podamos escribir x = Q. Pero entonces Q tiene tres variables escondidas, a, b y c, y una
después colocamos en esas cajas a (R). Si es que x aparece en R, no regresamos a sustitución de la forma Q[a := 3] se debe interpretar como
sustituir estas presencias de x en el resultado.
• Es común que en el resultado queden paréntesis que no aportan nada, por ejemplo
 √ 
( −b + b2 − 4 · a · b )/(2 · a) [a := 3]
aquellos que rodean a una variable sola. En este caso, y cuando la eliminación de
los paréntesis no afecte la precedencia y asociatividad del resultado, éstos pueden √ √
eliminarse. Esto también se refiere a los paréntesis que utilizamos para rodear a la cuyo resultado es (−b + b2 − 4 · 3 · b )/(2 · 3) = (−b + b2 − 12 · b )/6
expresión sobre la que queremos hacer la sustitución. En adelante mantendremos Queremos hacer notar que la evaluación de una expresión consiste en, simplemente,
los paréntesis sólo en aquellos casos en que sean estrictamente necesarios, es decir, hacer una sustitución textual en la expresión, donde por cada variable definida en el estado
cuando quitarlos altere la precedencia y asociatividad de la expresión resultante. en que se desea evaluar a la expresión se le sustituye por el valor de la variable en ese
Si tenemos una lista de variables x : x1 , x2 , . . . , xn distintas y una lista de expresiones estado. Después, si es posible, se ejecutan las operaciones necesarias para obtener el valor
R : R1 , R2 , . . . , Rn (no forzosamente distintas), podemos definir la sustitución textual si- de la expresión en ese estado.
x
multánea E[x := R] E R como el reemplazo simultáneo de cada una de las variables de
la lista x por su correspondiente expresión en la lista R. Esto es, x1 se reemplaza con  R1 ,
x2 con R2 , y ası́ sucesivamente. Por ejemplo, (p ∧ q)[p, q := 1 , 0 ] es (1 ) ∧ (0 ) , cuyo Ejercicios
valor es 0, mientras que (p ∧ q)[p, q := 1 , p] es (1 ∧ p), ya que no se puede “regresar” a
hacer la sustitución textual de la variable x que aparece en la expresión R, en la expresión
resultante. 1.3.1.- Parentiza las siguientes expresiones de acuerdo a la precedencia y asociatividad de
Un punto mucho muy importante a notar es que la sustitución textual se utiliza única- los operadores, sin preocuparte por la evaluación de la expresión:
mente para sustituir presencias de variables, no de expresiones ni de constantes. a) −b + b ∗ ∗2 − 4 · a · c/2 · a
Como ya mencionamos, la asociatividad de la sustitución textual es izquierda, por lo b) p ∧ q ∨ r → s ↔ p ∨ q
que E[x := R][z := S] se asocia E[x := R] [z := S], donde E, R y S son expresiones y c) a < b ∧ b < c → a < b
x y z son variables; esta operación se define como una copia de E en la que las presencias d) a · b < a · c ↔ a > 0 ∧ b > c
de x fueron sustituidas por R, y en esa copia las presencias de z fueron sustituidas por S. Es
importante notar que, en general, E[x := R][z := S] es distinto a E[x, z := R, S], como 1.3.2.- Para cada expresión que se da a continuación, evalúa la expresión en cada uno de los
se puede ver en las siguientes sustituciones: estados que se proporcionan:

(p → p ∨ q)[p := q][q := p] es p→p∨p Expresión Estados Evaluación


(p → p ∨ q)[p, q := q, p] es q →q∨p 2
a) a + (b · c) {(a, 5)(b, 3)(c, 6)}
{(a, −2)(b, 1)(c, 11)(d, 3)}
Variables escondidas en la sustitución textual
{(d, 3)(b, 4)(c, 10)}
Es usual asignar una variable a una expresión para que sea más sencillo manipularla. {(a, 3)(b, 0)}
Por ejemplo, podemos decidir
√ b) p → q ↔ q → r {(p, 1 )(q, 0 )(r, 1 )}
−b + b2 − 4 · a · c
Q: {(p, 0 )(r, 1 )}
2·a
{(p, 1 )(r, 0 )}
y utilizar esta asociación para, en lugar de escribir
√ {(p, 1 )(q, 1 )(r, 1 )}
x = (−b + b2 − 4 · a · b)/(2 · a)
1.4 Análisis sintáctico de expresiones lógicas 39 40 Lógica proposicional

1.3.3.- Ejecuta las siguientes sustituciones textuales, fijándote bien en la parentización. Qui- única manera de responder es derivando dicha cadena mediante las reglas de la gramática;
ta los paréntesis que no sean necesarios. sin embargo, este proceso puede ser largo y tedioso, y si bien esta es la manera usual de
a) x[x := b + 2] implementar el proceso de análisis sintáctico, nos gustarı́a tener un proceso más simple
b) (x + y · x)[x := b + 2] y directo para nuestro uso. A continuación nos serviremos de la operación de sustitución
c) (x + x · 2)[y := x · y] textual para verificar cuándo una cadena de sı́mbolos es una fórmula bien formada.
d) (x + x · y + x · y · z)[x := x + y]
1.3.4.- Ejecuta las siguientes sustituciones textuales simultáneas, fijándote bien en la paren- 1.4.1. Esquemas
tización. Quita los paréntesis que no sean necesarios.
a) x + y · x[x, y := b + 2, x + 2]
b) (x + y · x)[x, y := x · y, x · y] En matemáticas es común asociar identificadores a ciertas expresiones con el propósito
c) (x + y · 2)[y, x := x · y, x · x] de abreviar su escritura; podemos escribir por ejemplo A para denotar a la fórmula p ∨ q.
d) (x + x · y + x · y · z)[x, y := y, x] Sin embargo, A no es una variable proposicional, pues para obtener su valor es necesario
evaluar la fórmula p ∨ q, a partir de los valores de las variables proposicionales p y q. Un
1.3.5.- Ejecuta las siguientes sustituciones textuales, fijándote bien en la parentización. Qui- identificador es entonces una especie de variable informal, conocida entre los lógicos como
ta los paréntesis que no sean necesarios. metavariable. A continuación fijamos una definición de esquema
a) x + y · x[x := y + 2][y := y · x]
b) (x + y · x)[x := y + 2][y := y · x] Definición 1.5 Un esquema es una expresión construida de manera similar a las fórmulas pero usan-
c) (x + x · 2)[x, y := x, z][x := y] do, en algunos casos, identificadores en vez de variables proposicionales.
d) (x + x · y + x · y · z)[x, y := y, x][y := 2 · y]
Si bien esta definición es informal pues el concepto de identificador no ha sido definido
1.3.6.- Expresa la evaluación de las expresiones en la pregunta 1.3.2 utilizando sustitución
con precisión, con ella nos basta.
textual simultánea.
Ejemplo 1.10. Si A y B son identificadores, entonces A ∧ B es un esquema.

1.4. Análisis sintáctico de expresiones lógicas


Ejemplo 1.11. La expresión (A → B) es un esquema, y si A = (p ∧ q) y B = (p ∨ q) entonces
nos proporciona una forma más concisa de escribir
En general, una expresión es una cadena o palabra construida mediante sı́mbolos de un 
alfabeto dado. Sin embargo no todas las cadenas que construyamos simplemente pegando (p ∧ q) → (p ∨ q)
sı́mbolos van a ser expresiones útiles, sino únicamente aquellas construidas de acuerdo
a una gramática diseñada con ese propósito particular. El proceso de evaluación descrito
anteriormente requiere que la expresión a evaluar sea sintácticamente válida; por ejemplo,
no podemos ni debemos intentar evaluar una cadena de sı́mbolos como p¬q puesto que ésta Ejemplo 1.12. Si p es una variable proposicional y A = (p → q), la fórmula (p ∧
 ¬ A) es un
no es una expresión válida y el intento de evaluarla fracasará. esquema que proporciona una forma más concisa de escribir p ∧ ¬ (p → q) .
En nuestro caso a las expresiones generadas de manera legı́tima por la gramática de
la lógica proposicional les llamamos expresiones lógicas, proposiciones o fórmulas. Por
ejemplo, P ∧ Q es una fórmula si es que garantizamos que P y Q son, a su vez, fórmulas. La sustitución textual en combinación con el concepto de esquema proporcionan una
El proceso de evaluación de una expresión debe ser precedido por el proceso de reconocer manera simple para decidir si una expresión es una fórmula bien formada. Por ejemplo,
cuándo una cadena de sı́mbolos es una fórmula bien construida o formada; este proceso ¿cómo podemos verificar si la expresión p ∧ ¬q → r ∧ s es una implicación?; basta ver que
se conoce como análisis sintáctico. En nuestro caso particular la pregunta que nos interesa dicha fórmula se obtiene a partir del esquema de implicación A → B, en el caso particular
responder es ¿cuándo una cadena de sı́mbolos es una expresión lógica? Hasta ahora la en que los identificadores se sustituyan (instancien) con A = p ∧ ¬q y B = r ∧ s.
1.4 Análisis sintáctico de expresiones lógicas 41 42 Lógica proposicional

Definición 1.6 Instanciar un esquema consiste en hacer una sustitución textual simultánea de ce- Ejemplo 1.14. El esquema ¬A → P ∨ Q es una condicional, porque al restaurar los
ro o más identificadores en el esquema, por fórmulas bien construidas, que pueden o no paréntesis implı́citos, dada la precedencia y asociatividad de los operadores obtenemos
involucrar a identificadores que aparecen originalmente en el esquema. ((¬A) → (P ∨ Q)).

Un esquema tiene tantas instancias como fórmulas bien formadas podamos usar en la (P → Q)[P, Q := A, P ∨ Q][A := ¬A] =
sustitución textual simultánea, esto es, un número infinito de instancias. Todo esquema = ((A) → (P ∨ Q)[A := ¬A]
es una instancia de sı́ mismo, ya que resulta de la sustitución textual simultánea de cero
= ((¬A) → (P ∨ Q))
identificadores en el esquema, o visto de otra manera, donde cada identificador que aparece
en el esquema es sustituido por sı́ mismo. que quitando los paréntesis superfluos, queda
Si bien existen una infinidad de esquemas, basta identificar con nombre a los siguientes,
llamados básicos: ¬A → P ∨ Q.

Como el esquema original del que partimos es una condicional, decimos que el esquema
Llamamos A una expresión de la forma
¬A → P ∨ Q
1. negación (¬ A)
2. conjunción (A ∧ B) también es una condicional.

3. disyunción (A ∨ B)
Ejemplo 1.15. La fórmula (p ↔ q) ∧ (r ↔ p) ↔ (p ↔ q) ∧ (r ↔ q) es una equivalencia.
4. condicional (A → B)
Nuevamente veamos los paréntesis implı́citos, de acuerdo a las reglas de precedencia y
5. equivalencia (A ↔ B) asociatividad:
  
(p ↔ q) ∧ (r ↔ p) ↔ (p ↔ q) ∧ (r ↔ q)
Obsérvese que toda fórmula debe ser atómica, o bien corresponder a una o varias susti-
tuciones textuales simultáneas de uno de estos cinco esquemas. y veamos la sucesión de sustituciones textuales a partir del esquema (A ↔ B).
Ahora veamos ejemplos de fórmulas bien construidas. Utilizaremos paréntesis para pre-
sentar las distintas fórmulas y procederemos a comprobar que están bien construidas me- (A ↔ B)[A, B := P ∧ Q, P ∧ R][P, Q, R := p ↔ q, r ↔ p, r ↔ q] =
diante esquemas. Haremos uso de la precedencia y asociatividad para eliminar paréntesis, = ((P ∧ Q) ↔ (P ∧ R))[P, Q, R := p ↔ q, r ↔ p, r ↔ q]
cuando esto no afecte el significado de la fórmula. = (((p ↔ q) ∧ (r ↔ p)) ↔ ((p ↔ q) ∧ (r ↔ q))),

Ejemplo 1.13. La expresión ((p ∧ q) → (p ∨ q)) es una condicional. Para ver por qué se le asigna
este nombre, veamos la sucesión de sustituciones textuales que se fueron realizando: que quitando los paréntesis superfluos, nos lleva a:

(p → q)[p, q := p ∧ q, p ∨ q] = ((p ∧ q) → (p ∨ q)) (p ↔ q) ∧ (r ↔ p) ↔ (p ↔ q) ∧ (r ↔ q).

Obsérvese que en este ejemplo primero transformamos el esquema básico de impli-


que quitando los paréntesis superfluos queda cación en un esquema más cercano a la fórmula original para después instanciar con las
fórmulas adecuadas y obtener el resultado deseado.
p∧q →p∨q
Del último ejemplo podemos concluir que el proceso de análisis mediante sustituciones
Como el esquema original del que partimos es el de la implicación, la instanciación
textuales empieza a resultar complicado, por lo que nos gustarı́a dar una definición del
dada es por ende una implicación.
proceso, susceptible de aplicarse mecánicamente, cosa que hacemos a continuación.
1.4 Análisis sintáctico de expresiones lógicas 43 44 Lógica proposicional

1.4.2. Rango y conectivo principal ◦ El rango izquierdo es (A ∧ B ∧ C).


◦ El rango derecho es (A → B → C).
Para mecanizar el proceso de análisis sintáctico de una expresión nos serviremos, además
• Para el rango izquierdo:
de la sustitución textual y el uso de esquemas, de un proceso de descomposición en expre-
siones sintácticamente más simples, las cuales son más sencillas de analizar. Dicha des- ◦

La parentización implı́cita es (A ∧ B) ∧ C .
composición utiliza los conceptos de rango y conectivo principal de una fórmula que a
continuación definimos. ◦ El conectivo principal es el segundo ∧ .
El concepto de rango o alcance de una fórmula o esquema E se define, con base en los ◦ El rango izquierdo corresponde a (A ∧ B).
esquemas básicos, como sigue:
◦ El rango derecho corresponde a C.
• Si E es instancia de ¬A, entonces el rango de E es A.
• Para el rango derecho, podemos observar que:
• Si E es instancia de uno de los esquemas básicos binarios A ⋆ B, donde ⋆ es un 
conectivo lógico binario, entonces E tiene un rango izquierdo que es A y un rango ◦ La parentización implı́cita es A → (B → C) .
derecho que es B. ◦ El conectivo principal es el primer →.
◦ El rango izquierdo es A.
Obsérvese que el rango o rangos de una expresión corresponden a los operandos; en ca-
so de ambigüedad se obtienen tomando en cuenta las reglas de asociatividad y precedencia ◦ El rengo derecho es (B → C).
ya estudiadas. Por ejemplo:
Este proceso puede seguir hasta que ya tengamos esquemas o fórmulas que no correspon-
• En el esquema ¬ A ∧ B el rango del operador ¬ es únicamente el identificador A. Si dan a los esquemas básicos, es decir esquemas que consistan de un único identificador
queremos que el rango sea A ∧ B, debemos encerrar este esquema entre paréntesis o bien variables proposicionales, en las que no tienen ningún significado los conceptos
obteniendo ¬ (A ∧ B). de conectivo principal o rango. Estos casos corresponden al fin del proceso de análisis
sintáctico. Como toda fórmula consiste de una combinación de conectivos y proposiciones
• En la fórmula A ∧ B ∧ C el rango izquierdo del segundo conectivo ∧ es la fórmula atómicas, la descomposición en rangos no puede durar para siempre.
(A ∧ B), ya que como no hay paréntesis, las reglas de precedencia y asociatividad
hacen que la parentización implı́cita de la fórmula sea ((A ∧ B) ∧ C).

Otro concepto importante es el de conectivo principal. Si una expresión E resulta ser ins-
tancia de uno de los esquemas básicos, entonces el conectivo que observamos en el esquema 1.4.3. Análisis de proposiciones compuestas
correspondiente será también el conectivo principal de E. Por ejemplo, si E = (p ∨ q) ∧ C,
entonces el conectivo principal de E es ∧, puesto que Existen dos clases de métodos para el análisis de una expresión, los métodos generado-
res que construyen la expresión deseada a partir de sı́mbolos o esquemas iniciales utilizando
E = (A ∧ B)[A, B := p ∨ q, C]. ciertas reglas u operaciones; y los métodos analı́ticos que consisten en partir de la supuesta
expresión dada y realizar un proceso de descomposición hasta llegar a expresiones básicas,
Veamos un ejemplo más elaborado. donde el proceso de análisis es directo. Los métodos de gramáticas y árboles de derivación
y de instanciación de esquemas básicos son generadores.
Ejemplo 1.16. Consideremos el esquema (A ∧ B ∧ C) ∨ (A → B → C). El análisis sintáctico
A continuación veremos un método analı́tico basado en la descomposición de una ex-
de este esquema es el siguiente:
presión utilizando su conectivo principal y rangos correspondientes. Haremos explı́cita esta
• Para el esquema original: descomposición usando un árbol, cuya raı́z consistirá de la fórmula completa. En cada nivel
que bajemos del árbol, identificaremos el conectivo principal de la fórmula y procederemos
◦ El conectivo principal es ∨ . a colgar de la fórmula al conectivo y a su(s) rango(s). La idea principal es que si E es una
1.4 Análisis sintáctico de expresiones lógicas 45 46 Lógica proposicional

expresión compuesta, los rangos del conectivo principal son expresiones, a las que les po- En este caso hemos elegido presentar el árbol con las frases en español de manera que
demos aplicar el mismo procedimiento. Veamos un ejemplo: se pueda observar la descomposición directamente con enunciados más simples. Obsérvese
que las hojas de este árbol corresponden a proposiciones atómicas que ya no pueden des-
Ejemplo 1.17. Si el equipo mexicano llega a cuartos de final del Mundial, todo mundo lo admi- componerse.
rará y los jugadores se volverán ricos; pero si no llega, nada pasará.
El proceso de analizar una expresión es un proceso recursivo, que consiste de los si-
Hagamos una asignación a variables proposicionales: guientes pasos:
p: el equipo mexicano llega a cuartos de final
1. Si la proposición es atómica, el análisis termina.
q: todo mundo admira al equipo mexicano
2. Si la proposición no es atómica:
r: los jugadores se vuelven ricos
a) Definir el conectivo principal
s: nada pasará b) Si el conectivo es unario, analizar la proposición que corresponde al rango
Hagamos la traducción a una fórmula parentizada: derecho.
((p → (q ∧ r)) ∧ ((¬ p) → s)) c) Si el conectivo es binario, analizar la proposición que corresponde al rango
izquierdo y la proposición que corresponde al rango derecho.
y veamos cómo queda el árbol producto del análisis sintáctico de esta fórmula en la figura
Veamos otro ejemplo, esta vez sin remitirnos en el árbol a las frases en español.
1.8.
Ejemplo 1.18. Si el anuncio tiene éxito, toda la producción se va a vender y el dueño se volverá ri-
Figura 1.8 Análisis de proposición compuesta co; pero si el anuncio no tiene éxito, la inversión se habrá perdido.
Variables proposicionales:
Si el equipo mexicano llega a cuartos de final del Mundial,
p: el anuncio tiene éxito
todo mundo lo admirará y los jugadores se volverán ricos;
pero si no llega, nada sucederá q: toda la producción se vende
r: el dueño se vuelve rico
s: la inversión se pierde
Si el equipo mexicano llega a
Podemos ver el árbol, usando las variables proposicionales y los conectivos lógicos, en
cuartos de final del Mundial, pero si no llega, nada sucederá la figura 1.9.
todo mundo lo admirará y los
jugadores se volverán ricos Figura 1.9 Análisis de una proposición
(p → (q ∨ r)) ∧ (¬p → s)
todo mundo los
El equipo
admira y los
mexicano llega a entonces No llega entonces nada sucederá p → (q ∧ r) ∧ ¬p → s
jugadores se
cuartos de final
volverán ricos

p → q∧r ¬p → s

todo mundo lo y los jugadores se no llega


admira volverán ricos q ∧ r ¬ q
1.4 Análisis sintáctico de expresiones lógicas 47 48 Lógica proposicional

En este momento resulta claro que dada una expresión sintácticamente válida, se pue- 1.4.3.- Para el siguiente enunciado, asigna variables proposicionales a las proposiciones
de construir el árbol de análisis sintáctico partiendo directamente de ella; si la expresión atómicas y escribe la proposición completa usando esas variables proposicionales.
está completamente parentizada el proceso es inmediato, mientras que si no es ası́ habrá que
usar los criterios de precedencia y asociatividad. Los niveles del árbol se van construyendo (a) Marı́a fue al teatro el lunes en la noche sólo en el caso de que no tuviera clase
de adentro hacia afuera (de abajo hacia arriba) y de izquierda a derecha para aquellos ope- el martes temprano.
radores que asocien a la izquierda, y de derecha a izquierda para aquellos que asocien a la (b) Si Juan llevó su Mustang al desfile es porque le cambió el amortiguador el dı́a
derecha. anterior.
Más aún el proceso de análisis sintáctico facilita el proceso de evaluación puesto que
(c) Si los tres lados de un triángulo son congruentes, entonces los tres ángulos del
una vez construido el árbol, las hojas corresponden a fórmulas atómicas las cuales se pue-
triángulo son congruentes.
den evaluar directamente continuando el proceso de evaluación según lo dictado por las
tablas de verdad de los conectivos principales. (d) Si x es mayor que 3 entonces también es mayor que 2.
(e) Nunca ha nevado en Cuernavaca.
Ejercicios (f) Si n es un entero, entonces n3 − n es par.

1.4.4.- Para cada pareja de enunciados que se listan, escribe la disyunción de ambos y la
conjunción de ambos. Para cada fórmula, indica si es verdadera o no.
1.4.1.- De los siguientes enunciados, dı́ cuáles corresponden a esquemas y si es ası́, a cuál
esquema es al que corresponden, rehaciendo las sustituciones textuales que se hayan
llevado a cabo. En caso de ambigüedad respecto a la asociatividad de dos operadores (a) p : Uno es un entero par q : Nueve es un entero positivo
distintos con la misma precedencia, asociar desde la izquierda. p : Chihuahua está en la frontera q : Brasil está en África
(b)
con EEUU
(a) p → q ∧ q → p
(c) p : La naranja es una fruta q : La papa es una verdura
(b) r ∧ ¬ q ↔ ¬ r ∧ q
(c) p → q → r (d) p : Los pájaros tienen cuatro patas q : Los conejos vuelan

(d) p ∨ q ∧ ¬ p ∧ q → q ∧ ¬ q (e) p : Los cardenales son rojos q : Los ruiseñores son azules

(e) ¬ (p ∨ ¬ q ∧ p 1.4.5.- Para cada uno de los siguientes enunciados, asigna variables proposicionales y es-
(f) ¬ p → q cribe la fórmula correspondiente. del mismo.
(g) ¬ (p ∧ ¬ q)
 (a) Si hoy es viernes, iré al cine.
(h) ¬ p ∧ (¬ p ∧ q) ∨ p ∧ (p ∧ ¬ q)
(b) Si termino la tarea voy a tomar un descanso.
1.4.2.- De los siguientes enunciados, define el conectivo principal. Para cada operador: si (c) Si Pepito compite en natación va a ganar el primer lugar. Si Juanito compite en
el operador es binario especifica su rango izquierdo y su rango derecho; si el operador natación va a ganar el primer lugar. Alguno de los dos no va a quedar en primer
unario, especifica su tango (derecho). lugar en la competencia de natación. Por lo tanto o Pepito no compite o Juanito
no compite.
(a) p ∨ (¬ p ∧ q) → p ∨ q
(b) p ∨ ¬ p ∧ q → p ∨ q (d) Los perros son mamı́feros. Los mamı́feros no tienen agallas. Por lo tanto los
perros no tienen agallas.
(c) ¬ p ∧ q ∨ p ∧ ¬ q
(e) Voy a comer tacos o quesadillas. Decidı́ no comer quesadillas. Entonces co-
(d) (p → q) → p ∨ q → q meré tacos.
(e) p ∨ q → r
1.5 Conceptos semánticos importantes 49 50 Lógica proposicional

|= P no es una proposición, sino que nos habla acerca de la proposición P , diciéndonos


1.5. Conceptos semánticos importantes que P es una tautologı́a.
A continuación vamos a listar tres tautologı́as muy importantes:
Una vez que hemos estudiado el análisis sintáctico de una fórmula lógica pasamos a
p ∨ ¬ p Ley del tercero excluido, nos dice que toda proposición tiene
estudiar ciertos conceptos de importancia relacionados con su semántica.
que evaluarse a falso o verdadero, que no hay ningún otro valor
posible.
1.5.1. Tautologı́as y contradicciones 0 →p Falso implica cualquier cosa.
p→1 Cuando el consecuente es verdadero, cualquier proposición lo
Las tablas de verdad nos permiten observar el valor de una fórmula en todos sus posibles implica (lo “justifica”).
estados. Esto nos permite clasificar a las fórmulas de la siguiente manera:

tautologı́as Aquellas fórmulas que se evalúan a verdadero Tautologı́as y sustitución


en todos los estados posibles
Hasta ahora la única manera de verificar si una fórmula dada A es una tautologı́a es
contradicciones Aquellas fórmulas que se evalúan a falso en to- construyendo su tabla de verdad. Sin embargo, al crecer el número de variables la tabla de
dos los posibles estados verdad contiene cada vez más renglones y su construcción se vuelve complicada, ineficiente
y eventualmente imposible. Como ejemplo considérese el esquema A ∧ B → B. Es fácil
fórmulas contingentes Aquellas fórmulas que no son ni tautologı́as ni ver mediante una tabla de verdad de cuatro renglones que |= A ∧ B → B. Por otra parte
contradicciones considérese la expresión p1 ∧p2 ∧. . .∧p99 ∧p100 → p100 , ¿cómo mostrar que se trata de una
Conocemos ya varias tautologı́as, como es el caso de p ∨ ¬ p, p → p ∨ q, p ∧ p ↔ p. tautologı́a? La tabla de verdad tendrá 2100 renglones, ası́ que resulta imposible construirla.
Para convencernos, veamos sus tablas de verdad: Afortunadamente la operación de sustitución permite generar más tautologı́as a partir de
tautologı́as conocidas.
p q p∨¬p p→p∨q p∧p↔p Una vez que se conoce que |= A, no importa si en A sustituimos cualquier variable
∨ ¬ → ∨ ∧ ↔ proposicional por una expresión, el resultado va a seguir siendo una tautologı́a. Esto se
formaliza en el siguiente teorema:
1 1 1 0 1 1 1 1
1 0 1 0 1 1 1 1 Teorema 1.1 Sean A una fórmula o esquema tal que |= A y p1 , p2 , . . . , pn variables pro-
0 1 1 1 1 1 0 1 posicionales. Si B1 , B2 , . . . , Bn son expresiones lógicas o esquemas arbitrarios, entonces
0 0 1 1 1 0 0 1 |= A[p1 , p2 , . . . , pn := B1 , B2 , . . . , Bn ];
Como las tautologı́as son muy importantes, se elige una notación especial para repre- es decir, las sustituciones textuales en tautologı́as generan tautologı́as.
sentarlas. Para ello utilizamos un metalenguaje, el cual nos sirve para decir algo respecto
al lenguaje formal que estamos utilizando. Ya nos encontramos con metalenguajes con Usando este resultado y observando que
anterioridad. Por ejemplo, nuestras gramáticas con sus producciones corresponden a un
(A ∧ B → B)[A, B := p1 ∧ p2 ∧ . . . ∧ p99 , p100 ] = p1 ∧ p2 ∧ . . . ∧ p100 → p100
metalenguaje, ya que si bien nos describen perfectamente lo que es una expresión, las pro-
ducciones no son expresiones. Podemos pensar también en los esquemas que utilizamos concluimos que |= p1 ∧ p2 ∧ . . . ∧ p100 → p100 .
(E, P ∨ Q, A → B, etc.) como metaexpresiones, ya que los usamos para describir a obje-
tos de nuestro lenguaje particular, pero ellos no forman parte del lenguaje. Veamos otros ejemplos
Volviendo al cálculo proposicional, si A es una proposición que es tautologı́a, escribi-
mos |= A. Insistimos en que |= no es un operador de la lógica proposicional y la expresión Ejemplo 1.19. Demostrar que |= (p ∧ q) ∨ ¬ (p ∧ q).
1.5 Conceptos semánticos importantes 51 52 Lógica proposicional

Identificamos en el ejemplo una disyunción de una expresión y su complemento, por Las contradicciones están ı́ntimamente relacionadas con las tautologı́as. Si A es una
lo que buscamos algún esquema tautológico que tenga esta misma forma. Sabemos que tautologı́a, entonces ¬ A es una contradicción y viceversa. Al igual que con las tautologı́as,
p ∨ ¬ p es una tautologı́a. Entonces podemos usar a las contradicciones como esquemas para obtener nuevas instancias de con-
tradicciones. Por ejemplo, (P → Q) ∧ ¬ (P → Q) se obtiene de instanciar el esquema
(p ∨ ¬ p)[p := p ∧ q] = (p ∧ q) ∨ ¬ (p ∧ q) P ∧ ¬ P sustituyendo a P por P → Q.

por lo que esta expresión es también una tautologı́a.


1.5.2. Equivalencias lógicas
Ejemplo 1.20. Demostrar que |= R → (P ∨ Q) ∨ R.
Debemos buscar un esquema para “deshacer” las sustituciones que se hayan hecho. En El concepto de expresiones equivalentes es imprescindible para todo tipo de razona-
el nivel más alto el esquema es miento. Decimos que dos expresiones son equivalentes si y sólo si en todos y cada uno de
sus posibles estados se evalúan a lo mismo.
A→B
Por ejemplo, podemos comprobar usando una tabla de verdad, que las expresiones
¬ ¬ P y P son equivalentes:
Busquemos ahora una tautologı́a que involucre implicación y que en el rango derecho tenga
una conjunción, sabemos que |= p → p ∨ q y |= q → p ∨ q. La segunda nos sirve, pues lo
que buscamos es que el rango derecho de la disyunción coincida con el rango izquierdo de P ¬P ¬ (¬ P )
la condicional.
A continuación observamos que el rango izquierdo de la disyunción es una subexpre- 1 0 1
sión compuesta, no nada más una literal, por lo que ahı́ también se llevó a cabo una susti-
tución textual, que si la “deshacemos” queda como sigue: 0 1 0

(q → p ∨ q)[q, p := R, P ∨ Q] = Lo que debemos observar es que, renglón por renglón, el valor correspondiente a P
es el mismo que el valor correspondiente a ¬ ¬ P . No se interprete esta definición como
= (R) → (P ∨ Q) ∨ (R)
que estamos exigiendo tener el mismo valor en todos los renglones, esto es, que todos los
= R → (P ∨ Q) ∨ R renglones valieran 0 o todos los renglones valieran 1 .
En el caso de expresiones lógicas el concepto de equivalencia está relacionado con un
tipo particular de tautologı́a. Si tenemos una bicondicional (A ↔ B) que es una tautologı́a,
entonces decimos que tenemos una equivalencia lógica:

Contradicciones Definición 1.7 Sean A, B dos fórmulas. Si A ↔ B es una tautologı́a, entonces decimos que A y B
Una contradicción es una expresión que se evalúa a falso en todos los estados posibles. son son lógicamente equivalentes y lo denotamos por
Podemos cotejar que una expresión es una contradicción utilizando para ello tablas de
verdad, como en el caso de las tautologı́as. Por ejemplo, P ↔ ¬ P y P ∧ ¬P son ambas A ≡ B.
contradicciones
Esto es lo mismo que decir

P ¬P P ↔¬P P ∧¬P A≡B si y sólo si |= A ↔ B.


1 0 0 0
La siguiente tabla resume algunas equivalencias lógicas de importancia, las cuales pue-
0 1 0 0 den comprobarse mediante el uso de tablas de verdad.
1.5 Conceptos semánticos importantes 53 54 Lógica proposicional

Más adelante mostraremos el uso y aplicación de equivalencias lógicas, en particular


Tabla 1.7 Leyes de la lógica proposicional
como herramienta auxiliar imprescindible en el análisis de un argumento lógico.

Asociatividad: (P ∧ Q) ∧ R ≡ P ∧ (Q ∧ R) (1.30) 1.5.3. Interpretaciones


(P ∨ Q) ∨ R ≡ P ∨ (Q ∨ R) (1.31)
Definición 1.8 Un estado I de las variables proposicionales es una función f que asigna a cada
Identidad: P ∨0 ≡ P (1.32) variable proposicional el valor de falso o verdadero:
P ∧1 ≡ P (1.33)
f : {V ariables proposicionales} → {0, 1}

Idempotencia: P ∨P ≡ P (1.34) Cada estado genera una función de interpretación sobre todas las fórmulas definida
P ∧P ≡ P (1.35) como se explica a continuación.

Definición 1.9 Cada estado I determina una interpretación de las fórmulas – denotada también por
Dominación P ∨1 ≡ 1 (1.36) I – definida como sigue:
(o elemento nulo): P ∧0 ≡ 0 (1.37)
I(¬P ) = 1 si y sólo si I(P ) = 0
Conmutatividad: P ∨Q ≡ Q∨P (1.38) I(P ∨ Q) = 0 si y sólo si I(P ) = 0 = I(Q)
(o simetrı́a) P ∧Q ≡ Q∧P (1.39) I(P ∧ Q) = 1 si y sólo si I(P ) = 1 = I(Q)
I(P → Q) = 0 si y sólo si I(P ) = 1 e I(Q) = 0 )
Tercero excluido: P ∨¬P ≡ 1 (1.40)
I(P ↔ Q) = 1 si y sólo si I(P ) = I(Q)

Contradicción: P ∧¬P ≡ 0 (1.41) Si I(P ) = 1 entonces decimos que

Doble negación: ¬ (¬ P ) ≡ P (1.42) • I satisface a P , o bien

• P es satisfacible en I, o bien
Distributividad: P ∨ (Q ∧ R) ≡ (P ∨ Q) ∧ (P ∨ R) (1.43)
P ∧ (Q ∨ R) ≡ (P ∧ Q) ∨ (P ∧ R) (1.44) • P se satisface en I, o bien

• I es un modelo de P .
De Morgan: ¬ (P ∧ Q) ≡ ¬ P ∨ ¬ Q (1.45)
Por ejemplo, si tenemos la fórmula p → q ∨ r, la siguiente asignación de estado
¬ (P ∨ Q) ≡ ¬ P ∧ ¬ Q (1.46)
I(p) = 1 , I(q) = 0 , I(r) = 0 ,
Eliminación de P →Q ≡ ¬P ∨Q (1.47)
operadores: (P ↔ Q) ≡ (¬ P ∨ Q) ∧ (P ∨ ¬ Q (1.48) hace I(p → q ∨ r) = 0 , por lo que no es un modelo para la fórmula. Por otro lado, el
estado I(p) = 1 , I(q) = 0 , I(r) = 1 hace que I(p → q ∨ r) = 1 , por lo que sı́ es un
(P ↔ Q) ≡ (P ∧ Q) ∨ (¬ P ∧ ¬ Q) (1.49)
modelo para la fórmula.
Dada una fórmula P podemos preguntarnos ¿cuántas interpretaciones hacen verdadera
a P ? Las posibles respuestas llevan a las siguientes definiciones:
1.5 Conceptos semánticos importantes 55 56 Lógica proposicional

Definición 1.10 Sea P una fórmula. Entonces Fórmula Categorı́a


¬P →¬Q
• Si I(P ) = 1 para toda interpretación I decimos que P es una tautologı́a o fórmula
válida y escribimos |= P . P ↔ Q ↔ (P → Q) ∧ (Q → P )
Q∧P →Q→P
• Si I(P ) = 1 para alguna interpretación I decimos que P es satisfacible, que P es (P → Q) ∧ (¬ P → Q) → Q
verdadera en I o que I es modelo de P y escribimos I |= P P →Q↔¬Q→¬P
• Si I(P ) = 0 para alguna interpretación I decimos que P es falsa o insatisfacible en
I o que I no es modelo de P y escribimos I 6|= P 1.5.2.- Da el árbol que corresponde al análisis de cada una de las siguientes expresiones:

• Si I(P ) = 0 para toda interpretación I decimos que P es una contradicción o a) P ∧ Q ∧ R → P


fórmula no satisfacible.
b) P → Q ↔ ¬ Q → ¬ P
Similarmente si Γ es un conjunto de fórmulas decimos que: c) P → Q → R ∨ S ∨ P

• Γ es satisfacible si tiene un modelo, es decir, si existe una interpretación I tal que d) p → Q ∧ R → S → P → S


I(P ) = 1 para toda P ∈ Γ, lo cual denotamos a veces, abusando de la notación, con
I(Γ) = 1 . 1.5.3.- Elimina los operadores → y ↔ de cada una de las siguientes proposiciones:

• Γ es insatisfacible o no satisfacible si no tiene un modelo, es decir, si no existe una a) (P → Q ∧ R) ∨ ((R ↔ S) ∧ (Q ∨ S))


interpretación I tal que I(P ) = 1 para toda P ∈ Γ.
b) (P → Q) ∧ (Q → R)
Con respecto a las tablas de verdad tenemos las siguientes observaciones: c) ¬ P → ¬ Q

• Una fórmula P es satisfacible si en alguna linea de la tabla de verdad, P toma el d) (P → Q) ↔ ((P ∧ Q) ↔ Q)


valor 1. En caso contrario, es decir si en todas las lineas toma el valor 0, entonces es
insatisfacible (contradicción). 1.5.4.- Lista las propiedades (tautologı́as) del operador ↔.

• Un conjunto de fórmulas Γ es satisfacible si existe alguna linea de la tabla de verdad 1.5.5.- Para cada una de las fórmulas que siguen, determina si son o no satisfacibles. Si lo
en la que todas las fórmulas de Γ toman el valor 1. son muestra un modelo para cada una de ellas.

(a) p ∧ q ↔ ¬ p ∧ q
Ejercicios (b) (¬ p ∨ q) ∧ p
(c) p ∧ q ∧ ¬ p
1.5.1.- Clasifica a las siguientes proposiciones en alguna de las siguientes categorı́as:
(d) (p → q) ∧ (q → p)
(a) negación (b) disyunción
(c) conjunción (d) condicional 1.5.6.- Da una definición de tautologı́a en términos de interpretaciones y modelos.

(e) bicondicional (e) atómica


1.6 Análisis de argumentos 57 58 Lógica proposicional

Por lo general las fases de razonamiento ecuacional nos son tan familiares que no se
1.6. Análisis de argumentos mencionan explı́citamente dentro del análisis de un argumento; de hecho, nosotros respeta-
remos esta costumbre. Sin embargo, en nuestro curso nos conciernen no sólo los aspectos
puramente matemáticos de un tema sino también el proceso de implementación, el cual
En esta sección presentamos por fin el propósito fundamental por el que estudiamos es esencialmente sintáctico dado que las computadoras no entienden de significados ni
lógica matemática, el análisis de un argumento lógico proposicional, mediante el cual po- son capaces de razonar como nosotros. A continuación discutimos las propiedades de la
dremos decidir cuándo un argumento es correcto. igualdad, en particular la llamada regla de Leibniz que involucra a la sustitución textual, y
que nos brindará una manera posible de implementar el razonamiento ecuacional.
Definición 1.11 Un argumento lógico es una sucesión de fórmulas A1 , . . . , An llamadas premisas y
Si consideramos a la igualdad como un operador (cuyo resultado es 0 o 1 ), podemos
una fórmula B llamada conclusión. Dicha sucesión se escribe usualmente como
observar que tiene las siguientes propiedades:
A1
.. Reflexividad X=X
.
o bien A1 , . . . , An / ∴ B X=Y
An Simetrı́a
Y =X
∴B
X=Y
Nuestro problema fundamental es decidir cuándo un argumento es correcto o válido, lo Transitividad Y = Z
cual sucederá si y sólo si suponiendo que sus premisas son ciertas, entonces necesariamen- X=Z
te la conclusión también lo es. Obsérvese que esta definición corresponde a los llamados
argumentos deductivos. En contraste, en un argumento inductivo se aceptan como válidas
Las últimas dos propiedades las dimos en términos de un argumento lógico. Esto es
conclusiones basadas en observación o probabilidad. Nosotros nos dedicaremos sólo a los
usual y será justificado más adelante. Finalmente, veamos una propiedad, conocida con el
argumentos deductivos.
nombre de regla de Leibniz, que nos va a permitir sustituir expresiones iguales en expresio-
Esta noción de argumento correcto será formalizada más adelante, pero antes vamos
nes que resultarán iguales nuevamente y proporciona una manera de implementar nuestro
a estudiar un proceso de gran importancia que forma parte del proceso de análisis de un
razonamiento ecuacional usual.
argumento, el llamado razonamiento ecuacional.
X=Y
Leibniz
1.6.1. Razonamiento ecuacional E[z := X] = E[z := Y ]

Consideremos la igualdad aritmética x + y + x + z = y + 2x + z. Probablemente nin- Lo que esta regla nos dice es que si suponemos que X = Y , entonces es posible tomar
guno de nosotros dudarı́a de su validez, debido a la experiencia con números que tenemos dos copias de la expresión E (en la que tenemos presencias de una variable z), en una de
desde nuestra educación básica. Más aún, si se nos pidiera una demostración formal tal vez ellas sustituir a la variable z por la expresión X, y en la otra copia sustituir a la misma
darı́amos la siguiente: variable z por la expresión Y , obteniendo que las expresiones E[z := X] y E[z := Y ] son
iguales nuevamente.
x + y + x + z = y + x + x + z = y + 2x + z; Es importante notar que en el caso de expresiones lógicas el concepto de igualdad que
se utiliza es el de equivalencia lógica, es decir, si decimos que dos expresiones lógicas A y
y si se nos pidiera nuevamente una justificación tal vez apeları́amos a las igualdades
B son iguales, queremos decir que A ≡ B. De manera que en este caso podemos reescribir
el argumento de Leibniz de la siguiente forma:
x+y =y+x y x + x = 2x.

Este tipo de razonamiento se conoce como razonamiento ecuacional y será parte importante X≡Y
Leibniz
del proceso de análisis de un argumento lógico. E[z := X] ≡ E[z := Y ]
1.6 Análisis de argumentos 59 60 Lógica proposicional

Veamos unos ejemplos de la aplicación de este argumento. • y+x + x + z (primer acomodo)

Ejemplo 1.21. Supongamos que b + 3 = c + 5, y sea E la expresión aritmética d + e. Entonces, • y + x+x + z (segundo acomodo)
tenemos la siguiente instancia de la regla de Leibniz: Pero si elegimos el primer acomodo, regresamos a donde estábamos, por lo que no nos
conviene. Mejor elegimos el segundo acomodo, utilizando la equivalencia (1.51) y tenemos
b+3=c+5 X = x + x, Y = 2 · x, quedándonos nuestra expresión de la siguiente forma:
,
(d + e)[e := b + 3] = (d + e)[e := c + 5] y+ 2·x +z

lo que nos permite concluir que d + (b + 3) = d + (c + 5) es verdadero en aquellos El lector puede comprobar que también eligiendo el segundo patrón que reconocimos en la
estados en los que b + 3 = c + 5 se evalúe a verdadero. Como la suma es asociativa, esto expresión original hubiésemos podido llegar al mismo resultado.
es lo mismo que decir d + b + 3 = d + c + 5. Veamos otro ejemplo aritmético con más detalle.
Las situaciones en las que usualmente se usa la regla de Leibniz se dan como sigue:
Ejemplo 1.23.
• Tenemos una expresión E[z := X] = G. Esto quiere decir que dada una expresión Supongamos que queremos demostrar
cualquiera G, localizamos en ella una subexpresión a la que denotamos con X. Esta
subexpresión puede aparecer más de una vez, ya que la variable “original” z también (a + b) − b = a
puede ocurrir más de una vez en E.
y que conocemos las siguientes equivalencias:
• Buscamos una expresión Y que nos convenga, tal que X = Y .
• Podemos entonces obtener una nueva expresión G′ = E[z := Y ]. (x + y) − z = x + (y − z) (1.52)
y−y =0 (1.53)
• La regla de Leibniz nos permite concluir que G = G ′
x+0=x (1.54)
A continuación discutimos el ejemplo introductorio de esta sección. Entonces, podemos pensar en la siguiente demostración, utilizando las regla de infe-
rencia de sustitución (teorema 1.1) y de Leibniz, y lo que ya conocemos. Como queremos
Ejemplo 1.22. Sabemos que demostrar que (a + b) − b = a, y dado que el lado izquierdo de la igualdad presenta más
• x+y =y+x (1.50) estructura, lo indicado es “salir” de ese lado y tratar, mediante la aplicación de las reglas
de inferencia de sustitución y de Leibniz, llegar a a. Es obvio que cada vez que pasamos a
• x+x=2·x (1.51)
una nueva instancia de una regla de inferencia cualquiera, estamos utilizando la propiedad
Sea E = x + y + x + z. Si deseamos simplificar esta expresión, debemos poder aplicar de transitividad para “encadenar” las igualdades:
los dos hechos que sabemos – equivalencias (1.50) y (1.51) –. Por lo pronto, únicamente
podemos aplicar la equivalencia (1.50), con dos lugares (en la expresión que queremos Paso 1: aplicar el Teorema 1.1.
manipular) donde podemos hacerlo:

• x+y + x + z (primer acomodo) (x + y) − z = x + (y − z) [x, y, z := a, b, b] =
= (a + b) − b = a + (b − b)
• x + y+x + z (segundo acomodo)
La regla de inferencia que estamos utilizando es la de sustitución: sabemos
 que la pre-
Si utilizamos el primer acomodo, entonces X = x + y y Y = y + x, y sustituimos lo misa es una igualdad válida, una tautologı́a, (x + y) − z = x + (y − z) y elegimos
que está en la caja por la expresión equivalente: las sustituciones
 que necesitamos para obtener la expresión con la que queremos trabajar
y+x + x + z (a + b) − b . De la regla de inferencia tenemos lo siguiente:

Pero ahora tenemos la siguiente expresión, en la que, nuevamente, podemos localizar E es (x + y) − z = x + (y − z)


varias subexpresiones: E[x, y, z := a, b, b] es (a + b) − b = a + (b − b)
1.6 Análisis de argumentos 61 62 Lógica proposicional

También utilizamos este mismo teorema de sustitución para llevar a la expresión y−y = Pero como (x + 0 = x)[x := a] es a + 0 = a, tenemos la siguiente sucesión de
0 a la forma que queremos (b − b = 0). igualdades válidas:

Paso 2: volver a aplicar el Teorema 1.1. (a + b) − b = a + (b − b)

y−y =0 b−b=0
a + (b − b) = a + 0
(y − y = 0)[y := b] a+0=a
Y como (a + b) − b = a
(y − y = 0)[y := b] es (b − b = 0), Decimos entonces que demostramos que (a + b) − b = a es una igualdad válida.
tenemos ya:

(a + b) − b = a + (b − b) Por la aplicación del paso 1 1.6.2. Álgebra de equivalencias lógicas


b−b=0 Por la aplicación del paso 2
Podemos ahora utilizar la regla de Leibniz de la siguiente manera: Análogamente al hecho de que el razonamiento aritmético ecuacional es la base del
álgebra que conocemos desde hace tiempo, en el caso de las expresiones lógicas se genera
un álgebra que manipula variables y constantes que representan valores de verdad; en parti-
Paso 3: aplicar la regla de Leibniz.
cular podemos emplear equivalencias lógicas para deducir o simplificar nuevas expresiones
a partir de otras ya conocidas. Ilustremos esto mediante algunos ejemplos.
b−b=0
a + (b − b) = a + 0 Ejemplo 1.24. Sabemos que
donde:
• P ∧P ≡P (1.55)
X es b−b • P ∧Q≡Q∧P (1.56)
Supongamos que queremos “simplificar” la siguiente expresión:
Y 0
E a+z q∧r∧q∧s
E[z := X] (a + z)[z := b − b] = (a + (b − b))
Para poder aplicar el argumento de Leibniz, hagamos primero sustitución textual sobre las
E[z := 0] (a + z)[z := 0] = (a + (0)), variables, para tener los mismos términos:

que cuando quitamos los paréntesis superfluos nos dejan (q ∧ r ∧ q ∧ s)[q, r, s := P, Q, R] = P ∧ Q ∧ P ∧ R.


a + (b − b) = a + 0
Ahora tratemos de identificar alguno de los lados de las equivalencias dentro de la expresión
También sabemos que x + 0 = x es una igualdad válida. Entonces podemos aplicarle que tenemos. Existen dos posiciones que podemos reconocer:
sustitución textual y seguir teniendo una igualdad válida:
• P∧ Q ∧ P ∧ R – lado izquierdo de (1.56)
Paso 4: x+0=x
(x + 0 = x)[x := a] • P ∧ Q∧ P ∧ R – lado derecho de (1.56)
1.6 Análisis de argumentos 63 64 Lógica proposicional

Si aplicamos a la primera elección la igualdad, X = Y con X = P ∧ Q y Y = Q ∧ P , la


regla de Leibniz nos lleva a la expresión:
1) (A ∧ B) ∧ C ≡ A ∧ (B ∧ C) Propiedad asociativa de ∧

2) (P ∧ Q) ∧ ¬ Q ≡ P ∧ (Q ∧ ¬ Q) Sustitución textual en 1)
P ∧Q≡Q∧P

P∧ Q ∧ P ∧ R ≡ Q∧ P ∧ P ∧ R. 3) P ∧¬P ≡0 X =P ∧¬P yY =0

4) P ∧ (Q ∧ ¬ Q) ≡ P ∧ 0 Leibniz
Enseguida localizamos el otro esquema que corresponde a la equivalencia dada en (1.55),
al principio de esta sección, donde X = P ∧ P y Y = P . La sustitución se hace como
sigue: y como

P ∧0 ≡0 Elemento nulo.

P ∧P ≡P ya terminamos.

Q ∧ P∧ P ∧ R ≡ Q ∧ P ∧ R, De esta manera hemos demostrado que (P ∧ Q) ∧ ¬ Q ≡ 0 , con la siguiente sucesión


de equivalencias, utilizando la propiedad de transitividad de la equivalencia lógica:

por lo que terminamos con la siguiente expresión: (P ∧ Q) ∧ ¬ Q ≡ P ∧ (Q ∧ ¬ Q)

≡P ∧0
Q ∧ P ∧ R ≡ P ∧ Q ∧ R;
≡0

de las dos aplicaciones de Leibniz y usando la regla de transitividad podemos concluir que En la tabla 1.7 mostramos la lista inicial de equivalencias que vamos a utilizar para
nuestro razonamiento ecuacional. Sin embargo existen muchas otras equivalencias que se
pueden derivar de las anteriores y son de gran importancia. A continuación obtenemos
P ∧ Q ∧ P ∧ R ≡ P ∧ Q ∧ R. algunas de ellas.

Leyes de absorción:
Si nos quedamos con la expresión de la derecha y hacemos la sustitución de las variables
de regreso a q, r y s, tenemos:
P ∨ (P ∧ Q) ≡ P (1.57)
(P ∧ Q ∧ R)[P, Q, R := q, r, s] = q ∧ r ∧ s P ∧ (P ∨ Q) ≡ P (1.58)

Leyes de simplificación:
y esta última es la simplificación final de la original.

(P ∧ Q) ∨ (¬ P ∧ Q) ≡ Q (1.59)
Ejemplo 1.25. Consideremos ahora la siguiente expresión lógica (P ∧ Q) ∧ ¬Q. El objetivo es
simplificarla lo más posible. Tenemos que: (P ∨ Q) ∧ (¬ P ∨ Q) ≡ Q (1.60)
1.6 Análisis de argumentos 65 66 Lógica proposicional

Debemos demostrar estas nuevas leyes, ya que no aparecen en nuestro conjunto inicial Nuevamente tenemos que demostrar una equivalencia lógica, por lo que trataremos de
de equivalencias. Lo haremos con cuidado y detalle en uno de los casos, dejando el otro transformar a uno de los equivalentes en el otro. Como el equivalente de la izquierda tiene
como ejercicio. mayor estructura, partiremos de él. Como el número que le corresponde
 a este teorema es
el (1.59), podemos utilizar en este caso las leyes (1.30) a (1.58) .
Ejemplo 1.26. Absorción frente a ∨: P ∨ (P ∧ Q) ≡ P .
Utilizaremos el método de tomar a uno de los equivalentes y derivar, a partir de él,
al otro. Como el de la izquierda tiene más estructura, es el que tomamos como punto de
partida.
Punto de partida. Localizaremos este esquema en algu- (P ∨ Q) ∧ (¬P ∨ Q)
no de los axiomas o teoremas que ya hayamos demos-
trado. Vemos un esquema similar en el rango derecho
Punto de partida. Localizaremos este esquema en al- P ∨ (P ∧ Q) de (1.44):
guno de los axiomas o teoremas que ya hayamos de-
mostrado. En este momento únicamente contamos con Usando Conmutatividad (1.38).
(1.30) a (1.49).
(P ∨ Q) ∧ (¬ P ∨ Q) ≡ (Q ∨ P ) ∧ (Q ∨ ¬ P ) ≡ (Q ∨ P ) ∧ (Q ∨ ¬P )
Usando Identidad (1.33).
Instanciando (1.44)
P ≡P ∧1 ≡ (P ∧ 1 ) ∨ (P ∧ Q)
(P ∨ Q) ∧ (P ∨ R) ≡ P ∨ (Q ∧ R)
≡ Q ∨ (P ∧ ¬ P )
P ∨ (P ∧ Q) ≡ (P∧ 1 ) ∨ (P ∧ Q)
(Q ∨ P ) ∧ (Q ∨ ¬ P ) ≡ Q ∨ (P ∧ ¬ P )
Distributividad de ∧ (1.44) Contradicción: (1.41)
(P ∧ Q) ∨ (P ∧ R) ≡ P ∧ (Q ∨ R)
P ∧ ¬P ≡ 0 ≡ Q∨0
Usando sustitución [Q, R := 1 , Q] tenemos: ≡ P ∧ (1 ∨ Q)
Identidad: (1.32)

Usando dominación (1.36) y Leibniz: Q∨0 ≡Q ≡ Q


Q ∨1 ≡1
≡ P ∧1
P ∧ (1 ∨ Q) ≡ P ∧ 1 Se dejan como ejercicios las demostraciones de (1.58) y (1.59).

En todos los ejemplos de esta sección marcamos e hicimos explı́citos todos los usos de
las reglas. Sin embargo, en la práctica muchas de estas reglas se usan de manera implı́cita.
Usando identidad de ∧ (1.33) ≡ P A continuación damos algunos atajos que se pueden tomar al hacer álgebra de equivalencias
lógicas.
1. La Ley de Conmutatividad se aplica directamente, “sin avisar”.
2. La Ley de Asociatividad se aplica directamente, “sin avisar”.
Ejemplo 1.27. Simplificación: (P ∨ Q) ∧ (¬ P ∨ Q) ≡ Q 3. Se puede desechar directamente lo siguiente:
1.6 Análisis de argumentos 67 68 Lógica proposicional

a) Copias duplicadas de una subexpresión en una expresión que es • Insatisfacibilidad implica trivialidad: Si Γ es insatisfacible entonces Γ |= A
una disyunción o una conjunción (Ley de Idempotencia). para toda fórmula A
b) La constante 1 en una conjunción (Ley de Identidad para ∧ ) • Si Γ |= ⊥ entonces Γ es insatisfacible (donde ⊥ es la constante falso).
c) La constante 0 en una disyunción (Ley de Identidad para ∨ )
• A ≡ B si y sólo si A |= B y B |= A.
d) Sustituir el esquema A ∧ ¬A por 0 (Ley de Contradicción)
• |= A (es decir A es tautologı́a) si y sólo si ∅ |= A (es decir A es consecuencia lógica
e) Sustituir el esquema A ∨ ¬A por 1 (Ley del Tercero Excluido)
del conjunto vacı́o).
En esta sección hemos mostrado cómo es posible justificar formalmente el razonamien- Estamos ahora listos para definir formalmente qué es un argumento correcto.
to ecuacional usual. Esta justificación, que se hizo apelando al uso de la regla de Leibniz,
además de proporcionar un fundamento matemático formal a un razonamiento al que esta- Definición 1.13 El argumento A1 , . . . , An / ∴ B es lógicamente correcto si y sólo si la conclusión
mos acostumbrados desde hace mucho, nos da una pauta para una posible automatización se sigue lógicamente de las premisas, es decir si {A1 , . . . , An } |= B.
del proceso.
En adelante el uso de razonamiento ecuacional será, por lo general, intuitivo, sin reque- Es importante disponer de métodos algorı́tmicos para decidir la consecuencia lógica.
rir el uso explı́cito de la regla de Leibniz. Estos métodos nos permitirán, en particular, analizar argumentos del lenguaje natural y
establecer su correctud formalmente. En las siguientes secciones presentamos algunos de
estos métodos.

1.6.3. Consecuencia lógica


Tablas de Verdad
La definición matemática formal de argumento deductivo correcto se sirve del concepto Es fácil convencerse de que el argumento A1 , A2 , . . . , An / ∴ B es correcto si y sólo si
de consecuencia o implicación lógica que discutimos aquı́. la fórmula A1 ∧ A2 . . . An → B es una tautologı́a. Por lo tanto verificar la correctud de un
argumento es equivalente a verificar que una fórmula particular es tautologı́a, para lo cual
Definición 1.12 Sean Γ = {A1 , . . . , An } un conjunto de fórmulas y B una fórmula. Decimos que B basta construir su tabla de verdad. Veamos un par de ejemplos.
es consecuencia lógica de Γ si toda interpretación I que satisface a Γ también satisface a
B. Es decir, si todo modelo de Γ es modelo de B. En tal caso escribimos Γ |= B. Ejemplo 1.28. El argumento P → Q, P/ ∴ Q, conocido como modus ponens, es correcto. La
fórmula a analizar es P ∧ (P → Q) → Q.
Nótese que la relación de consecuencia lógica está dada por una implicación de la forma

Si I(Γ) = 1 entonces I(B) = 1.


P Q P ∧ (P → Q) → Q
De manera que no se afirma nada acerca de la satisfacibilidad del conjunto Γ, sino que 1 1 1 1 1 1 1
simplemente se supone que es satisfacible y en tal caso se prueba que la fórmula B también
1 0 1 0 0 1 0
lo es con la misma interpretación.
Obsérvese la sobrecarga del sı́mbolo |= que previamente utilizamos para denotar satis- 0 1 0 0 1 1 1
facibilidad I |= A y tautologı́as |= A.
0 0 0 0 1 1 0
Proposición 1.1 La relación de consecuencia lógica cumple las siguientes propiedades: Como muestra la tabla tenemos una tautologı́a y el argumento es correcto.
• Si A ∈ Γ entonces Γ |= A.
Ejemplo 1.29. Analizar el siguiente argumento.
• Principio de refutación: Γ |= A si y sólo si Γ ∪ {¬A} es insatisfacible.
Si hoy es viernes entonces mañana es sábado; mañana es sábado, por
• Γ |= A → B si y sólo si Γ ∪ {A} |= B. lo tanto hoy es viernes.
1.6 Análisis de argumentos 69 70 Lógica proposicional

Palabras como “por lo tanto”, “ası́ que”, “luego entonces”, “de forma que”, etc. señalan la
Tabla 1.10 P → Q, Q → R/ ∴ P → R
conclusión del argumento.
La representación formal del argumento es:
P Q R (P → Q) ∧ (Q → R) → (P → R)
1 1 1 1 1 1 1 1
v→s
1 1 0 1 0 0 1 0
s 1 0 1 0 0 1 1 1
∴v 1 0 0 0 0 1 1 0
0 1 1 1 1 1 1 1
0 1 0 1 0 0 1 1
De manera que el argumento es correcto si y sólo si |= (v → s) ∧ s → v. La tabla de
verdad es: 0 0 1 1 1 1 1 1
0 0 0 1 1 1 1 1

v s (v → s) ∧ s → v
Este último ejemplo deja ver que la tabla se vuelve más complicada al aumentar el
1 1 1 1 1 1 1 número de variables proposicionales involucradas. La construcción de la tabla de verdad
completa, aunque efectiva desde el punto de vista teórico, es de “fuerza bruta” en la prácti-
1 0 0 0 0 1 1 ca pues nos obliga, en los casos interesantes y no triviales, a evaluar un número muy grande
de estados para determinar si tenemos o no una tautologı́a (o una contradicción). Aun si lo
0 1 1 1 1 0 0 hiciésemos con una computadora, y suponiendo que a la computadora le llevara un mili-
segundo evaluar cada estado, si la expresión es muy grande tenemos el crecimiento en el
0 0 1 0 0 1 0 número de estados que vemos en la tabla 1.11 en la siguiente página.
Como se puede observar en esta tabla, cada vez que se agrega una variable a la expre-
sión, el tiempo que lleva calcular todos sus estados se duplica, siguiendo, como ya men-
cionamos, a la función 2n , donde n es el número de variables5 . Esta ineficiencia surge
El tercer renglón de la tabla muestra que la fórmula no es una tautologı́a por lo que el en la práctica, por ejemplo, en problemas de calendarización o búsqueda de rutas donde
argumento es incorrecto. Este renglón corresponde a la interpretación I(v) = 0, I(s) = 1, ciertas fórmulas lógicas involucradas tienen usualmente cientos de variables. Para estimar
con la cual las premisas son verdaderas y la conclusión falsa. la ineficiencia considérese una fórmula con 500 variables, cuya tabla de verdad tendrá 2500
renglones, número aproximadamente igual a 10150 renglones, los cuales, de acuerdo a nues-
tra suposición anterior respecto a la velocidad de la computadora, se calcuları́an en 10147
Ejemplo 1.30. El argumento P → Q, Q → R/ ∴ P → R es correcto. Basta ver que |= (P → milisegundos. Considerando que en un año hay 3.1536 × 1010 milisegundos, la tabla ter-
Q) ∧ (Q → R) → (P → R). La tabla de verdad se muestra en la siguiente página minarı́a de calcularse en aproximadamente 3.2 × 10139 años; considerando que la edad de
(tabla 1.10)..
5
Cuando tenemos este tipo de cálculo, decimos que la función crece con 2n , o que tiene un crecimiento
Como se observa de los valores en la quinta columna, en negritas, la fórmula es una exponencial. Este tipo de cálculos, en la práctica, no pueden ser evaluados en una computadora cuando la n
tautologı́a, por lo que este argumento, conocido como silogismo hipotético, es correcto. no es pequeña
1.6 Análisis de argumentos 71 72 Lógica proposicional

nuestro planeta es aproximadamente 109 años, podemos corroborar que el tiempo estimado y como |= P ∧ (P → Q) → Q podemos concluir que
del método es inadmisible.
|= ((r → s ∨ ¬t) ∧ (r → s ∨ ¬t) → (¬p ∧ (q ∨ w)) → (¬p ∧ (q ∨ w))
Tabla 1.11 Crecimiento en el número de estados con respecto a número de variables

Número de Número de Tiempo


Este método es útil en algunos casos en los que ya se conoce de antemano un esquema
variables estados (segundos) de argumento correcto; sin embargo no es siempre efectivo ni fácil de implementar.
1 2 .002
2 4 .004 Uso de interpretaciones
3 8 .008
.. .. ..
. . . Ya estamos convencidos de que el uso de una tabla de verdad para analizar la correctud
10 1, 024 1 de un argumento es una muy mala idea.
Construir la tabla de verdad para una fórmula de la forma A1 ∧. . .∧An → B, en su tota-
11 2, 048 2
lidad, resulta, en la mayorı́a de los casos, innecesario. Por ejemplo, al observar nuevamente
.. .. ..
. . . las tablas de verdad de los ejemplos 1.6.0 y 1.6.0 en las páginas 68 y 68, podemos darnos
20 1, 048, 576 1, 048 cuenta de que sólo nos interesa la mitad de éstas, a saber los renglones donde la conjunción
(= 17min) de las premisas es cierta. El resto de la tabla puede desecharse puesto que si la conjunción
.. .. .. de las premisas no es cierta la implicación será verdadera automáticamente. El concepto de
. . . consecuencia lógica toma en cuenta esta observación al suponer que las premisas son cier-
tas y bajo este supuesto mostrar que, bajo la misma interpretación, la conclusión también
lo es.
Dada esta situación, vamos a utilizar tablas de verdad únicamente para verificar expre- Para mostrar la correctud del argumento lógico A1 , . . . , An / ∴ B mediante el uso de
siones pequeñas y cuando no podamos recurrir a otras técnicas. interpretaciones existen básicamente dos métodos:
Obsérvese que el método de tablas de verdad puede evitarse al usar esquemas: una vez
que se prueba que un argumento es correcto, él mismo genera un esquema y cada instancia Método directo: probar la consecuencia A1 , . . . , An |= B. Para esto se supone la existen-
de este esquema será, a su vez, un argumento correcto. cia de una interpretación I que sea modelos de todas las premisas y se argumenta,
usando esta información y la definición de interpretación, que la conclusión B tam-
Ejemplo 1.31. Mostrar la correctud del argumento bién se satisface con I.

r → s ∨ ¬t Método indirecto (refutación): probar que el conjunto {A1 , . . . , An , ¬B} es insatisfaci-


ble. Para esto se supone que hay una interpretación I que hace verdaderas a todas las
(r → s ∨ ¬t) → ¬p ∧ (q ∨ w)
premisas y a la negación de la conclusión ¬B o bien, equivalentemente, hace falsa a
∴ ¬p ∧ (q ∨ w) la conclusión B. Apelando a este supuesto y a la definición de interpretación se trata
de mostrar que tal interpretación no puede existir; esto se logra mostrando que cierta
La tabla de verdad para este análisis tendrı́a 26 = 64 renglones, dado que tenemos 6
fórmula está forzada a ser verdadera y falsa al mismo tiempo.
variables. Sin embargo, no es necesario el análisis puesto que el argumento corresponde al
esquema del modus ponens que previamente mostramos es correcto. Formalmente tenemos Veamos algunos ejemplos.
que
  Ejemplo 1.32. Mostrar la correctud del argumento p, s ∨ ¬s, ¬p ∨ q, ¬q ↔ r/ ∴ ¬r.
P ∧(P → Q) → Q P, Q := r → s ∨ ¬t, ¬p ∧ (q ∨ w) =
Sean Γ = {p, s ∨ ¬s, ¬p ∨ q, ¬q ↔ r}; debemos mostrar que Γ |= ¬r, para lo cual
= ((r → s ∨ ¬t) ∧ (r → s ∨ ¬t) → (¬p ∧ (q ∨ w)) → (¬p ∧ (q ∨ w)) tomamos una interpretación I tal que I es modelo de Γ. Debemos mostrar que I(¬r) = 1 .
1.6 Análisis de argumentos 73 74 Lógica proposicional

Como I es modelo de Γ entonces I(p) = 1 e I(¬p ∨ q) = 1 , de donde I(q) = 1 5. I(k) = 1 por 3, I(p ∧ q) = 1 si y sólo si I(p) = 1 e
puesto que I(¬p) = 0. Como I(q) = 1 e I(¬q ↔ r) = 1 entonces I(r) = 0 , de I(q) = 1
donde finalmente I(¬r) = 1 . Obsérvese que la prueba no determina un valor para s ya 6. I(t ∧ k) = 0 por 4 y 1. Si t ∧ k → 0 , la única posibilidad para
que con esta interpretación el argumento es correcto independientemente del valor de s. En t ∧ k es que sea 0 .
particular, la única fórmula que involucra a s es la tautologı́a s ∨ ¬s. 7. I(t) = 0 por 5 y 6. Por 5, I(k) = 1; si I(t ∧ k) = 0 (6) es
porque I(t) = 0
Este método puede resultar tedioso o intrincado pero puede escribirse de manera más 8. I(¬t) = 1 por 8
clara enunciando cada paso de razonamiento, como en el siguiente ejemplo.
9. I(f ) = 1 por 2 y 8. Como el antecedente es verdadero en
(2), para que la implicación sea verdadera el con-
Ejemplo 1.33. Mostrar la correctud del argumento p → q, ¬q/ ∴ ¬p.
secuente tiene que serlo.
Para lograr esto mostramos la consecuencia lógica p → q, ¬q |= ¬p.
10. I(¬f ) = 1 por 3, Tenemos que I(¬f ∧ k) = 1 y esta inter-
1. I(p → q) = 1 Hipótesis pretación exige I(¬f ) = 1 e I(k) = 1.
2. I(¬q) = 1 Hipótesis 11. I(f ) = 0 por 10, lo que nos lleva a una contradicción con 9
3. I(q) = 0 por 2, ya que I(¬q) = 1
Los pasos 9 y 11 generan una contradicción explı́cita, de manera que por el principio
4. I(p) = 0 por 1 y 3, ya que si I(p → q) = 1 e I(q) = 0 , de refutación el conjunto Γ ∪ {¬b} es insatisfacible y el argumento es correcto.
I(p) no puede ser 1 .

De manera que el argumento es correcto. El razonamiento paso a paso permite una Ejemplo 1.35. Mostrar la correctud del siguiente argumento conocido como dilema constructivo
mayor claridad en el proceso de análisis. Por supuesto que cada paso debe tener una justi- simple:p → r, ¬p → r/ ∴ r.
ficación exacta. El análisis terminó aquı́ al llegar a que la conclusión es verdadera, por lo
que se probó la consecuencia lógica de manera directa.
1. I(p → r) = 1 Hipótesis
2. I(¬p → r) = 1 Hipótesis
Ejemplo 1.34. Si hoy tirila y Chubaka es kismi entonces Chubaka es borogrove y si hoy no tirila
entonces hay fefos. Más aún sabemos que no hay fefos y que Chubaka es kismi, luego 3. I(r) = 0 Refutación
entonces Chubaka es borogrove. 4. I(p) = 0 por 3 y 1. Como I(p → r) = 1 e I(r) = 0 ,
La formalización es I(p) tiene que ser 0 .
5. I(¬p) = 0 por 3 y 2, argumento similar a (4).
t∧k →b
¬t → f 6. I(p) = 1 por 5, contradicción con 4
¬f ∧ k Por lo tanto el argumento es correcto.
∴ b
Es importante observar lo siguiente acerca del uso del método de interpretaciones para
Queremos demostrar que {t ∧ k → b, ¬t → f, ¬f ∧ k} |= b.
analizar argumentos:
1. I(t ∧ k → b) = 1 Hipótesis • Si se usa el método directo, el análisis termina una vez que se logra asignar a la
conclusión el valor de verdadero.
2. I(¬t → f ) = 1 Hipótesis
3. I(¬f ∧ k) = 1 Hipótesis • Si se usa el método indirecto, el análisis termina una vez que se logre forzar a que
una fórmula tome los dos valores posibles de verdad. Esta fórmula es generalmente
4. I(b) = 0 Refutación
una variable proposicional, aunque esto no es necesario.
1.6 Análisis de argumentos 75 76 Lógica proposicional

• Forzar un valor v para una fórmula A significa que, de acuerdo a la definición de se evalúa a 0 .
interpretación y a los valores previamente obtenidos de variables o fórmulas, el valor
(2) (3) (1) (5) (4)
para A es necesariamente y sin lugar a dudas el valor v que puede ser 1 o 0. Por
ejemplo, si sabemos que I(p → q) = 1 e I(q) = 0 entonces necesariamente p q r s q →p ∧ r∨s → r →p
I(p) = 0, puesto que si tuviésemos I(p) = 1 entonces la definición de interpretación 0 0 1 0 1 1 1 0 0
para la implicación nos llevarı́a a I(p → q) = 0, lo cual sabemos que no sucede. De
Obsérvese que s también pudo haber sido verdadero, lo cual habrı́a generado otro contrae-
esta manera el valor de p está forzado a ser 0 .
jemplo.
Es error común asignar valores que no están forzados; por ejemplo, si sólo sabemos
que I(r → s) = 1 entonces es un error decir que el valor I(s) = 0 está for-
zado puesto que no hay suficiente información para descartar la posibilidad de que El método indirecto puede ser de más ayuda en algunos casos, pues obliga desde el
I(r) = 0, en cuyo caso s podrı́a ser verdadero sin afectar el valor conocido de r → s. principio a forzar algunos valores como en el siguiente ejemplo.
• Si al usar el método indirecto no es posible hallar una contradicción o si en el método
Ejemplo 1.37. Analizar el argumento q → p, r → p/ ∴ r ∨ s.
directo no se forzó a que la conclusión sea verdadera, entonces el argumento resul-
Procedemos indirectamente:
ta incorrecto y la interpretación asignada será un contraejemplo a la correctud del
argumento, puesto que las premisas serán ciertas y la conclusión falsa. 1. I(q → p) = 1 Hipótesis
Analizaremos ahora un par de argumentos incorrectos. 2. I(r → p) = 1 Hipótesis
3. I(r ∨ s) = 0 Refutación
Ejemplo 1.36. Analizar el argumento q → p, r ∨ s/ ∴ r → p.
Procedemos directamente: 4. I(r) = 0 por 3
5. I(s) = 0 por 3
1. I(q → p) = 1 Hipótesis
2. I(r ∨ s) = 1 Hipótesis Obsérvese que falta asignar los valores de p y q. Puede ser que con la asignación I(r) = 0
ya aseguramos que la segunda premisa se mantiene cierta, por lo que el valor de p está libre.
En este momento no hay manera de forzar ningún valor puesto que tanto la implicación Asimismo, el valor de q sólo afecta a la primera premisa y puede elegirse libremente. Un
como la disyunción son verdaderas en tres estados. Esta libertad nos permite asignar valores contraejemplo es entonces
que causen que la conclusión sea falsa, lo que sucede como sigue:
I(r) = I(s) = I(q) = I(p) = 0
3. I(r) = 1 Supuesto
4. I(p) = 0 Supuesto Algunas observaciones son pertinentes.
Aún no terminamos puesto que debemos dar valores a q y s, los cuales pueden obtenerse • Al usar valores supuestos no es posible afirmar la correctud del argumento al llegar al
como sigue: valor verdadero para la conclusión o al llegar a una contradicción. En este caso esto
sólo indica que el valor supuesto debe reconsiderarse. Si se llega al mismo resultado
5. I(q) = 0 por 1 y 4
para todos los posibles valores supuestos entonces podremos afirmar la correctud del
6. I(s) = 0 Supuesto argumento y sólo hasta ese momento.

De manera que la interpretación dada por I(p) = I(q) = I(s) = 0 I(r) = 1 es un • En el caso de llegar a un contraejemplo con un valor supuesto, con éste basta. No es
contraejemplo al argumento, pues con esta interpretación I(r → p) = 0, ya que 1 → 0 es necesario reconsiderar valores supuestos pues el contraejemplo ya está construido.
0 . Esto es, en el estado {p = 0 , q = 0 , s = 0 , r = 1 }, tenemos que
El método de interpretaciones, si bien es más eficiente en general que el uso de tablas
((q → p) ∧ (r ∨ s)) → (r → p) de verdad, requiere de una gran interacción con el usuario, por lo que se antoja difı́cil de
1.6 Análisis de argumentos 77 78 Lógica proposicional

implementar; es ası́ un método muy cercano al razonamiento humano. Más aún, los pasos paso como sigue:
de razonamiento no siempre son únicos, por ejemplo al usar supuestos, lo cual añade una
dificultad más, la elección o no determinismo.
Fórmula Justificación Comentario
La noción de consecuencia lógica es un concepto semántico de gran importancia que
permite analizar argumentos lógicos y además puede generalizarse a otros sistemas lógicos, 1. p→q Hipótesis Si x > Max antes de la ejecución entonces
en contraste con las tablas de verdad. Más aún, el uso de interpretaciones proporciona la x = Max después de la ejecución
base para la búsqueda de contraejemplos a argumentos incorrectos. Sin embargo, no es un 2. q → ¬r Hipótesis Si x = Max después de la ejecución entonces
método eficiente para encontrar consecuencias dado un conjunto de premisas. Para este x > Max no es cierta después de la ejecución.
propósito es más conveniente construir pruebas o derivaciones de manera sintáctica, es
3. ¬p → ¬r Hipótesis Si x > Max no es cierta antes de la ejecución
decir, sin apelar al concepto de interpretaciones. Haremos esto en la siguiente sección.
entonces tampoco después de la ejecución
4. p → ¬r SH 1,2 Si x > Max antes de la ejecución entonces
1.6.4. Derivaciones x > Max no es cierta después de la ejecución.
5. ¬r DCS 3,4 Por lo tanto, sin importar si x > Max es cierta
Muchos argumentos lógicos correctos pueden obtenerse mediante composición de otros o falsa antes de la ejecución, después de la
argumentos correctos previamente obtenidos, en el sentido de que la conclusión de un argu- ejecución x > Max es falsa.
mento previo puede servir como premisa para un siguiente argumento, y ası́ sucesivamente,
hasta llegar a una conclusión deseada. Obsérvese que esta composición de argumentos es
un mecanismo puramente sintáctico, al no apelar a la noción de verdad o interpretación. Se observa que el paso 4, que es la conclusión de una instancia del silogismo hipotético,
Veamos un par de ejemplos. fue usado además como premisa para lograr una instancia del dilema constructivo simple.
Más aún, en ningún momento se apela a la noción de interpretación.
Ejemplo 1.38. Queremos demostrar que el siguiente fragmento de programa deja el valor de la
variable x de tal forma que después de la ejecución es imposible que x > Max. Ejemplo 1.39. Uno de los más reconocidos pensadores “lógicos” es Sherlock Holmes, el detective
i f x > Max then x : = Max ; creado por Arthur Conan Doyle. Veamos una de sus argumentaciones más famosas, que
Formalizamos con las siguientes variables proposicionales: aparece en el libro “Estudio en Escarlata”:
p : x > Max antes de la ejecución
Y ahora llegamos a la gran pregunta del motivo. El robo no fue la razón del
q : x = Max después de la ejecución asesinato, ya que nada fue sustraı́do. Entonces, ¿fue la polı́tica o fue una mu-
r : x > Max después de la ejecución jer? Esta es la pregunta a la que me enfrenté. Me incliné desde un principio a
Tenemos que distinguir entre x > Max antes y después de la ejecución, pues la asigna- la segunda suposición. Los asesinos polı́ticos hacen su trabajo lo más rápido
ción modifica el valor de la variable x, es decir, x tiene un valor distinto antes y después de posible y huyen en cuanto terminan. Este asesinato, en cambio, fue hecho de
la ejecución del programa. manera deliberada y el asesino dejó sus huellas en todo el cuarto, mostrando
Vamos a hacer primero un análisis intuitivo del problema: hay dos casos, correspon- que permaneció ahı́ mucho tiempo.
dientes a p y ¬p. Si p sucede entonces la asignación se lleva a cabo y q se vuelve válida, es
Para expresar esta cita, utilizaremos las siguientes variables proposicionales:
decir la implicación p → q se cumple. Además, si q es válida entonces ¬r también, pues
r: Fue un robo
si los dos números x,Max son iguales entonces x > Max es falso, ası́ que la implicación
q → ¬r es válida. Por otro lado, si ¬p es válida, entonces la asignación no se lleva a cabo s: Algo fue sustraı́do
y claramente ¬r es cierta, pues en este caso p es equivalente a r, por lo que la implicación p: Fue la polı́tica (motivos polı́ticos)
¬p → ¬r es válida. Formalmente queremos concluir que ¬r, lo cual es posible usando co-
m: Fue una mujer
mo hipótesis las implicaciones anteriores y aplicando los esquemas de silogismo hipotético
(SH) y dilema constructivo simple (DCS), (ver ejemplos 1.6.0 y 1.6.0). Procedemos paso a h: El asesino huyó inmediatamente
1.6 Análisis de argumentos 79 80 Lógica proposicional

c: El asesino dejó sus huellas en todo el cuarto 6. p→h


9. ¬h Modus Tollens
Veamos la derivación que llevó a cabo Sherlock Holmes, y que lo llevó a concluir que
10. ¬ p
fue una mujer:
5. p ∨ m
Derivación Regla Comentario
10. ¬ p Silogismo Disyuntivo
1. r→s Premisa Si fue un robo entonces algo debió ser sus-
11. m
traı́do
2. ¬ s Premisa Nada fue sustraı́do
3. ¬ r Modus Tollens 1,2 No fue un robo Las secuencias de composición de argumentos que acabamos de mostrar en los ejem-
plos anteriores se llaman derivaciones, pruebas o deducciones formales. A continuación
4. ¬ r → p ∨ m Premisa Si no fue un robo, debió ser motivo polı́tico
las estudiamos de manera formal.
o una mujer
5. p ∨ m Modus Ponens 3,4 Fue motivo polı́tico o una mujer
6. p → h Premisa Si fue motivo polı́tico, el asesino de- Sistemas para derivaciones
bió huir inmediatamente
Los aspectos de la lógica relacionados con el estudio de las derivaciones conforman
7. c → ¬ h Premisa Si el asesino dejó huellas en todo el cuarto,
lo que se llama teorı́a de la demostración en contraste con los aspectos semánticos cuyo
no huyó inmediatamente
estudio se conoce como teorı́a de modelos. En esta sección describimos formalismos para
8. c Premisa El asesino dejó huellas en todo el cuarto desarrollar pruebas o derivaciones en lógica proposicional de manera sistemática, los cuales
9. ¬ h Modus Ponens 7, 8 El asesino no huyó inmediatamente se conocen como cálculos deductivos o sistemas para derivaciones.
10. ¬ p Modus Tollens 6, 9 El motivo no fue polı́tico Aunque existen diversos sistemas para desarrollar derivaciones todos tienen las siguien-
11. m Silogismo Disyun- Por lo tanto debió ser una mujer tes caracterı́sticas en común
tivo 5, 10 1. Hay un conjunto de argumentos lógicos admisibles, llamados reglas de inferencia.
Nos referiremos a este conjunto con L. Formalmente cada elemento de L es en rea-
La secuencia de argumentos utilizados se muestra en la lista a continuación. En ella se lidad un esquema de argumento, el cual debe ser un argumento correcto. En algunos
puede observar claramente como las conclusiones que se van obteniendo de los argumentos, casos se aceptan argumentos sin premisas los cuales se llaman axiomas.
se pueden utilizar como premisas en argumentos sucesivos. 2. La derivación es en sı́ misma una lista de expresiones lógicas. Originalmente, la lista
1. r → s está vacı́a y una expresión puede agregarse a la lista si es una premisa, o si se puede
2. ¬ s Modus Tollens obtener como conclusión de alguna de las reglas de inferencia de L a partir de expre-
siones que se encuentran previamente en la lista. Este proceso continúa hasta que se
3. ¬ r
llega a la fórmula B que se desea obtener como conclusión. En tal caso decimos que
3. ¬ r la lista completa es una derivación de B.
4. ¬ r → p ∨ m La siguiente definición es de importancia
Modus Ponens
5. p ∨ m Definición 1.14 Sean Γ = {A1 , . . . , An } un conjunto de fórmulas. Si existe una derivación de B a
partir de Γ, es decir, donde las premisas son fórmulas del conjunto Γ entonces decimos que
7. c → ¬ h B es derivable a partir de Γ y escribimos Γ ⊢L B o simplemente Γ ⊢ B si el conjunto de
8. c Modus Ponens reglas de inferencia válidas ya es conocido.
9. ¬ h
Por lo general el conjunto de reglas de inferencia L está fijo desde un principio, de
manera que únicamente pueden usarse reglas de inferencia que figuran en el. En nuestro
1.6 Análisis de argumentos 81 82 Lógica proposicional

caso no seremos tan estrictos y permitiremos usar cualquier regla previamente derivada, 1. p → r Premisa
aunque esencialmente usaremos las siguientes:
2. r → s Premisa
Tabla 1.16 Principales Reglas de Inferencia (1/2) 3. t ∨ ¬s Premisa
4. ¬t ∨ u Premisa
Regla Nombre Notación
5. ¬u Premisa
A B /A∧B Introducción de ∧ I∧
6. p → s (SH) Silogismo hipotético con 1,2
A∧B /B Eliminación de ∧ E∧ 7. ¬t (SD) Silogismo disyuntivo con 4,5
A∧B /A Eliminación de ∧ E∧ 8. ¬s (SD) Silogismo disyuntivo con 7,3

A /A ∨ B Introducción de ∨ I∨ 9. ¬r (MT) Modus tollens con 2,8


10. ¬p (MT) Modus tollens con 9,1
B /A∨B I∨

A A→B/B Modus Ponens MP Ejemplo 1.41. Mostrar la correctud del siguiente argumento
¬B A→B/¬A Modus Tollens MT p → q, q → r ∧ s, ¬r ∨ ¬t ∨ u, p ∧ t/ ∴ u
A→B B→C/A→C Silogismo Hipotético SH 1. p→q Premisa
A∨B ¬A/B Silogismo Disyuntivo SD 2. q →r∧s Premisa
3. ¬r ∨ ¬t ∨ u Premisa
A∨B ¬B /A SD 4. p∧t Premisa
A→B ¬A→B/B Casos simple CS 5. p→r∧s SH 1,2
6. p E∧ 4
A↔B/A→B Eliminación de equivalencia E↔ 7. r∧s MP 5,6
A↔B/B→A E↔ 8. r E∧ 7
9. ¬t ∨ u SD 8,3
A→B B→A/A↔B Introducción de Equivalencia I↔ 10. t E∧ 4
A, ¬ A / B Inconsistencia Inc 11. u SD 9,10

Ejemplo 1.42. Mostrar la correctud del siguiente argumento:


Es momento de desarrollar algunos ejemplos.
Si la banda no puede tocar cumbia o las cervezas no llegan temprano, enton-
Ejemplo 1.40. Mostrar la correctud del siguiente argumento: ces la fiesta de fin de semestre se canceları́a y Menelao montarı́a en cólera.
Si la fiesta se cancela, hay que devolver las entradas. No se devolvieron las
p → r, r → s, t ∨ ¬s, ¬t ∨ u, ¬u/ ∴ ¬p entradas. Luego entonces la banda pudo tocar cumbia.

Vamos a desarrollar una derivación de ¬p con premisas Se asignan las siguientes variables proposicionales:
b: La banda pudo tocar cumbia
Γ = {p → r, r → s, t ∨ ¬s, ¬t ∨ u, ¬u} c: Las cervezas llegan temprano
1.6 Análisis de argumentos 83 84 Lógica proposicional

f : La fiesta se cancela Disyunción


m: Menelao monta en cólera
d: Hubo que devolver el dinero De acuerdo a la regla de introducción de la disyunción (∨I), para mostrar Γ ⊢ P ∨ Q
El argumento a verificar es: basta mostrar alguno de los dos operandos. Es decir,
• Si Γ ⊢ P o bien Γ ⊢ Q, entonces Γ ⊢ P ∨ Q.
¬b ∨ ¬c → f ∧ m, f → d, ¬d/ ∴ b
En este caso la afirmación recı́proca no es necesariamente cierta; por ejemplo, tenemos
1. ¬b ∨ ¬c → f ∧ m Premisa A, ¬A ⊢ B ∨ C por la regla de inconsistencia,
2. f →d Premisa
3. ¬d Premisa pero no es posible derivar A, ¬A ⊢ B ni A, ¬A ⊢ C.
4. ¬f MT 2,3
5. ¬f ∨ ¬m I∨ 4
6. ¬(f ∧ m) RE 5
Implicación
7. ¬(¬b ∨ ¬c) MT 6,1
Cuando tratamos de derivar una implicación basta suponer como premisa adicional el
8. ¬¬b ∧ ¬¬c RE 7
antecedente y derivar a partir de ello el consecuente. Esto se debe a que para mostrar la
9. b∧c RE 8
verdad de una implicación basta examinar aquellos casos en que el antecedente es verdade-
10. b E∧ 9
ro y corroborar que de ese antecedente se infiere el consecuente; si el antecedente es falso,
Se observa en los pasos 6, 8 y 9 el uso de razonamiento ecuacional (RE); muchas veces la implicación es verdadera no importando el valor del consecuente. Esto se expresa en la
éste se da por sobreentendido y no se menciona, por lo que podrı́amos haber pasado del siguiente propiedad conocida como el metateorema de la deducción:
paso 5 al 7 o del paso 7 al 9 directamente.
• Si Γ, P ⊢ Q entonces Γ ⊢ P → Q.

Obsérvese que esta regla se usa prácticamente siempre en las demostraciones matemáti-
1.6.5. Estrategias para la construcción de derivaciones cas en general.

En esta sección presentamos algunas estrategias o métodos para la derivación de ar- Ejemplo 1.43. Supongamos que deseamos demostrar
gumentos correctos. La meta es construir una derivación Γ ⊢ B. De acuerdo al conecti-
⊢P →P ∨Q
vo principal de la conclusión B de un argumento, podemos simplificar la derivación del
mismo. Utilizando la propiedad anterior basta encontrar una derivación
P ⊢P ∨Q
Conjunción
la cual es inmediata de la regla de introducción de la disyunción (∨I).
Para derivar una conjunción Γ ⊢ P ∧ Q basta derivar ambos operandos por separado.
Es decir, Equivalencia
• Si Γ ⊢ P y Γ ⊢ Q, entonces Γ ⊢ P ∧ Q Para derivar una equivalencia P ↔ Q basta probar ambas implicaciones
• Si Γ ⊢ P → Q y Γ ⊢ Q → P , entonces Γ ⊢ P ↔ Q.
Esta propiedad es inmediata de la regla de inferencia (∧I). Obsérvese que la afirmación
recı́proca también es cierta. Nuevamente esta propiedad es muy común en demostraciones matemáticas.
1.6 Análisis de argumentos 85 86 Lógica proposicional

Negación patrón de Leibniz y que están incompletos. El orden no es forzosamente el dado por
la expresión, esto es, abajo de X no forzosamente está E[z := X]. Llena las partes
que faltan y escribe en que consiste la expresión E. Los últimos dos ejercicios tienen
Para derivar una negación no hay estrategia general. En algunos casos podemos usar
tres respuestas. Dalas todas.
equivalencias lógicas, por ejemplo si deseamos Γ ⊢ ¬(P ∧ Q) entonces basta mostrar
Γ ⊢ ¬P ∨ ¬Q; para demostrar último podemos usar la estrategia para la disyunción y p ↔ p∨0 7 = y+1
a) b)
probar alguna de Γ ⊢ ¬P o bien Γ ⊢ ¬Q. p∨0 ∨q ↔ ? 7·x+7·y = ?
Un sistema de derivación L debe ser tal que no se puedan derivar resultados que no son p→q ↔ ¬q→¬p x = b+c
c) d)
sólidos. Esto es, L no debe contener ninguna falacia – una regla de inferencia que permite p→q→p ↔ ? x+y+w = ?
concluir algo que no está implicado por las premisas – y que por lo tanto no es válido.
Un sistema de derivación también debe ser completo, esto es, que sea posible derivar x+1 = y b·c = y+w
absolutamente a todas las conclusiones que se puedan inferir de las premisas. Por ejemplo, e) f)
3 · (x + 1) + 3 · x + 1 = ? x+y+w = ?
la tabla 1.16 no nos da un sistema completo, pues hay leyes, como la del Tercero Excluido,
que no se puede derivar de ellas. Y como no hay forma de derivar esta Ley a partir de las x = y
que se dan en la tabla, debemos agregarla como premisa: g)
x+x = ?
⊢P ∨¬P 1.6.4.- El objetivo de este ejercicio es reforzar las habilidades para el uso del argumento
de Leibniz, para demostrar que dos expresiones son iguales. Vamos a dar Las expre-
siones E[z := X] y E[z := Y ] y deberán localizar respectivamente a X y a Y .
Ejercicios
E[z := X] E[z := Y ]

1.6.1.- Usa las variables P y Q para formalizar los siguientes argumentos. (a) (x + y) · (x + y) (x + y) · (y + x)
(b) (x + y) · (x + y) (y + x) · (y + x)
a) Si 10 es primo, 10 no puede ser igual a 2 veces 5. 10 es 2 veces 5. Por lo tanto, (c) x+y+w+x x+y·w+x
10 no puede ser primo. (d) x·y·x (y + w) · y · x
b) Si llueve frecuentemente, los agricultores se quejan; si no llueve frecuentemen- (e) x·y·x y·x·x
te, los agricultores se quejan. En conclusión, los agricultores se quejan.
1.6.5.- Da un ejemplo, en español, para cada uno de los patrones de razonamiento que
1.6.2.- Para las siguientes expresiones E, dadas z, X y Y , obtener E[z := X] y E[z := Y ]. dimos arriba:

z E X Y a) Silogismo hipotético
(a) p p p∧q q∧p b) Silogismo disyuntivo
c) Modus Ponens
(b) p (p ∨ q) ∧ (p ∨ r) 1 p↔p d) Modus Tollens
(c) p p∧p↔p p∨q p∨¬q ↔p e) Sustitución

(d) q p ∧ (¬ p ∧ q) p ∨ (q ∧ r) (p ∨ q) ∧ (p ∨ r) 1.6.6.- Identifica en los siguientes argumentos, cuál de los patrones de razonamiento que
dimos se presenta:
1.6.3.- La regla de Leibniz se refiere a cualquier combinación de expresiones E, X y Y a) Si vamos al cine, nos desvelamos. No me quiero desvelar. Entonces no vamos
y a cualquier variable z. A continuación damos varios razonamientos que siguen el al cine.
1.7 Tableaux en cálculo proposicional 87 88 Lógica proposicional

b) ¡Me pagas la deuda o te quito la televisión! No me pagaste la deuda. Entonces las variables proposicionales que participan en la fórmula de tal manera que ésta se evalúa
te quito la televisión. a verdadera (dicho de una tercera formas, si la fórmula tiene modelo).
c) Si el número de visitas es a lo más 15, estarán todos en la sala. Hay visitas en Uno de los mecanismos que podemos utilizar para determinar si una fórmula es ra-
la recámara. Es porque vinieron más de 15. zonable es la de elaborar la tabla de verdad de la misma. Sin embargo, como ya hemos
mencionado, la tarea de elaborar tablas de verdad cuando estamos hablando de fórmulas
d) Ese muchacho se llama Juan o Pedro. No se llama Juan. Entonces se llama de más de tres o cuatro variables se vuelve un problema intratable, ya que tendremos que
Pedro. examinar 2n posibles estados.
Un mecanismo que permite de manera eficiente y segura determinar si una fórmula es
1.6.7.- Usa interpretaciones para determinar si las siguientes fórmulas son tautologı́as, con-
tautologı́a, contradicción o contingencia, y encontrar un estado para el cual la fórmula se
tradicciones o contingentes. Si son contingentes, da una interpretación en la que la
evalúa a verdadera son los tableaux.
fórmula no se evalúa a verdadero.

(a) (p → q) ∧ (p → r)/ ∴ q → r 1.7.1. El concepto de tableau


  
(b) (p ∨ q) ∨ r ∧ p ∨ (q ∨ r) → p ∨ q
  Un tableau corresponde a un árbol cuya función es buscar una interpretación para de-
(c) p ∧ (q ∧ r) → p → (q → r) terminada fórmula. Los tableaux toman la forma de un árbol, parecido a los árboles de
(d) p ∨ q → p ∨ r derivación. Las fórmulas que van a ser representadas en un tableau deben consistir úni-
camente de conjunciones y disyunciones de literales y literales negadas; no pueden tener
(e) p ∨ q → r, s → p, s/ ∴ r ningún otro operador, pero esto no nos debe preocupar ya que vimos que es posible eli-
(f) p ∨ q, ¬ (p ∧ r), ¬ q/ ∴ r → s minar la implicación y la bicondicional sustituyéndolas por disyunciones y conjunciones.
(g) p → (p → q) → p
 También podemos eliminar la negación de una fórmula disyuntiva o conjuntiva (¬(p ∧ q))
utilizando las leyes de De Morgan (¬(p ∧ q) = ¬ p ∨ ¬q). Es importante, sin embar-
(h) A → B, A ∨ C, ¬ (C ∧ D)/ ∴ (A → B) → (B ∨ ¬ D) go, mantener la asociatividad de los operadores dada por la fórmula original (preservar la
precedencia original o sea trabajar con fórmulas totalmente parentizadas).
1.6.8.- Demuestra que las siguientes fórmulas son tautologı́as usando derivaciones:
La construcción de tableaux tiene realmente muy pocas reglas. Veámoslas:
(a) p → q, r → s, ¬ q ∨ ¬ s ⊢ ¬ p ∨ ¬ r 1. La fórmula para la que deseamos construir el tableau aparece como raı́z del árbol.
(b) p ∨ (p ∧ ¬ q → r) 2. Si el esquema de la fórmula es una disyunción (A ∨ B), de la raı́z del subárbol se
(c) p ∨ (¬ p ∧ q) → p ∨ q abren dos ramas, una para la fórmula A y otra para la fórmula B, como podemos ver
en la figura 1.10.
(d) (p → q) → (p ∨ q → q)
(e) (¬ p ∧ (¬ p ∧ q)) ∨ (p ∧ (p ∧ ¬ q)) ↔ (¬ p ∧ q) ∨ (p ∧ ¬ q) Figura 1.10 Construcción de tableau para la disyunción

(a) (b) (c)

1.7. Tableaux semánticos para el cálculo proposicional ¬(p ∨ q) ∨ (p → q) A∨B p ∨ ¬q ∨ r

Una de las preocupaciones de la lógica proposicional (y de la de predicados que vere-


mos más adelante) es la de determinar si una fórmula bien formada (wff ) es o no razona-
¬(p ∨ q) p→q A B p ∨ ¬q r
ble. Esto último quiere decir que deseamos determinar si existe algún estado en el que la
fórmula se evalúe a verdadero; o dicho de otra manera, si hay alguna asignación posible a
1.7 Tableaux en cálculo proposicional 89 90 Lógica proposicional

Como el operador ∨ es simétrico y asociativo, se pueden intercambiar el orden de las


Figura 1.12 Primer ejemplo de tableau para representar conjunciones
ramas de los árboles. También utilizamos la propiedad asociativa de la disyunción en
el caso de la fórmula 1.10(c) y decidimos “abrir” primero la segunda disyunción.
p∧q

Por lo pronto, dejamos a los tableaux desarrollados únicamente en el primer nivel, p


lo que deja ramas que deben ser expandidas en el primer y tercer caso. Más adelante
veremos cuándo y cómo conviene extender un tableau. Conforme se avanza en la
fórmula, se va “componiendo” con el árbol que se tiene hasta ese momento. Lo que q
debe quedar claro es que en la fórmula 1.10(a) no podemos extender, tal como están,
a ninguna de las fórmulas en el segundo nivel del árbol, ya que no corresponden a
esquemas de disyunción o conjunción; en esta expresión, la fórmula de la izquierda En la fórmula de la figura 1.13 tenemos un esquema de conjunción donde cada ope-
corresponde a un esquema de negación, mientras que la segunda es una condicional; rando es, a su vez, una disyunción. Entonces, listamos los dos operandos, uno abajo
ası́ que por lo pronto posponemos su extensión hasta que demos las reglas de trans- del otro (el orden no importa) y procedemos a construir el tableau para uno de ellos,
formación para tableaux. En cambio, en la fórmula 1.10(c) sı́ tenemos en la rama en este caso el primero. Una vez que tenemos en el tableau como hojas únicamente
izquierda un esquema de disyunción, por lo que ya podemos expandirla, quedando el variables proposicionales que ya no pueden descomponerse más, colgamos de cada
tableau como se muestra en la figura 1.11. una de las ramas al otro operando y procedemos a abrirlo. Mostramos en el tableau
de la figura 1.13(b) el nivel intermedio para la fórmula r ∨ q, aunque esto no es nece-
sario, sino que podrı́amos haber colgado directamente la conjunción, como se ve en
el tercer tableau de esta fórmula.
Figura 1.11 Desarrollo completo del tableau de la fórmula 1.10(c)
Figura 1.13 Segundo ejemplo de tableau para representar conjunciones
p ∨ ¬q ∨ r p ∨ ¬q ∨ r (a) (b) (c)

(p ∨ ¬q) ∧ (r ∨ q) (p ∨ ¬q) ∧ (r ∨ q) (p ∨ ¬q) ∧ (r ∨ q)


r∨q r∨q r∨q
p ∨ ¬q r r
p ∨ ¬q p ∨ ¬q p ∨ ¬q

p ¬q p ¬q
p ¬q p ¬q
p ¬q

r∨q r∨q
3. Si el esquema de la fórmula es una conjunción (A∧B) se pone a uno de los operandos q q
r r
como hijo del otro (como el operador ∧ es simétrico, el orden no importa). Podemos
ver tres ejemplos en las figuras 1.12 a 1.14.
r q r q

En la fórmula de la figura 1.12 tenemos un esquema de conjunción, donde cada uno


de los operandos es una variable proposicional. Para la tercer fórmula tenemos también un esquema de conjunción. Como la con-
1.7 Tableaux en cálculo proposicional 91 92 Lógica proposicional


junción es asociativa, podemos asociar (¬p ∨ q) ∧ (¬ q ∨ r) ∧ (¬p ∨ r), que es llamos completo, colgamos de cada una de las ramas el segundo operando, a su vez
como lo hicimos, o pudiéramos usar también la simetrı́a de este operador. Listamos desarrollado ya en un tableau; por último, tenemos que colocar el operando que nos
los tres operandos uno abajo del otro y desarrollamos el tableau del último (¬ p ∨ r) falta, ¬ p∨q, colgándolo de cada una de las ramas que llevamos hasta el momento. El
como primer paso. A continuación colgamos de todas las ramas de este tableau al orden no es importante, siempre y cuando hayamos incluido para desarrollar a todas
segundo operando (¬ q ∨ r) y lo tachamos – ya no pusimos la subfórmula original las subfórmulas en la manera en que indicamos.
explı́citamente en el árbol –. Una vez que tenemos únicamente variables proposicio-
nales como hojas del tableau, como tercer paso colgamos de cada una de las ramas a Dado que únicamente tenemos reglas de construcción para la disyunción y la conjun-
la primera fórmula (¬ p ∨ q). El tableau construido de esta manera es el último en la ción, debemos decidir qué hacer con aquellas fórmulas que involucren otros operadores.
figura 1.14. Tenemos dos opciones: transformar la fórmula antes de construir el tableau, usando pro-
piedades de los operadores, asociatividad, simetrı́a y las Leyes de De Morgan, y proceder
Este caso es, claramente, un poco más complicado que el caso de la bifurcación.
después a desarrollar el tableau de la fórmula resultante. Otra opción es ir transformando
La intención con la que se construyeron los árboles (tableaux) es la de que, como
las subfórmulas durante la construcción del tableau. Esta estrategia nos puede ahorrar tra-
se trata de una conjunción, cualquier “camino” en el árbol debe contemplar a todos
bajo por razones que no tardaremos en explicar. Además, es la que más se beneficia del uso
los operandos de la conjunción. En el primer ejemplo, simplemente tenemos dos
de tableaux.
variables proposicionales, por lo que las ponemos en el árbol a una de ellas como
descendiente de la otra. En el segundo ejemplo, desarrollamos uno de los operandos
de la disyunción y de cada hoja, en la que hay únicamente variables proposicionales, 1.7.2. Eliminación de ramas del tableau
“colgamos” a la otra proposición desarrollada como tableau. Como el tableau para
r ∨ q es un tableau con dos ramas, éste se cuelga tanto de p como de ¬ q.
Como dijimos antes, vamos a utilizar los tableaux para determinar si una fórmula es
satisfacible o no. Por como están construidos, si seguimos un camino dentro del tableau
Figura 1.14 Tercer ejemplo de tableaux con disyunción vamos a tener la conjunción de variables proposicionales. Por ejemplo, en el caso del ta-
(a) (b) (c)
bleau de la figura 1.12 simplemente tenemos que el único camino en el árbol es salir de p
y llegar a q. Pero en el caso del tableau de la figura 1.13, el camino (p ∨ ¬q) → ¬ q → q
(¬p ∨ q) ∧ (¬q ∨ r) ∧ (¬p ∨ r)
nos indica la subfórmula q ∧ ¬q, que es una contradicción, por lo que “siguiendo” esa
rama ya no va a satisfacer a la fórmula (la conjunción será evaluada a falso). Cada vez
¬p ∨ q ¬p ∨ q ¬p ∨ q que encontramos, en un camino (una rama) dentro del árbol, una literal y la misma literal
¬q ∨ r ¬q ∨ r ¬q ∨ r negada, podemos cerrar esa rama y ya no extenderla más, pues no importa qué fórmulas
¬p ∨ r ¬p ∨ r ¬p ∨ r le colguemos a ese camino tendremos una conjunción con falso, lo que hace a la fórmula
representada por ese camino falsa. Denotamos que un camino está cerrado colocando el
sı́mbolo ⊗. En la figura 1.13 se habrı́a eliminado una rama, como se puede observar en la
figura 1.15.
¬p r ¬p r ¬p r

Figura 1.15 Cierre de ramas en la figura 1.13


¬q r ¬q r ¬q r ¬q r p ∨ ¬q

¬p q ¬p q ¬p q ¬p q p ¬q

El tercer ejemplo consiste de dos operadores ∧ (tres operandos). En el primer nivel r q r q


colocamos (es arbitraria esta elección) al tercer operando. Una vez que lo desarro- ⊗
1.7 Tableaux en cálculo proposicional 93 94 Lógica proposicional

Por ejemplo, el árbol de la figura 1.14 no presenta ninguna rama cerrada que nos ahorre Las ramas que cerremos ya no tiene sentido seguir expandiéndolas y eso nos va a aho-
trabajo – ver figura 1.16 –. rrar trabajo. Si todas las ramas quedan cerradas la fórmula es una contradicción; sin embar-
go, el que todas las ramas queden abiertas no significa que tenemos una tautologı́a. Como
ejemplo veamos la fórmula 1.12, donde todas sus ramas (exactamente una) quedaron abier-
Figura 1.16 Cerrado de ramas en un tableau
tas, y sin embargo esta fórmula sólo será verdadera en el caso en que I(p) = I(q) = 1; en
caso de que algunas ramas queden abiertas y otras cerradas se trata de una fórmula contin-
¬p∨r gente. Para determinar si una fórmula es tautologı́a tenemos que construir el tableau para
su negación, y si en este tableau se cierran todas las ramas, tenemos que la negación de la
fórmula es contradicción y por lo tanto la original es tautologı́a.
¬p r
1.7.3. Reglas para los tableaux
¬q r ¬q r
Vamos a optar por ir “abriendo” las fórmulas conforme las vamos incluyendo en el
tableau; la razón para ello es que si nos encontramos con ramas cerradas antes de agregar
¬p q ¬p q ¬p q ¬p q alguna conjunción, nos ahorramos el trabajo de transformar la regla. Como en el caso de
⊗ ⊗ la lógica ecuacional y de la sustitución textual, es muy importante determinar cuál es el
esquema principal que estamos procesando: cuál es el operador que domina. Las reglas
que podemos usar para transformar las fórmulas y poderlas agregar al tableau en desarrollo
Sin embargo, hasta ahora únicamente hemos podido cerrar ramas que ya están total- se encuentran a continuación.
mente desarrolladas, y lo que queremos es ahorrar trabajo, esto es, cerrar ramas lo antes
posible. Si hubiésemos seguido otro orden en la doble conjunción de la figura 1.14, buscan- • α-reglas:
do que aparezcan lo antes posible una literal y su negación, habrı́amos podido llevar a cabo
menos trabajo. Por ejemplo, si el orden en que colgamos del tableau es (¬ p ∨ q), (¬ q ∨ r) 1. De A ∧ B se deduce A y B
y por último (¬ p ∨ r), tenemos lo antes posible la contradicción, como se muestra en la 2. De ¬(A ∨ B) se deduce ¬A y ¬B
figura 1.17. 3. De ¬(A → B) se deduce A y ¬B.

• β-reglas:
Figura 1.17 Orden de armado del tableau para cerrar lo más pronto posible
1. De A ∨ B se deduce A y, en una rama separada, B.
¬p∨r 2. De ¬(A ∧ B) se deduce ¬A y en una rama separada ¬B.
¬q∨r
¬p ∨ q 3. De A → B se deduce ¬A y en una rama separada B.

• σ-reglas:
¬p q 1. De ¬¬A se deduce A.
2. De ¬F se deduce T .
¬q r ¬q r 3. De ¬T se deduce F .

• Reglas de cierre:
¬p r ¬p r ¬p r
1. Cerrar una rama que tenga A y ¬A (para cualquier A), o ¬T (¬ 1), o F (0).
1.7 Tableaux en cálculo proposicional 95 96 Lógica proposicional

Veamos algunos ejemplos de construcción de tableaux. Ver figura 1.18 para el desarrollo del tableau correspondiente.
  Como todas las ramas están cerradas la fórmula es una contradicción, y por lo tanto la
fórmula original es tautologı́a (lo que ya sabı́amos).

Ejemplo 1.44. Demostrar ⊢ (p → q) → p → p , construyendo el tableau correspondiente
a su negación.
De lo anterior, usando la α − regla(3) tenemos: Figura 1.18 Construcción del tableau para el ejemplo 1.7.3
   

¬ (p → q) → p → p = (p → q) → p ∧ ¬ p

Fórmula: Regla usada:

por lo que pasamos a desarrollar el tableau de esta conjunción. (P → Q) ∧ (Q → R) ∧ ¬ (P → R) α-3
Regla usada: ¬ (P → R)
     
¬ (p → q) → p → p ≡ (p → q) → p ∧ ¬ p α(3) P ∧¬R ¬ (P → R) a P ∧¬R α-3

(p → q) → p P
α(1)
¬p

¬R

P →Q a ¬P ∨Q β-3
¬P Q


(p → q) → p β(3)
¬ (p → q) ∨ p Q→R a ¬Q∨R β-3
¬Q R
⊗ ⊗

¬ (p → q) p α(3)
p∧¬q ⊗ cierre
p
1.7.4. Modelo de una fórmula
⊗ cierre

Como tenemos una contradicción, podemos deducir que la fórmula original es una tau- Al desarrollar un tableau para una fórmula dada trataremos de trabajar lo menos posible,
tologı́a. esto es, abrir el menor número de ramas posibles. Ya vimos que una rama cerrada no tiene
sentido seguirla extendiendo; las estrategias usadas deberán ir en la dirección de cerrar lo
antes posible una rama. Estas estrategias las podemos resumir de la siguiente manera:
Ejemplo 1.45. Demostrar que el silogismo hipotético es una tautologı́a:
   1. Descomponer primero las fórmulas que no abran ramas; es decir, usar las α-reglas y
(P → Q) ∧ (Q → R) → (P → R) las σ-reglas antes que las β-reglas.
Para demostrar que esta fórmula es tautologı́a trabajamos con su negación: 2. Dar prioridad a la descomposición de fórmulas que cierren ramas.
   3. Parar cuando el problema esté resuelto (para demostrar satisfacibilidad basta con
¬ (P → Q) ∧ (Q → R) → (P → R) encontrar una rama abierta completa).
1.7 Tableaux en cálculo proposicional 97 98 Lógica proposicional

4. Cuando no sirvan las estrategias anteriores, empezar por las fórmulas más complejas p∨q
(habrá luego menos ramas en las que desarrollar la fórmula compleja).
El tableau de una fórmula también nos proporciona una interpretación para la fórmula p q
que es modelo de la fórmula. De hecho, cada rama completa que queda abierta corresponde
a una interpretación de la fórmula. Por lo tanto, para encontrar un modelo de una fórmula es un tableau (muy simple) en el que todas las ramas quedaron abiertas y sin embargo no
basta encontrar una rama abierta completa. La interpretación que corresponde a esa rama es tautologı́a. Lo único que podemos sacar, respecto a interpretaciones, es que I(p) = 1 e
es como sigue: I(q) = 1 son modelos de esta fórmula (la variable que no se menciona en cada una de las
1. Las variables que aparecen negadas en esa rama se les asigna el valor 0 . interpretaciones puede tomar cualquier valor).
Por lo tanto, para demostrar que una fórmula es tautologı́a usando tableaux, lo que hay
2. Las variables que aparecen sin negar en esa rama se les asigna el valor 1 .
que hacer es construir el tableau para la negación de la fórmula, y verificar que en este
3. Aquellas variables que aparecen en la fórmula pero no en esa rama pueden tener último tableau se cierran todas las ramas.
cualquier asignación.
Nótese que no puede haber ninguna variable a la que se tuviera que asignar 0 y 1 en 1.7.6. Resumen
una misma rama, porque esto querrı́a decir que aparece negada y sin negar, en cuyo caso la
rama se habrı́a cerrado. Los tableaux son muy útiles en lógica proposicional por muy diversas causas. Entre
Para encontrar una interpretación que sirva para todas las ramas se hace lo siguiente: ellas podemos mencionar:
1. Para cada rama completa abierta Ri se forma el conjunto {pi1 , . . . pik }, donde cada 1. Para determinar si una fórmula es tautologı́a, contradicción o contingente: Para
Pij corresponde a la literal o literal negada que aparece en la fórmula. saber si una fórmula es contradicción construimos el tableau correspondiente, y si
2. Una vez formados todos los conjuntos Ri , se obtiene la intersección de los mismos. todas sus ramas quedan cerradas, la fórmula es una contradicción.
Por ejemplo, si tenemos dos ramas abiertas: Para saber si una fórmula es tautologı́a (o para demostrarlo) construimos el tableau
de la negación de la fórmula; si este tableau corresponde a una contradicción, en-
R1 = {p, ¬ q, r, ¬ t} tonces la fórmula es tautologı́a. Otra manera de hacerlo, aunque más laboriosa, es
R2 = {p, q, r, t} construir el tableau que corresponde a la fórmula. Si todas las ramas completas que-
dan abiertas, y si al construir el modelo la intersección de las variables en las ramas
Al hacer la intersección nos quedarı́amos con:
es vacı́a, quiere decir que cada variable puede tomar cualquier valor, o sea que en
R1 ∩ R2 = {p, r} cualquier estado en que se evalúe la fórmula, ésta va a ser verdadera. Pero este méto-
do, como acabamos de mencionar, es sumamente laborioso y desperdicia la ventaja
lo que indica que mientras tengamos la asignación p = r = 1 lo fórmula se satisface, de las ramas cerradas que ya no se tienen que extender.
no importa qué asignaciones tengan r y t (si deseas, lo puedes comprobar con tablas Una fórmula contingente es aquella que tiene algunas ramas cerradas y otras abiertas,
de verdad). o bien que la intersección de las ramas abiertas no es vacı́a, ya que esto querrı́a decir
que hay alguna exigencia sobre la asignación de una o más variables para que la
fórmula se evalúe a verdadero.

1.7.5. Tautologı́as y contradicciones 2. Para encontrar una explicación razonable: Se elige alguna rama completa que
haya quedado abierta y a las literales que aparecen tal cual se les asigna 1 y a las que
aparecen negadas se les asigna 0 .
Una fórmula es una contradicción si todas las ramas de su tableau se cierran. Sin embar-
go, no podemos decir que sea tautologı́a si todas sus ramas quedan abiertas, porque pudiera 3. Para encontrar los estados en los que la fórmula es verdadera: Como ya mencio-
haber interpretaciones que no fueran modelo. Por ejemplo, la fórmula p ∨ q, cuyo tableau namos, se conforman los conjuntos Ri de las ramas completas que quedaron abiertas
aparece en la siguiente página, y se intersectan, asignando 1 a las literales y 0 a las literales negadas.
1.7 Tableaux en cálculo proposicional 99 100 Lógica proposicional

Como ya se habrá visto, los tableaux son un mecanismo para derivación de fórmulas y (b) p ∨ (p ∧ ¬ q → r)
demostración de teoremas que resulta mucho más económico, en términos de trabajo, que (c) p ∨ (¬ p ∧ q) → p ∨ q
la lógica ecuacional o la deducción natural; adicionalmente, es algorı́tmica, ya que siempre
termina y no hay que ser creativos en el orden de abrir los tableaux; en el peor de los casos, (d) (p → q) → (p ∨ q → q)
haremos un poco más de trabajo, pero está garantizado que terminamos con la respuesta (e) (¬ p ∧ (¬ p ∧ q)) ∨ (p ∧ (p ∧ ¬ q)) ↔ (¬ p ∧ q) ∨ (p ∧ ¬ q)
correcta.
1.7.4.- Para los ejercicios 1.7.2 y 1.7.3, usando los tableaux construidos da un modelo para
las fórmulas en el caso de que sean contingentes.
Ejercicios
1.7.5.- ¿Por qué es que se pueden cerrar ramas si es que aparece una literal y la literal
negada en un camino dentro del tableau?
1.7.1.- Construye el tableau correspondiente a cada una de las fórmulas, sin cerrar ramas.
Para poder hacerlo, primero convierte a la fórmula a que tenga únicamente conjun- 1.7.6.- Explica en tus propias palabras por qué los tableaux no se pueden construir para
ciones y disyunciones de literales y literales negadas. fórmulas que tienen otros operadores que no sean la conjunción y la disyunción.

(a) (p ∨ q) ∧ (r → ¬ p) → (r → q)

(b) (p → q) → p → (q → p)

(c) (p ∨ q) ∧ (p ∨ r) → p

(d) (p → q) ∧ (q → r) → (¬ r → ¬ p)
 
(e) (C ∨ ¬ A) ∨ B ∧ ¬ ((P ∨ ¬ Q) ∧ (¬ Q ∨ ¬ P )

(f) ¬ (p → q) ∧ (q → p)
(g) (p → q) ∨ r

1.7.2.- Usando tableaux, determina cuál de las siguientes fórmulas es tautologı́a, contra-
dicción o contingente.

(a) (p → q) ∧ (p → r)/ ∴ q → r
  
(b) (p ∨ q) ∨ r ∧ p ∨ (q ∨ r) → p ∨ q
 
(c) p ∧ (q ∧ r) → p → (q → r)
(d) p ∨ q → p ∨ r
(e) p ∨ q → r, s → p, s/ ∴ r
(f) p ∨ q, ¬ (p ∧ r), ¬ q/ ∴ r → s

(g) p → (p → q) → p
(h) A → B, A ∨ C, ¬ (C ∧ D)/ ∴ (A → B) → (B ∨ ¬ D)

1.7.3.- Demuestra que las siguientes fórmulas son tautologı́as usando tableaux:

(a) p → q, r → s, ¬ q ∨ ¬ s ⊢ ¬ p ∨ ¬ r

También podría gustarte