Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

MD GEI 2223 T1 Teoria

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 41

GEI – Curso 2022–2023

Tema 1
Matemática Discreta. Área de Álgebra

Lógica y Álgebras de Boole


Universidade da Coruña

Recuerda que estas notas son, únicamente, parte del material de trabajo de los profesores de esta
asignatura. Los contenidos de este tema se pueden ver en los siguientes libros:

• K.H. Rosen, Matemática Discreta y sus aplicaciones (5 ed.): capı́tulo 1 (secciones 1.1 a 1.5),
capı́tulo 3 (secciones 3.1, 3.2 y 3.3) y capı́tulo 10.

• R.P. Grimaldi, Matemática Discreta y combinatoria (3 ed.): capı́tulo 2, capı́tulo 4 (sección


4.1) y capı́tulo 15.

Cuando se plantea qué matemáticas va a necesitar un informático, la primera respuesta es:


lógica y matemática discreta. Ese tipo de matemática está justificado pues la computación bási-
camente trata cantidades que no varı́an de forma continua, es decir, son discretas.
Fuertes son las razones por las que un informático necesita estudiar lógica: en ella se encuentran
las raı́ces de la ciencia de la computación (los trabajos de Church y Turing estaban motivados por
el problema de decisión para la lógica de primer orden) y, de forma recı́proca, la informática ha
generado una explosión de interés en lógica, desde la búsqueda de métodos de automatización del
razonamiento hasta la verificación de la corrección de un software. Eso es el equivalente al test de
prueba de un producto de ingenierı́a; pero, dado que el software es un producto matemático, el
test va más allá: es preciso demostrar que no tiene errores y que realiza lo especificado.
La lógica trata de la formalización del lenguaje y los métodos correctos de razonamiento, reglas
y técnicas para determinar si un argumento dado es válido o no. En su forma tradicional, la lógica
tiene una historia mucho más larga que la computación, remontándose al siglo IV a. C. con la
codificación del silogismo, por Aristóteles (384–322 a. C.). Con ello se determinaban las formas
del razonamiento válidas, frente a las no válidas de los sofistas. Ello, junto con el objetivo de
entender la estructura de los lenguajes naturales, sigue siendo objeto de la lógica y es relevante
en inteligencia artificial (para representación del conocimiento), en la construcción de programas
informáticos y en la verificación de la corrección de ellos.
En el siglo XVII, el filósofo alemán Leibniz (1646–1716) sugirió incorporar sı́mbolos matemáti-
cos a la lógica con el fin de mecanizar el proceso de razonamiento deductivo. Durante el XIX
estas ideas se materializan en los trabajos de De Morgan (1806–1871), Frege (1848–1925) y, en
especial, de G. Boole (1815–1864) en su libro “Las leyes del pensamiento” (1854), donde desarrolla

1
2 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

un sistema de reglas que le permitan expresar, manipular y simplificar problemas lógicos mediante
cálculo simbólico. Boole también definió una estructura algebraica importante: las álgebras de
Boole. En 1938 Shannon (1916–2001) mostró cómo utilizar las reglas de la lógica para diseñar
circuitos, y que las propiedades fundamentales de dichos circuitos se pueden representar usando
álgebras de Boole.

1.1 Lógica Proposicional


Matemática Discreta. Área de Álgebra

1.1.1 Proposiciones
Los objetos básicos de la lógica son las proposiciones, que se definen de la forma siguiente.

Definición 1. Una proposición es una oración declarativa que es verdadera o falsa, pero no ambas
cosas a la vez. Le asignaremos uno, y solo uno, de los valores de verdad: verdadero (1) o falso
Universidade da Coruña

(0).

Ejemplo 1. Los siguientes enunciados son proposiciones:

• Los triángulos tienen cuatro vértices. (0)


• Ronaldo Del Carmen es uno de los codirectores de “Inside Out” (1)
• 2 + 2 = 4. (1)
• 2 × 4 = 7. (0)

Ejemplo 2. Los siguientes enunciados no son proposiciones:

• Ojalá no llueva.
• ¿A qué hora salimos de clase?
• ¡Prohibido!
• x + 3 = 4.
Las tres primeras frases no son proposiciones porque no son declarativas; la primera es
desiderativa, la segunda interrogativa y la tercera es imperativa. La cuarta frase tampoco es
es proposición porque no es ni verdadera ni falsa, pues su valor de verdad depende del valor
que le asignemos a x. Este tipo de frases se estudiarán en la sección 1.2.

1.1.2 Operadores lógicos. Sintaxis

Las proposiciones primitivas (simples o atómicas) son aquellas proposiciones que no se pueden
descomponer en otras más simples (como las que aparecen en el ejemplo 1); suelen designarse con
letras minúsculas p, q, r, etc. Para obtener nuevas proposiciones, llamadas compuestas, se utilizan
los conectivos u operadores lógicos siguientes: ¬, ∧, ∨, → y ↔.
1.1. LÓGICA PROPOSICIONAL 3

• Negación (¬) Si p es una proposición, la negación de p se denota por ¬p y se lee:

“no p” “no ocurre p” “no es cierto p”

• Conjunción (∧) Si p y q son proposiciones, la conjunción de p y q se denota por p ∧ q y se


lee:

“p y q” “p, no obstante q” “p, pero q”


Matemática Discreta. Área de Álgebra

“p, sin embargo q” “p, q” “p, aunque q”

• Disyunción (∨) Si p y q son proposiciones, la disyunción de p y q se denota por p ∨ q y se


lee:

“p o q (o ambos)” “al menos p o q” “como mı́nimo p o q”


Universidade da Coruña

• Condicional (→) Si p y q son proposiciones, el condicional p → q se lee:

“Si p, entonces q”
“Si p, q” “q si p”
“p solo si q” “q siempre que p”
“cuando p, entonces q” “q cuando p”
“p es suficiente para q” “q es necesario para p”

• Bicondicional (↔) Si p y q son proposiciones, el bicondicional p ↔ q se lee:

“p si, y solo si, q” “p es suficiente y necesario para q”

Definición 2. Al conectar entre sı́ las proposiciones mediante los operadores lógicos, se obtienen
expresiones o fórmulas bien formadas (f.b.f.). Las reglas para construir una expresión bien
formada son:

1. Las proposiciones primitivas o atómicas son f.b.f.

2. Si P es una f.b.f., ¬P es una f.b.f.

3. Si P y Q son f.b.f., entonces P ∧ Q, P ∨ Q, P → Q y P ↔ Q son f.b.f.

4. No hay más reglas.

Como sı́mbolos auxiliares se utilizan paréntesis o corchetes, que sirven para agrupar y evitar
ambigüedades. Además, cuando hay más de una conectiva en una fórmula, entenderemos que
cada conectiva afecta a la letra proposicional inmediata o al conjunto de proposiciones inmediatas
encerradas entre paréntesis.

Ejemplo 3. La expresión p → (¬q) es una f.b.f., mientras que p → (∧q) no lo es.


4 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

Se establece una jerarquı́a de prioridades entre las conectivas, que permitirá suprimir paréntesis.
En el primer nivel se sitúa la negación, en el segundo nivel la conjunción y la disyunción y, en
último nivel, el condicional y el bicondicional. Ası́, p → (q ∧ r) puede escribirse como p → q ∧ r,
y p → q ∧ ¬r es p → (q ∧ (¬r)). La prioridad dentro del mismo nivel se indica con paréntesis.
Ejemplo 4. En la proposición compuesta ¬p ∧ (r → t) no podemos eliminar paréntesis ya que, si
los suprimimos, quedarı́a la secuencia ¬p ∧ r → t que representa a (¬p ∧ r) → t. En ¬p ∧ (q ∨ r)
tampoco se pueden suprimir los paréntesis, ya que la conjunción y la disyunción están en el mismo
Matemática Discreta. Área de Álgebra

nivel de evaluación.
Ejemplo 5. Para formalizar la frase “ Si Juan va al cine pero no compra palomitas, ahorra 2 euros”,
consideramos las proposiciones atómicas:
p: Juan va al cine, q: Juan compra palomitas y r: Juan ahorra 2 euros.
El enunciado dado es p ∧ ¬q → r, una vez eliminados los paréntesis siguiendo la jerarquı́a dada.
Universidade da Coruña

1.1.3 Operadores lógicos. Semántica


Al igual que a las proposiciones primitivas, a las proposiciones compuestas se les asigna un valor
de verdad. Los valores de verdad de estas dependen de los valores de verdad de las proposiciones
primitivas que las componen.
Dadas las proposiciones p y q,
• La negación ¬p es verdadera únicamente cuando p es falsa.
• La conjunción p ∧ q es verdadera cuando tanto p como q son verdaderas, y falsa en cualquier
otro caso.
• La disyunción p ∨ q es falsa cuando tanto p como q son falsas, y verdadera en cualquier otro
caso.
• El condicional p → q es falso cuando p es verdadera y q es falsa, y verdadero en cualquier
otro caso.
• El bicondicional p ↔ q es verdadero cuando p y q tienen los mismos valores de verdad, y
falso en los otros casos.
A continuación se muestran en unas tablas (llamadas tablas de verdad) los valores de las
proposiciones anteriores:
p ¬p p q p∧q p∨q p→q p↔q
0 1 0 0 0 0 1 1
1 0 0 1 0 1 1 0
1 0 0 1 0 0
1 1 1 1 1 1

Comprender el significado (la semántica) del condicional es muy importante, para ello veamos
el siguiente ejemplo.
Ejemplo 6. El padre de Juan le dice a este: “Si apruebas Matemática Discreta, te compro un
ordenador”. En este caso, lo simbolizarı́amos como p → q, donde
1.1. LÓGICA PROPOSICIONAL 5

p : “Apruebas Matemática Discreta” q : “Te compro un ordenador”

Se pueden distinguir cuatro casos:

1. p y q son ambas verdaderas, es decir Juan aprueba Matemática Discreta y su padre le compra
el ordenador. Se cumple la promesa y el valor de verdad del condicional es 1.

2. p es verdadera (Juan aprueba Matemática Discreta) pero q es falsa (su padre no le compra
Matemática Discreta. Área de Álgebra

el ordenador). Entonces, la promesa se ha roto y el valor de verdad de p → q es 0.

3. p y q son ambas falsas (Juan suspende Matemática Discreta y su padre no le compra el


ordenador). La promesa no se ha roto ya que Juan no ha cumplido su parte, por lo que el
valor de verdad de p → q es 1.

4. p es falsa (Juan suspende) y q es verdadera (su padre le compra el ordenador). Aunque el


Universidade da Coruña

padre le compra el ordenador a Juan, tampoco, en este caso, se rompe la promesa y el valor
de verdad del condicional es 1.

Es decir, el padre rompe su promesa únicamente cuando Juan aprueba y, sin embargo, no
le compra el ordenador. Es decir, el valor del condicional p → q es 0 únicamente cuando p es
verdadera y q es falsa.

Ejemplo 7. Fijémonos en la diferencia entre el argumento anterior y el siguiente. El padre de


Juan le dice a este: “Te compro un ordenador si, y solamente si, apruebas Matemática Discreta”.
En este caso, lo simbolizarı́amos como q ↔ p. Veamos aquı́ los cuatro casos posibles:

1. p y q son ambas verdaderas, es decir Juan aprueba Matemática Discreta y su padre le compra
el ordenador. Se cumple la promesa y el valor de verdad de la bicondicional es 1.

2. p es verdadera (Juan aprueba Matemática Discreta) pero q es falsa (su padre no le compra
el ordenador). Entonces, la promesa se ha roto y el valor de verdad de p ↔ q es 0.

3. p y q son ambas falsas (Juan suspende Matemática Discreta y su padre no le compra el


ordenador). La promesa no se ha roto ya que Juan no ha cumplido su parte, por lo que el
valor de verdad de p ↔ q es 1.

4. p es falsa (Juan suspende) y q es verdadera (su padre le compra el ordenador). Como el


padre dejó claro que solamente le comprarı́a el ordenador a Juan si aprobaba, el valor de
verdad de p ↔ q es 0.

Definición 3. Una tabla de verdad para una proposición compuesta es un método que proporciona
los valores de verdad de la proposición dada, a partir de los valores de verdad de las proposiciones
atómicas que la conforman.

Para construirla se determinan los valores de verdad de sus subproposiciones componentes,


desde las más sencillas hasta las más complejas.
6 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

Ejemplo 8. La tabla de verdad de (p ∨ q) ∧ (p → ¬q) es:

p q p∨q ¬q p → ¬q (p ∨ q) ∧ (p → ¬q)
0 0 0 1 1 0 contraejemplo
0 1 1 0 1 1 modelo
1 0 1 1 1 1 modelo
1 1 1 0 0 0 contraejemplo
Matemática Discreta. Área de Álgebra

Una interpretación de una fórmula P es una asignación de verdad de las proposiciones atómicas
que aparecen en P. Cada fila de la tabla de verdad de P se corresponde con una interpretación
de P. Si en P intervienen n proposiciones primitivas, hay 2n posibles interpretaciones de P (lo
cual muestra que es un procedimiento de complejidad exponencial). También se puede definir una
interpretación de P como una aplicación del conjunto de átomos que intervienen en P al conjunto
{0, 1}.
Universidade da Coruña

Si para una interpretación de P, el valor de P es 1 se dice que esa interpretación es un modelo;


si, por el contrario, el valor de P es 0 se dice que esa interpretación es un contraejemplo. En el
caso anterior, la primera y la última fila se corresponden con contraejemplos y las otras dos son
modelos. Es decir, {¬p, q} y {p, ¬q} son modelos de (p ∨ q) ∧ (p → ¬q), mientras que {¬p, ¬q} y
{p, q} son contraejemplos.
Se puede obtener la tabla de verdad de una proposición P utilizando otra forma de disponer
sus subproposiciones. Para el ejemplo anterior, quedarı́a:

p q p∨q (p ∨ q) ∧ (p → ¬q) p → ¬q ¬q
0 0 0 0 1 1
0 1 1 1 1 0
1 0 1 1 1 1
1 1 1 0 0 0
Paso 1 2 5 4 3

El valor de verdad de cada paso queda determinado por los valores de verdad de los pasos ante-
riores, como vemos en la siguiente tabla donde se calculan los valores de verdad de la proposición
(p ∧ q) ∨ ¬p → ¬q:

p q p∧q ¬p (p ∧ q) ∨ ¬p (p ∧ q) ∨ ¬p → ¬q ¬q
0 0 0 1 1 1 1
0 1 0 1 1 0 0
1 0 0 0 0 1 1
1 1 1 0 1 0 0
Paso 1 2 3 4 6 5

Se dice que {¬p, ¬q} y {p, ¬q} son modelos de (p ∧ q) ∨ ¬p → ¬q, mientras que {¬p, q} y {p, q}
son contraejemplos.
Definición 4. Una fórmula que es siempre verdadera se denomina tautologı́a, y se denotará >.
Una fórmula que es siempre falsa se denomina contradicción, y se denotará ⊥. Finalmente,
una fórmula que no es ni una tautologı́a ni una contradicción se llama contingencia.
1.1. LÓGICA PROPOSICIONAL 7

Ejemplo 9.

• p ∨ ¬p es una tautologı́a. • p ∧ ¬p es una contradicción.

p ¬p p ∨ ¬p p ¬p p ∧ ¬p
0 1 1 0 1 0
1 0 1 1 0 0

Ejemplo 10.
Matemática Discreta. Área de Álgebra

• p ∨ ¬(p ∧ q) es una tautologı́a. • (p ∧ q) ∧ ¬(p ∨ ¬q) es una contradicción.

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


0 0 1 0
0 1 1 0
Universidade da Coruña

1 0 1 0
1 1 1 0

Definición 5. Un conjunto de proposiciones {P1 , P2 , . . . , Pn } se dice consistente (o satisfacible)


si la conjunción de todas ellas P1 ∧P2 ∧· · ·∧Pn admite al menos un modelo1 . En caso contrario, es
decir, si P1 ∧ P2 ∧ · · · ∧ Pn es una contradicción, el conjunto {P1 , P2 , . . . , Pn } se dice inconsistente.

El problema de decidir si un conjunto de proposiciones es satisfacible se denomina problema


SAT. No se sabe cómo resolverlo en tiempo polinomial, y constituye uno de los retos más impor-
tantes en informática teórica.

Ejemplo 11.

• El conjunto {p → q, p ∧ q} es consistente ya que, cuando p y q son verdaderas, las fórmulas


p → q y p ∧ q son verdaderas, es decir, (p → q) ∧ (p ∧ q) admite un modelo (cuando p y q
son verdaderas, {p, q}).

• El conjunto {p → q, p ∧ ¬q} es inconsistente ya que (p → q) ∧ (p ∧ ¬q) no admite ningún


modelo (el único modelo de p ∧ ¬q es un contraejemplo de p → q).

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


0 0 1 0 0 0 0 1 0 0
0 1 1 0 0 0 1 1 0 0
1 0 0 0 0 1 0 0 1 0
1 1 1 1 1 1 1 1 0 0

En la sección 1.1.5 veremos otro método, el de las tablas semánticas, para estudiar si un
conjunto de fórmulas es consistente o no.

1
Esto indica que hay una interpretación que es modelo de todas las proposiciones P1 , P2 , . . . , Pn .
8 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

1.1.4 Implicaciones y Equivalencias lógicas


Consideremos las dos afirmaciones siguientes: “Marta es estudiante y juega al tenis” y “Marta
juega al tenis y es estudiante”. Obviamente, ambas tienen siempre los mismos valores de verdad.
Para hacer más precisa esta idea, sea p la proposición “Marta es estudiante” y sea q la proposición
“Marta juega al tenis”, entonces la primera de las dos afirmaciones se traduce en p ∧ q, mientras
que la segunda se traduce en q ∧ p. Mediante las tablas de verdad se puede comprobar que estas
dos expresiones tienen los mismos valores de verdad para todas las asignaciones posibles; esto es,
Matemática Discreta. Área de Álgebra

(q ∧ p) ↔ (p ∧ q) es una tautologı́a.

Definición 6. Dos proposiciones compuestas P y Q se dicen lógicamente equivalentes si ambas


tienen los mismos valores de verdad para cada interpretación de los valores de verdad de sus
proposiciones componentes (es decir, la fórmula P ↔ Q es una tautologı́a). Esta situación se
representa por
P≡Q
Universidade da Coruña

También puede denotarse por P ⇐⇒ Q. Es importante diferenciar “⇐⇒” de “↔”:


P ⇐⇒ Q indica que la fórmula P ↔ Q es una tautologı́a, mientras que cuando se escribe P ↔ Q
simplemente se está dando una proposición compuesta. Nótese que P ⇐⇒ Q no es una f.b.f.

Ejemplo 12. Las proposiciones ¬(p ∧ q) y ¬p ∨ ¬q son lógicamente equivalentes:

p q ¬(p ∧ q) ¬p ∨ ¬q ¬(p ∧ q) ↔ (¬p ∨ ¬q)


0 0 1 1 1
0 1 1 1 1
1 0 1 1 1
1 1 0 0 1

Ejemplo 13. La proposición compuesta p∧q ↔ q no es una tautologı́a, por lo que las proposiciones
p ∧ q y q no son lógicamente equivalentes.
p q p∧q q p∧q ↔q
0 0 0 0 1
0 1 0 1 0
1 0 0 0 1
1 1 1 1 1
Para cualesquiera fórmulas P, Q, R, se verifica que:

• P≡P

• si P ≡ Q, entonces Q ≡ P

• si P ≡ Q y Q ≡ R, entonces P ≡ R

Al final de esta sección, la tabla 1.1 recoge algunas equivalencias lógicas.

Las equivalencias lógicas de la tabla, ası́ como cualquier otra que se haya probado, permiten
construir otras equivalencias lógicas. Ello se debe a que una proposición en una fórmula se puede
1.1. LÓGICA PROPOSICIONAL 9

substituir por otra que sea lógicamente equivalente sin alterar el valor de la fórmula:
Sea P una proposición compuesta, de la cual forma parte una proposición Q, y sea Q∗ una proposi-
ción lógicamente equivalente a Q. Si se substituye alguna ocurrencia de Q en P por Q∗ , se obtiene
una proposición P ∗ lógicamente equivalente a P (regla de sustitución).

Ejemplo 14. Sea P la fórmula ¬(p ∨ q) → r. Puesto que la subfórmula ¬(p ∨ q) es lógicamente
equivalente a ¬p ∧ ¬q, se tiene que P ≡ P ∗ , siendo P ∗ la fórmula ¬p ∧ ¬q → r .
Matemática Discreta. Área de Álgebra

Ejemplo 15. Estas equivalencias permiten simplificar la fórmula (p ∨ q) ∧ ¬(¬p ∧ q) de la forma


siguiente:
(p ∨ q) ∧ ¬(¬p ∧ q) ≡ (p ∨ q) ∧ (p ∨ ¬q) Leyes de De Morgan y Doble negación
≡ p ∨ (q ∧ ¬q) Ley distributiva
≡ p∨⊥ Contradicción
≡ p Ley Identidad
Universidade da Coruña

Definición 7. Dadas dos proposiciones P y Q, se dice que P implica lógicamente Q, o que de


P se deduce Q, cuando la proposición P → Q es una tautologı́a. Es decir, cuando P es verdadera,
también Q es verdadera y que cuando Q es falsa, P es falsa. En este caso, se escribe

P |= Q

También se denota por P =⇒ Q. De nuevo, es importante diferenciar “=⇒” y “→” :


mientras P =⇒ Q quiere decir que la fórmula P → Q es una tautologı́a, cuando se escribe P → Q
simplemente se está dando una proposición compuesta. Nótese que P =⇒ Q no es una f.b.f.

Ejemplo 16. Para demostrar que (p → q) ∧ p |= q es suficiente probar que la fórmula


[(p → q) ∧ p] → q es una tautologı́a. Si se construye su tabla de verdad, se observa que todos sus
valores son 1:

p q p→q (p → q) ∧ p [(p → q) ∧ p] → q q
0 0 1 0 1 0
0 1 1 0 1 1
1 0 0 0 1 0
1 1 1 1 1 1
Paso 1 2 3 4 1

Al final de esta sección, la tabla 1.2 recoge algunas implicaciones lógicas.


10 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

Principales equivalencias lógicas


p∨q ≡q∨p
Leyes Conmutativas
p∧q ≡q∧p
(p ∨ q) ∨ r ≡ p ∨ (q ∨ r)
Leyes Asociativas
(p ∧ q) ∧ r ≡ p ∧ (q ∧ r)
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r)
Leyes Distributivas
p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
Matemática Discreta. Área de Álgebra

Ley de la Doble Negación ¬¬p ≡ p


¬(p ∨ q) ≡ (¬p ∧ ¬q)
Leyes de De Morgan
¬(p ∧ q) ≡ (¬p ∨ ¬q)
p∨>≡>
Leyes de Dominación
p∧⊥≡⊥
p∧>≡p
Leyes de Identidad
p∨⊥≡p
Universidade da Coruña

p ∨ ¬p ≡ >
Leyes de la Negación
p ∧ ¬p ≡ ⊥
Ley de la Contraposición (p → q) ≡ (¬q → ¬p)
(p → q) ≡ (¬p ∨ q)
Leyes de la Implicación
¬(p → q) ≡ (p ∧ ¬q)
(p ↔ q) ≡ [(p → q) ∧ (q → p)]
Leyes de la Equivalencia
(p ↔ q) ≡ (p ∧ q) ∨ (¬p ∧ ¬q)
p ≡ (p ∧ p)
Leyes Idempotentes
p ≡ (p ∨ p)
p ∧ (p ∨ q) ≡ p
Leyes de Absorción
p ∨ (p ∧ q) ≡ p
Ley de la Reducción al absurdo (p → q) ≡ [(p ∧ ¬q) → ⊥]

Table 1.1: Tabla de equivalencias

Principales implicaciones lógicas


Modus Ponens [(p → q) ∧ p] |= q
Modus Tollens [(p → q) ∧ ¬q] |= ¬p
Silogismo [(p → q) ∧ (q → r)] |= (p → r)
(p ∧ q) |= p
Leyes de Simplificación
(p ∧ q) |= q
p |= (p ∨ q)
Leyes de Adición
q |= (p ∨ q)
((p ∨ q) ∧ ¬p) |= q
Silogismo Disyuntivo
((p ∨ q) ∧ ¬q) |= p
Ley de Casos [(p → q) ∧ (¬p → q)] |= q
Ley de Inconsistencia [p ∧ ¬p] |= q

Table 1.2: Tabla de implicaciones


1.1. LÓGICA PROPOSICIONAL 11

1.1.5 Tablas semánticas


El método de las tablas semánticas2 o árbol semántico fue descubierto a mediados del siglo pasado
por Beth y Hintikka, independientemente uno del otro, y permite demostrar si un conjunto de
fórmulas es consistente o no. Para ello, se construye un árbol donde los nodos (finitos) son las
proposiciones, el conectivo ∧ se representa por un arista vertical,

p∧q
Matemática Discreta. Área de Álgebra

q
Universidade da Coruña

y el conectivo ∨ por un par de aristas en la forma

p∨q

p q

El resto de los conectivos se traducen a esa forma. Ası́, el condicional p → q se representa


como
p→q

¬p q
ya que p → q ≡ ¬p ∨ q. Por otro lado, como p ↔ q ≡ (p ∧ q) ∨ (¬p ∧ ¬q), el bicondicional se
representará por
p↔q

p ¬p

q ¬q

Para comprobar si un conjunto de proposiciones {P1 , P2 , . . . , Pn } es consistente, se construye la


tabla semántica de P1 ∧ P2 ∧ · · · ∧ Pn y se van descomponiendo, una a una, todas las proposiciones
compuestas, de acuerdo con las reglas anteriores, marcando las proposiciones ya utilizadas. Si en
una sucesión de nodos del árbol (camino) aparece una proposición y su negación, se dice que es
un camino cerrado y se marca con ∗ el nodo (vértice) final.
Si al final del proceso todos los caminos se cierran, la fómula P1 ∧ P2 ∧ · · · ∧ Pn es una
contradicción (el conjunto {P1 , P2 , . . . , Pn } es inconsistente); en caso contrario, cada camino
abierto representa un modelo de P1 ∧ P2 ∧ · · · ∧ Pn (es decir, {P1 , P2 , . . . , Pn } es consistente).
2
O tableaux, del inglés “cuadro escénico”.
12 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

Ejemplo 17. Para comprobar si el conjunto {p → ¬r, ¬q → r, p ∨ ¬q} es o no consistente, se


construye el árbol semántico de (p → ¬r) ∧ (¬q → r) ∧ (p ∨ ¬q)
p → ¬r

¬q → r

p ∨ ¬q
Matemática Discreta. Área de Álgebra

Se descompone cada una de las fórmulas compuestas, sin importar el orden, pero una vez des-
compuesta una fórmula se marca (X), y se van señalando las ramas que se cierran (∗):

p → ¬r X

¬q → r X
Universidade da Coruña

p ∨ ¬q X

¬p ¬r aplicando p → ¬r ≡ ¬p ∨ ¬r

p ¬q p ¬q

q r q r q r aplicando ¬q → r ≡ q ∨ r
∗ ∗ ∗ ∗
Las ramas abiertas, {¬p, ¬q, r} y {p, q, ¬r}, proporcionan los modelos de
(p → ¬r) ∧ (¬q → r) ∧ (p ∨ ¬q).
Es decir, cuando p y q son falsas y r verdadera, o bien cuando p y q son verdaderas y r falsa, la
proposición (p → ¬r) ∧ (¬q → r) ∧ (p ∨ ¬q) es verdadera o, lo que es lo mismo, todas las fórmulas
del conjunto {p → ¬r, ¬q → r, p ∨ ¬q} tienen valor de verdad 1.
Ejemplo 18. Consideremos ahora el conjunto de fórmulas {p → ¬r, ¬q → r, p ∧ ¬q}. El árbol
semántico correspondiente a (p → ¬r) ∧ (¬q → r) ∧ (p ∧ ¬q) es:

p → ¬r X

¬q → r X

¬q

¬p ¬r aplicando p → ¬r ≡ ¬p ∨ ¬r

q r aplicando ¬q → r ≡ q ∨ r
∗ ∗
Como todos los caminos se cierran, el conjunto de fórmulas dado es inconsistente, es decir,
(p → ¬r) ∧ (¬q → r) ∧ (p ∧ ¬q) no tiene ningún modelo (es una contradicción).
1.1. LÓGICA PROPOSICIONAL 13

1.1.6 Argumentos y métodos de demostración


Definición 8. Dado un conjunto de proposiciones {H1 , H2 , . . . , Hn }, se dice que una proposición
C es consecuencia de ellas si H1 ∧ H2 ∧ . . . ∧ Hn |= C (también se dice que este es un argumento
válido, y se puede representar por {H1 , H2 , . . . , Hn } |= C).
Las proposiciones H1 , H2 , . . . , Hn se llaman hipótesis o premisas y C se llama conclusión.
El argumento es válido si, siempre que todas las hipótesis son verdaderas, también lo es la con-
clusión.
Matemática Discreta. Área de Álgebra

Se puede realizar una demostración directa de la validez de un argumento mediante tablas de


verdad.

Ejemplo 19. Para demostrar la implicación lógica “Modus Tollens”, es decir,

{p → q, ¬q} |= ¬p
Universidade da Coruña

se prueba que (p → q) ∧ ¬q → ¬p es una tautologı́a:

p q p→q (p → q) ∧ ¬q (p → q) ∧ ¬q → ¬p
0 0 1 1 1
0 1 1 0 1
1 0 0 0 1
1 1 1 0 1

Ejemplo 20. Si queremos demostrar que

{p → r, q → r} |= p ∨ q → r

llamamos
H1 : p → r H2 : q → r C : p∨q →r
y construimos la tabla de verdad de H1 ∧ H2 → C para comprobar que es una tautologı́a:
p q r H1 : p → r H2 : q → r H1 ∧ H2 H1 ∧ H2 → C C : p∨q →r
0 0 0 1 1 1 1 1
0 0 1 1 1 1 1 1
0 1 0 1 0 0 1 0
0 1 1 1 1 1 1 1
1 0 0 0 1 0 1 0
1 0 1 1 1 1 1 1
1 1 0 0 0 0 1 0
1 1 1 1 1 1 1 1

Teniendo en cuenta que el condicional H1 ∧ H2 → C es falso únicamente cuando la conjunción


H1 ∧ H2 es verdadera (esto es, si las hipótesis, H1 y H2 , son ambas verdaderas) y la conclusión C
es falsa, para estudiar si
H1 ∧ H2 |= C
14 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

es un argumento válido, basta calcular únicamente los valores de verdad de H1 ∧H2 en los casos en
los que C tiene valor de verdad 0. Esto es, en la tabla del ejemplo anterior los cálculos se reducen
a las filas tercera, quinta y séptima. Incluso en esas filas, si una de las hipótesis es falsa ya no será
necesario hallar el valor de verdad de las demás (pues la conjunción de las hipótesis ya es falsa):

p q r H1 : p → r H2 : q → r H1 ∧ H2 H1 ∧ H2 → C C
0 0 0 - - - 1 1
0 0 1 - - - 1 1
Matemática Discreta. Área de Álgebra

0 1 0 1 0 0 1 0
0 1 1 - - - 1 1
1 0 0 0 - 0 1 0
1 0 1 - - - 1 1
1 1 0 0 - 0 1 0
1 1 1 - - - 1 1
Universidade da Coruña

Una segunda opción para realizar una demostración directa es mediante una sucesión de
proposiciones, que terminan con la conclusión C, y que se consideran válidas por alguna de las
siguientes razones:

1. Es una de las hipótesis.

2. Es una tautologı́a conocida.

3. Es lógicamente equivalente a una proposición anterior.

4. Se deriva de alguna de las proposiciones anteriores por reglas de sustitución.

5. Se puede inferir de proposiciones anteriores mediante reglas de inferencia.

Las reglas de inferencia son técnicas que nos ayudan en las demostraciones de los teoremas.
Cada regla de inferencia tiene su origen en una implicación lógica.

Ejemplo 21. Utilizando reglas de inferencia, probaremos cómo de las hipótesis “Si no llueve o no
hay niebla, entonces se celebrará la competición de barcos y se hará una demostración de los
salvavidas”, “Si se celebra la competición de barcos, se entregará un trofeo” y “El trofeo no se
entregó” se deduce que “Llovió”.
En primer lugar, consideramos las proposiciones primitivas siguientes:
p: “Llueve”; n: “Hay niebla”; b: “Se celebra competición de barcos”;
s: “Se hace demostración de salvavidas”; t: “Se entrega un trofeo”.
Las hipótesis y la conclusión del argumento dado son:
H1 : ¬p ∨ ¬n → b ∧ s
H2 : b → t
H3 : ¬t
C: p
Teniendo presente que el objetivo es deducir p, aplicamos reglas de inferencia de la forma
siguiente:
1.1. LÓGICA PROPOSICIONAL 15

(1) ¬p ∨ ¬n → b ∧ s es una hipótesis


(2) b→t es una hipótesis
(3) ¬t es una hipótesis
(4) ¬b aplicando Modus Tollens a (2) y (3)
(5) ¬b ∨ ¬s aplicando ley de adición a (4)
(6) ¬(b ∧ s) aplicando ley de De Morgan a (5)
(7) ¬(¬p ∨ ¬n) aplicando Modus Tollens a (1) y (6)
(8) p∧n aplicando las leyes de De Morgan y la doble negación a (7)
Matemática Discreta. Área de Álgebra

(9) p aplicando la ley de simplificación a (8)


Un tipo de demostración indirecta es la contraposición. Este tipo de demostración está basada
en la equivalencia (p → q) ≡ (¬q → ¬p). En nuestro caso, demostrar

H1 ∧ H2 ∧ · · · ∧ Hn |= C
Universidade da Coruña

equivale a demostrar que

¬C |= ¬(H1 ∧ H2 ∧ · · · ∧ Hn ), esto es, ¬C |= ¬H1 ∨ ¬H2 ∨ · · · ∨ ¬Hn

Ejemplo 22. Si a y b son números naturales y a + b ≥ 25, entonces a ≥ 13 o b ≥ 13.


Consideramos las proposiciones primitivas:

p : a ≥ 13 q : b ≥ 13 r : a + b ≥ 25

Queremos demostrar que r |= p ∨ q. Para ello veremos que ¬(p ∨ q) |= ¬r. Tengamos en cuenta
que, por las leyes de De Morgan,
¬(p ∨ q) ≡ (¬p ∧ ¬q).
Ahora bien, si a ≤ 12 (¬p) y b ≤ 12 (¬q), entonces a + b ≤ 24, es decir, la proposición r es
falsa, entonces r |= p ∨ q.

Otro tipo de demostración indirecta es la demostración por contradicción o reducción al


absurdo, que consiste en probar

H1 ∧ H2 ∧ · · · ∧ Hn ∧ ¬C |= ⊥

Puesto que demostrar que el argumento H1 ∧ H2 ∧ . . . ∧ Hn |= C es válido significa probar que

H1 ∧ H2 ∧ · · · ∧ Hn → C es una tautologı́a

es decir, que su negación

H1 ∧ H2 ∧ · · · ∧ Hn ∧ ¬C es una contradicción3

o que {H1 , H2 , . . . , Hn , ¬C} es un conjunto inconsistente.


3
Téngase en cuenta que, al aplicar la segunda ley de la implicación, se obtiene que

¬(H1 ∧ H2 ∧ · · · ∧ Hn → C) ≡ H1 ∧ H2 ∧ · · · ∧ Hn ∧ ¬C.
16 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

El argumento {H1 , H2 , . . . , Hn } |= C es válido si, y solo si,


el conjunto {H1 , H2 , . . . , Hn , ¬C} es inconsistente.

Este método de demostración por contradicción o reducción al absurdo nos permite utilizar
las tablas semánticas para comprobar si un argumento es o no válido. Si queremos demostrar, o
refutar, un argumento H1 ∧ H2 ∧ · · · ∧ Hn |= C calculamos la tabla semántica de H1 ∧ H2 ∧ · · · ∧
Hn ∧ ¬C. Si, al finalizar, todos los caminos se cierran, tenemos que H1 ∧ H2 ∧ · · · ∧ Hn ∧ ¬C es
Matemática Discreta. Área de Álgebra

una contradicción, es decir, el argumento H1 ∧ H2 ∧ · · · ∧ Hn |= C es válido. Por el contrario,


la existencia de una rama abierta en el árbol de H1 ∧ H2 ∧ · · · ∧ Hn ∧ ¬C nos da un modelo de
H1 ∧ H2 ∧ · · · ∧ Hn ∧ ¬C, es decir, un contraejemplo de H1 ∧ H2 ∧ · · · ∧ Hn → C y nos indica que
el argumento H1 ∧ H2 ∧ · · · ∧ Hn |= C no es válido.

Ejemplo 23.
Universidade da Coruña

1. Demostrar el “modus tollens”, ((p → q) ∧ ¬q) |= ¬p, equivale a probar que el conjunto
{p → q, ¬q, ¬¬p} es inconsistente, es decir, que todas las ramas de la tabla semántica de
(p → q) ∧ ¬q ∧ p se cierran.
p→q

¬q

¬p q
∗ ∗

2. Si llueve o hace viento, Manuel no corta el césped. Siempre que no hay nubes en el cielo, no
llueve. Hoy no hace viento y no hay nubes en cielo. Entonces, Manuel corta el césped.
Llamemos:

p: “Llueve” n: “Hay nubes en el cielo”


q: “Hace viento” c: “Manuel corta el césped”

Se trata de ver si, del conjunto de hipótesis {(p ∨ q) → ¬c, ¬n → ¬p, ¬q, ¬n} se puede
deducir c, es decir, queremos comprobar si

{(p ∨ q) → ¬c, ¬n → ¬p, ¬q, ¬n} |= c es un argumento válido.

Haciendo una demostración por reducción al absurdo, tendremos que ver si

(p ∨ q → ¬c) ∧ (¬n → ¬p) ∧ ¬q ∧ ¬n ∧ ¬c es una contradicción.

Para ello construimos el árbol semántico de la proposición

(p ∨ q → ¬c) ∧ (¬n → ¬p) ∧ ¬q ∧ ¬n ∧ ¬c


1.2. LÓGICA DE PREDICADOS 17

¬q

¬n
Donde hemos utilizado que:
n∗ ¬p
¬n → ¬p ≡ n ∨ ¬p
¬p ¬c p ∨ q → ¬c ≡ (¬p ∧ ¬q) ∨ ¬c
Matemática Discreta. Área de Álgebra

¬q ¬c

¬c

Como vemos, {¬p, ¬q, ¬n, ¬c} es un modelo de H1 ∧ H2 ∧ H3 ∧ H4 ∧ ¬C, donde


Universidade da Coruña

H1 : p ∨ q → ¬c, H2 : ¬n → ¬p, H3 : ¬q, H4 : ¬n, C : c,

por lo que es un contraejemplo de su negación ¬(H1 ∧ H2 ∧ H3 ∧ H4 ∧ ¬C), es decir, de


H1 ∧ H2 ∧ H3 ∧ H4 −→ C. Se obtiene ası́ un contraejemplo del argumento dado y se concluye
que este no es válido.

Las principales ventajas de las tablas semánticas respecto a las tablas de verdad son:

1. Es menos costoso de aplicar.

2. Es una buena base para programar demostradores automáticos.

3. Puede extenderse a otras lógicas, para las cuales el método de las tablas de verdad deja de
tener sentido.

4. En el caso de que el argumento no sea válido las tablas semánticas nos muestran explı́cita-
mente un contraejemplo.

1.2 Lógica de Predicados


Como hemos comentado al inicio del tema, un enunciado del tipo “x + 2 es un número par ” no es
una proposición porque no es ni verdadero ni falso si no se especifican los valores de la variable.
Por ejemplo, si x = 1, entonces el enunciado es falso; mientras que si x = 2, el enunciado es
verdadero.
Este serı́a un ejemplo de predicado (afirmación que expresa una propiedad de un objeto o
una relación entre objetos) y su valor de verdad depende del valor que tome una variable (o
varias variables) que recorre un cierto conjunto llamado dominio o universo. Por ejemplo, si
consideramos el predicado Q(x, y) : x + y = 5 en el universo de los números enteros positivos,
Q(x, y) se convierte en una proposición verdadera cuando asignamos los valores x = 1, y = 4;
x = 2, y = 3; x = 3, y = 2; o bien x = 4, y = 1 a las variables x e y; y es una proposición falsa en
los demás casos.
18 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

De hecho, un predicado se transforma en una proposición sustituyendo todas las variables por
los elementos del dominio o utilizando cuantificadores. A continuación veremos el cuantificador
universal y el cuantificador existencial.
El cuantificador universal “∀” se utiliza para construir proposiciones del tipo siguiente:
• ∀x p(x)
Se lee “para todo x, p(x)”, o bien “para cada x, p(x)”, o bien “para cualquier x, p(x)”.
Matemática Discreta. Área de Álgebra

Este tipo de proposición es verdadera cuando p(a) es verdadera para cualquier valor a del
dominio U , y es falsa si p(a) es falsa para algún valor de U .
Por ejemplo: “Todos los alumnos de esta Facultad tienen más de 16 años”, es una proposición
verdadera. “Todos los alumnos de esta Facultad nacieron en Coruña”es una proposición falsa.
El cuantificador existencial “∃” se utiliza para proposiciones del tipo siguiente:
Universidade da Coruña

• ∃x p(x)
Se lee “existe x que verifica p(x)”, o bien “para algún x, p(x)”.
Esta proposición es verdadera cuando p(a) es verdadera para, al menos, un valor a de U . Es
falsa cuando, para todo valor a de U , la proposición p(a) es falsa.
Por ejemplo: “Existe un entero x que sumado con 1 nos da 0” es verdadera. “Existe un
entero x que sumado con 1 nos da x” es una proposición falsa.
Las leyes de De Morgan generalizadas son ciertas cualquiera que sea el universo del discurso
y cualquiera que sea el valor de las proposiciones. Son las siguientes:

¬ [∀x p(x)] ≡ ∃x ¬p(x) ¬ [∃x p(x)] ≡ ∀x ¬p(x)

Ejemplo 24. Escribamos la negación de la siguiente proposición cuantificada:

∀x ∃y [p(x) ∧ ¬q(x) → r(x, y)]


Aplicando las reglas anteriores, tenemos:

¬ [∀x ∃y p(x) ∧ ¬q(x) → r(x, y)]


≡ ∃x ¬ [∃y p(x) ∧ ¬q(x) → r(x, y)]
≡ ∃x ∀y ¬ [p(x) ∧ ¬q(x) → r(x, y)]
≡ ∃x ∀y ¬ [¬(p(x) ∧ ¬q(x)) ∨ r(x, y)]
≡ ∃x ∀y [p(x) ∧ ¬q(x) ∧ ¬r(x, y)]
Ejemplo 25. Consideremos los predicados A(x): “x es estudiante de informática” y B(x): “x tiene
un ordenador” en el universo de los estudiantes de la universidad de A Coruña.
La frase “todos los estudiantes de informática tienen ordenador” se formaliza como:
∀x (A(x) → B(x))
mientras que la frase “algún estudiante de informática tiene ordenador” se formaliza como:
∃x (A(x) ∧ B(x))
1.2. LÓGICA DE PREDICADOS 19

1.2.1 Argumentos en lógica de predicados


Formalicemos el siguiente argumento: “Todo el que tiene los ojos azules no es moreno. Pepe tiene
los ojos azules. Entonces Pepe no es moreno”. Sobre el universo de los humanos construimos los
siguientes predicados:
A(x): “x tiene los ojos azules” M (x): “x es moreno”
En este argumento, las premisas o hipótesis son ∀x [A(x) → ¬M (x)] y A(P epe); mientras que
Matemática Discreta. Área de Álgebra

la conclusión es ¬M (P epe).
Para demostrar argumentos expresados en lógica de predicados, se utilizan las reglas siguientes:
1. Especificación universal (EU)
Si la proposición ∀x F (x) es verdad, entonces se puede deducir que la proposición F (a) es
verdad para cualquier elemento a del universo del dominio. Esta regla la podemos representar
Universidade da Coruña

en las tablas semánticas de la forma

∀ x F (x) donde F (a) significa sustituir simultáneamente cada aparición de x


en F por la constante a.
F (a)

2. Generalización universal
Si la proposición F (a) es verdad para cualquier elemento a del universo del discurso, entonces
se concluye que ∀x F (x) es verdad.
3. Especificación existencial (EE)
Si la proposición ∃x F (x) es verdad, entonces existe un elemento a en el universo del discurso
tal que F (a) es verdad. Esta regla la podemos representar en las tablas semánticas de la
forma:

con a en el universo U y distinto de todos los nombres


∃x F (x) X
pertenecientes a U que aparecen en la misma rama donde va a
estar F (a).
F (a)

4. Generalización existencial Si F (a) es verdad para algún elemento a del universo del discurso,
entonces la proposición ∃x F (x) es verdad.
Debe notarse que en la especificación universal no se marca como utilizada la fórmula, pues
se puede volver a utilizar. La justificación es que si la sentencia ∀x F (x) es parte de un conjunto
consistente, añadir uno o más casos de F al conjunto no cambiarı́a ese carácter. Sin embargo,
en la especificación existencial sı́ se marca la fórmula al ser utilizada (con el sı́mbolo X) y tiene
como restricción que el nombre a de la variable debe ser nuevo en cada rama. Ello garantiza que
el nombre está escogido en forma completamente arbitraria del contexto, lo que concuerda con
la semántica: se conoce que es verdad al menos en un caso, aunque no sepamos en cuál. Por lo
tanto, se debe aplicar la Especificación existencial antes de utilizar la Especificación universal.
Es decir, al contrario que en el cálculo proposicional, donde no importa el orden de aplicación de
las reglas para probar que un conjunto es inconsistente, en el cálculo de predicados sı́ influye.
20 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

Ejemplo 26. Demostrar el argumento dado al inicio de la sección,

{∀x (A(x) → ¬M (x)), A(P epe)} |= ¬M (P epe),

equivale a probar que el conjunto {∀x (A(x) → ¬M (x)), A(P epe), ¬¬M (P epe)} es inconsistente.
Para ello construimos una tabla semántica de
Matemática Discreta. Área de Álgebra

∀x (A(x) → ¬M (x)) ∧ A(P epe) ∧ M (P epe)

y veamos que todas las ramas se cierran:


Universidade da Coruña

(1) (∀x [A(x) → ¬M (x)]) ∧ A(P epe) (premisas)

(2) ¬(¬M (P epe)) (¬ conclusión)

(3) A(P epe) X (de 1)

(4) ∀x [A(x) → ¬M (x)] (de 1)

(5) A(P epe) → ¬M (P epe) X (de 4 y EU)

(6) ¬A(P epe) ∗ ¬M (P epe) ∗ (de 5)

Ejemplo 27. Consideremos el argumento: “ Todo el mundo grita o llora. No todo el mundo llora.
Ası́ que algunas personas gritan y no lloran”. Para formalizarlo definimos, sobre el universo de
los humanos, los predicados

G(x): “x grita” L(x): “x llora”

Las premisas del argumento son ∀x [G(x) ∨ L(x)] y ¬∀x L(x); mientras que la conclusión es
∃x [G(x) ∧ ¬L(x)].

Para comprobar que el argumento {∀x [G(x) ∨ L(x)], ¬∀x L(x)} |= ∃x [G(x) ∧ ¬L(x)] es válido,
comprobamos que se cierran todas las ramas de la tabla semántica de:

∀x [G(x) ∨ L(x)] ∧ ¬∀x L(x) ∧ ¬ ∃x [G(x) ∧ ¬L(x)]


1.2. LÓGICA DE PREDICADOS 21

(1) (∀x [G(x) ∨ L(x)]) ∧ ¬∀x L(x) (premisas)

(2) ¬(∃x [G(x) ∧ ¬L(x)] ≡ ∀x [¬G(x) ∨ L(x)] (¬ conclusión)

(3) ¬∀x L(x) ≡ ∃x ¬L(x) X (de 1)

(4) ¬L(c) (de 3 y EE)


Matemática Discreta. Área de Álgebra

(5) ∀x [G(x) ∨ L(x)] (de 1)

(6) G(c) ∨ L(c) X (de 5 y EU)

(7) G(c) L(c) (de 6)



Universidade da Coruña

(8) ¬G(c) ∨ L(c) X (de 2 y EU)

(9) ¬G(c) L(c) (de 8)


∗ ∗
Es importante destacar que es necesario usar la Especificación existencial en la segunda premisa
(paso (3) a (4)) antes de utilizar la Especificación universal en la primera premisa (paso (5) a (6)).
En el ejemplo siguiente vemos que no se puede intercambiar este orden; es decir, siempre hay
que utilizar las especificaciones existenciales antes que las universales.

Ejemplo 28. Consideremos el argumento “ Algunos poetas fueron románticos. Algunos románticos
se suicidaron. Por lo tanto, algunos poetas se suicidaron”. Si definimos, sobre el universo de los
humanos, los predicados siguientes:

P (x): “x es poeta” R(x): “x es romántico” S(x): “x se suicida”,

el argumento dado es: [∃x (P (x) ∧ R(x))] ∧ [∃x (R(x) ∧ S(x))] |= [∃x (P (x) ∧ S(x))].
Teniendo en cuenta que ¬[∃x (P (x) ∧ S(x))] ≡ ∀x (¬P (x) ∨ ¬S(x)), si representamos

{P (x) ∧ R(x), R(x) ∧ S(x), ¬P (x) ∨ ¬S(x)}

se tiene que
22 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

P (x)

R(x)

R(x)

S(x)
Matemática Discreta. Área de Álgebra

¬P (x) ¬S(x)
∗ ∗
Obviamente, esta representación no es correcta (nos hemos olvidado de los cuantificadores y hemos
Universidade da Coruña

representado los predicados para una variable arbitraria x).


Hagamos la tabla semántica de forma correcta y veamos que el argumento no es válido. La
tabla comienza de la forma siguiente

(1) ∃x (P (x) ∧ R(x)) (premisa)

(2) ∃x (R(x) ∧ S(x)) (premisa)

(3) ¬[∃x (P (x) ∧ S(x))] (¬ conclusión)

Para continuar, haremos primero la especificación existencial de (1)

∃x (P (x) ∧ R(x)) X

P (a) ∧ R(a) X

P (a)

R(a)

Continuamos con la especificación existencial de (2)

∃x (R(x) ∧ S(x)) X

R(b) ∧ S(b) X

R(b)

S(b)

y, por último, aplicando la especificación universal de (3) a cada una de las variables, teniendo en
1.2. LÓGICA DE PREDICADOS 23

cuenta que ¬[∃x (P (x) ∧ S(x))] ≡ ∀x [¬P (x) ∨ ¬S(x)], se obtiene la tabla siguiente:

P (a) ∧ R(a) X

P (a)

R(a)
Matemática Discreta. Área de Álgebra

R(b) ∧ S(b) X

R(b)

S(b)
Universidade da Coruña

¬P (a) ∨ ¬S(a)

¬P (a) ¬S(a)

¬P (b) ∨ ¬S(b)X

¬P (b) ¬S(b) ∗

De la tabla semántica anterior, se deduce que el argumento no es válido y un contraejemplo se


obtiene siguiendo la rama que queda abierta: ası́ a es un poeta romántico que no se suicidó (pues
en dicha rama aparecen P (a), R(a) y ¬S(a)) y b es un romántico que se suicida y que no es poeta
(¬P (b), R(b) y S(b)).

1.2.2 Demostración por inducción


Un predicado básico en muchas teorı́as es la igualdad “=”, que verifica dos axiomas

∀x (x = x) y ∀x ∀y (x = y) ∧ P (x) → P (y) .
Además, en los números naturales, existe una regla de demostración especı́fica, conocida como
Principio de inducción: {P (1), ∀x (P (x) → P (x + 1))} |= ∀x P (x). Este principio se basa en una
caracterı́stica fundamental de los números naturales: que cualquiera de ellos puede ser obtenido a
partir del uno mediante una suma reiterada de este.
Es decir, para demostrar, en el universo N de los números naturales, que ∀n P (n) es una
proposición verdadera, usamos el principio de inducción que se enuncia del siguiente modo: Si
• (Base inductiva) P (1) es cierta, y
• (Paso inductivo) ∀k (P (k) |= P (k + 1))
entonces, ∀n P (n) es una proposición verdadera.
Por lo tanto, si P (1) es verdadera y, además se cumple que la propiedad P se transmite de
cualquier número natural k a su sucesor, k + 1, entonces todos los números naturales satisfacen
la propiedad P .
24 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

Hay muchos tipos de imágenes gráficas que pueden ayudar a comprender el principio anterior.
Por ejemplo, usando fichas de dominó. Si las colocamos en fila una tras otra, de tal modo que
si una ficha cae empuja, y hace caer, a la siguiente (paso inductivo) y tiramos la primera (base
inductiva), todas las fichas caerán. Hay que tener en cuenta que una sola de estas condiciones no
es suficiente para que todas las fichas caigan.

Ejemplo 29.
n
Matemática Discreta. Área de Álgebra

X n(n+1)
1. Para todo natural n, se verifica que 1 + 2 + · · · + n = i= 2
.
i=1

1(1 + 1)
• Base inductiva n = 1: 1 =
2
• Paso inductivo: Sea k ∈ N cualquiera y supongamos que el resultado es cierto para k,
Universidade da Coruña

k
X k(k + 1)
i = 1 + 2 + ··· + k = ,
i=1
2

y comprobemos si se cumple para k + 1


k+1
X
i = 1 + 2 + · · · + k + (k + 1)
i=1
k(k + 1) k(k + 1) + 2(k + 1) (k + 1)(k + 2)
= + (k + 1) = =
2 2 2
Pn
2. Probar que para todo natural n, se verifica que 1 + 2 + · · · + 2n = i=0 2i = 2n+1 − 1.
• Base inductiva n = 1: 1 + 2 = 21+1 − 1
• Paso inductivo: Sea k ∈ N cualquiera y supongamos que el resultado es cierto para k,

k
X
2i = 1 + 2 + · · · + 2k = 2k+1 − 1,
i=0

y comprobemos si se cumple para k + 1


k+1 k
!
X X
2i = 2i + 2k+1 = 1 + 2 + · · · + 2k + 2k+1

i=0 i=0
k+1
− 1 + 2k+1 = 2 · 2k+1 − 1 = 2(k+1)+1 − 1

= 2

En ocasiones, para facilitar la demostración, debemos aplicar el llamado principio de inducción


fuerte o completa, que es equivalente al anterior, y que se enuncia como sigue:
Sea P una propiedad definida sobre los naturales tal que

• (Base inductiva) P (1) es cierta, y


1.2. LÓGICA DE PREDICADOS 25

• (Paso inductivo completo) para todo natural k se cumple que


{P (1), P (2), . . . , P (k)} |= P (k + 1)

entonces, ∀n P (n) es una proposición verdadera.

Ejemplo 30. Después de transcurrir n meses en un experimento de invernadero, el número pn de


plantas de un tipo particular satisface las ecuaciones p1 = 3, p2 = 7 y

pn = 3pn−1 − 2pn−2
Matemática Discreta. Área de Álgebra

para todo n ≥ 3. Probemos que pn = 2n+1 − 1.


En primer lugar, es claro que para los casos n = 1, 2 se verifica. Además si n ≥ 3 y, se supone
que para todo 1 ≤ k ≤ n se verifica la hipótesis, entonces

pn+1 = 3pn − 2pn−1 = 3(2n+1 − 1) − 2(2n − 1) = 3 · 2n+1 − 2n+1 − 1 = 2n+2 − 1.


Universidade da Coruña

con lo que queda probado.

Los principios de inducción simple y fuerte son válidos también para demostrar que una
propiedad es cierta para todos los números enteros mayores que un entero dado n0 , en este caso
sin más que cambiar el universo N por

U = {n ∈ Z | n ≥ n0 }.

Nota 1. Es interesante destacar que tanto la base inductiva como el paso inductivo son necesarios
ya que, en ausencia de alguno de ellos el principio de inducción no es cierto.

Ejemplo 31. Para cada n, sea P (n) la propiedad que afirma que
n 2
X n + 21
i=
i=1
2

Es fácil comprobar que si P (k) es cierta, entonces también es cierta P (k + 1):


k+1 k 2 1 2
k + 12

X X k+1+ 2
i= i + (k + 1) = + (k + 1) = .
i=1 i=1
2 2

Es decir, esta propiedad verifica el paso inductivo y parecerı́a que es cierta para todos los naturales.
Sin embargo, no se cumple para n = 1
2
1 + 12
1 6= .
2
De hecho, no es cierta para ningún natural n ya que
n 2
X n (n + 1) n (n + 1) n + 12
i= , pero 6= .
i=1
2 2 2
26 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

1.3 Álgebras de Boole


Las álgebras de Boole se aplican en el análisis de circuitos electrónicos y, por lo tanto, en el diseño
de dispositivos digitales como ordenadores, teléfonos móviles, etc. Los elementos básicos de estos
circuitos se llaman puertas lógicas y cada tipo de puerta implementa una operación booleana. Los
circuitos digitales más sencillos se llaman circuitos combinacionales.

Definición 9. Un Álgebra de Boole es un conjunto A = {a, b, c, . . .} con dos operaciones binarias,


Matemática Discreta. Área de Álgebra

suma (+) y producto (·), y una operación unaria, complemento o inversión ( ), que cumplen los
siguientes axiomas:

A1: A es cerrado para las tres operaciones:

∀a, b ∈ A se tiene que a + b ∈ A, a · b ∈ A, ā ∈ A


Universidade da Coruña

A2: Existen dos elementos distinguidos 0 y 1 en A tales que, para todo a ∈ A:

a + 0 = a, a·1=a

A3: Todo elemento a ∈ A tiene un complemento ā ∈ A tal que

a + ā = 1, a · ā = 0

A4: Las operaciones suma y producto son conmutativas: para cualesquiera a, b ∈ A

a + b = b + a, a·b=b·a

A5: Las operaciones suma y producto son asociativas: para cualesquiera a, b, c ∈ A

a + (b + c) = (a + b) + c, a · (b · c) = (a · b) · c

A6: La operación suma es distributiva respecto al producto, y viceversa: ∀a, b, c ∈ A

a + (b · c) = (a + b) · (a + c), a · (b + c) = (a · b) + (a · c)

La estructura (A, 0, 1, +, ·, ) se llama Álgebra de Boole.

El Álgebra de Boole más sencilla es la formada por el conjunto A = {0, 1} con las operaciones
dadas por las siguientes tablas:

x y x+y x y x·y
0 0 0 0 0 0 x x
0 1 1 0 1 0 0 1
1 1 1 1 1 1 1 0
1 0 1 1 0 0
1.3. ÁLGEBRAS DE BOOLE 27

También es un Álgebra de Boole el conjunto de las proposiciones (o fórmulas bien formadas)


con los operadores lógicos ∨, ∧ y ¬ definidos al inicio del tema, siendo ⊥ el elemento 0 y > el
elemento 1.
Una propiedad importante de un Álgebra de Boole es el principio de Dualidad. Este principio
establece que las expresiones algebraicas deducidas a partir de un Álgebra de Boole permanecen
válidas si se intercambian entre sı́ los operadores (+ y ·) y los elementos distinguidos (0 y 1).
Otras propiedades de un Álgebra de Boole se recogen en el siguiente resultado:
Matemática Discreta. Área de Álgebra

Proposición 1. Sea (A, 0, 1, +, ·, ) un Álgebra de Boole. Para cualesquiera a, b ∈ A se verifica:


1. Leyes de Idempotencia: a+a=a y a·a=a

2. Leyes de Acotación: a+1=1 y a·0=0


Universidade da Coruña

3. Leyes de Absorción: a + (a · b) = a y a · (a + b) = a

4. El elemento ā de a ∈ A es único. Si existe b ∈ A tal que a + b = 1 y a · b = 0 entonces


b = ā.

5. Leyes de Morgan: a + b = ā · b̄ y a · b = ā + b̄

6. Involución: (ā) = a

7. a + (ā · b) = a + b y a · (ā + b) = a · b.

Para demostrar las Leyes de Idempotencia aplicamos, de forma sucesiva, los axiomas A2, A3,
A6, A3 y A2 de Álgebra de Boole:

a = a + 0 = a + (a · ā) = (a + a) · (a + ā) = (a + a) · 1 = a + a.

De forma dual se obtiene

a = a · 1 = a · (a + ā) = (a · a) + (a · ā) = (a · a) + 0 = a · a.

La última propiedad se prueba a partir de los axiomas A6, A3 y A2 como sigue:

a + (ā · b) = (a + ā) · (a + b) = 1 · (a + b) = a + b.

Las propiedades recogidas en la proposición anterior son las equivalentes a las ya estudiadas
en lógica proposicional, basta con tener en cuenta la siguiente tabla de correspondencias:

Boole Lógica
+ ∨
· ∧
¬
0 ⊥
1 >
28 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

1.3.1 Funciones de Boole


Partiendo del alfabeto formado por un conjunto de variables y los sı́mbolos +, · y ¯ , podemos
definir un lenguaje, que se corresponde con el lenguaje de la lógica de proposiciones cambiando,
como ya se ha comentado, las conectivas ∨, ∧ y ¬, por los sı́mbolos +, · y ¯ , respectivamente.
Dada el álgebra de Boole A = {0, 1}, la variable x se llama variable booleana si toma valores
de A. Las expresiones booleanas en las variables x1 , . . . , xn se definen de manera recursiva como
sigue4 :
Matemática Discreta. Área de Álgebra

• 0, 1, x1 , x2 , . . . , xn son expresiones booleanas.

• Si E1 y E2 son expresiones booleanas, entonces E1 , E1 + E2 , E1 · E2 son, también,


expresiones booleanas.
Universidade da Coruña

Se establece una jerarquı́a de prioridad entre las operaciones booleanas que permite suprimir
paréntesis en una expresión booleana. El orden es el siguiente:

1. Complemento ¯ 2. Producto · 3. Suma +

Ası́, (x1 · x2 ) + x3 se escribe x1 · x2 + x3 , pero en la expresión (x1 + x2 ) · x3 no pueden suprimirse


los paréntesis (en caso de suprimirse, se obtedrı́a x1 + x2 · x3 , que corresponde a x1 + (x2 · x3 )).

Definición 10. Una función f de n variables sobre un álgebra de Boole A es una aplicación
n
z }| {
f : A × A × ··· × A → A

Si A = {0, 1} hay 2n posibles combinaciones de entrada (x1 , x2 , . . . , xn ) donde xi ∈ {0, 1}.

Una función de Boole puede definirse mediante expresiones del álgebra de Boole o bien dando
su tabla de valores.

Ejemplo 32. f (a, b, c) = a + a · b · c

f (0, 0, 0) = 1 + 1 · 0 · 1 = 1 a b c f (a, b, c) a
f (0, 0, 1) = 1 + 1 · 0 · 0 = 1 0 0 0 1 1
f (0, 1, 0) = 1 + 1 · 1 · 1 = 1 0 0 1 1 1
f (0, 1, 1) = 1 + 1 · 1 · 0 = 1 0 1 0 1 1
0 1 1 1 1
f (1, 0, 0) = 0 + 0 · 0 · 1 = 0 1 0 0 0 0
f (1, 0, 1) = 0 + 0 · 0 · 0 = 0 1 0 1 0 0
f (1, 1, 0) = 0 + 0 · 1 · 1 = 0 1 1 0 0 0
f (1, 1, 1) = 0 + 0 · 1 · 0 = 0 1 1 1 0 0

Dos funciones se dicen iguales si sus tablas de valores son iguales. Por ejemplo, la función an-
terior f es igual a la función g(a, b, c) = a. A esta conclusión se puede llegar también simplificando
la expresión que define f aplicando propiedades del álgebra de Boole:
4
De modo análogo a cómo se definen las expresiones bien formadas en lógica proposicional.
1.3. ÁLGEBRAS DE BOOLE 29

f (a, b, c) = a + a · b · c = a · (1 + b · c) = a · 1 = a.

Para simplificar la notación, podemos suprimir el · de la operación producto; es decir, es-


cribiremos x y para representar x · y. Además, hay que tener especial cuidado en la escritura
pues:

x y =x+y es distinto de x y = x + y.
Matemática Discreta. Área de Álgebra

Definición 11. Un literal es una variable booleana (literal positivo: x) o el complemento de una
variable booleana (literal negativo: x̄).

Escribiremos una función booleana utilizando sumas de literales o productos de literales a


partir de su tabla de valores. Por ejemplo, en la tabla de valores de f (x, y, z) = (x + y) z̄
Universidade da Coruña

señalamos los productos de literales para los que f (x, y, z) = 1 y las sumas de literales para los
que f (x, y, z) = 0:

x y z f (x, y, z)
x+y+z 0 0 0 0
x + y + z̄ 0 0 1 0
0 1 0 1 x̄ y z̄
x + ȳ + z̄ 0 1 1 0
1 0 0 1 x ȳ z̄
x̄ + y + z̄ 1 0 1 0
1 1 0 1 x y z̄
x̄ + ȳ + z̄ 1 1 1 0

Se verifica que f (x, y, z) = x̄ y z̄ + x ȳ z̄ + x y z̄. Esto es debido a que la suma final es 1 cuando
alguno de los sumandos es 1. Por otra parte, cada uno de estos sumandos es un producto; y un
producto es 1 cuando todos sus factores son 1.
Análogamente, f (x, y, z) = (x + y + z)(x + y + z̄)(x + ȳ + z̄)(x̄ + y + z̄)(x̄ + ȳ + z̄), puesto que el
producto final es 0 cuando alguno de los factores es 0. Por otro lado, cada uno de los factores es
una suma; y una suma es 0 cuando todos sus sumandos son 0.

Teorema 1. (Teorema de expansión de Shannon) Cualquier función boolena puede expresarse


en forma de suma de productos de literales (Forma Normal Disyuntiva, FND 5 ) o en forma
de producto de sumas de literales (Forma Normal Conjuntiva, FNC 6 ).

Consideremos ahora la siguiente tabla donde se recogen los valores correspondientes a dos
funciones booleanas F (x, y, z) y G(x, y, z):
5
En inglés disjunctive normal form (DNF).
6
En inglés conjuctive normal form (CNF).
30 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

x y z F (x, y, z) G(x, y, z)
0 0 0 1 0
0 0 1 0 1
0 1 0 1 1
0 1 1 1 0
1 0 0 0 0
1 0 1 1 0
1 1 0 0 1
Matemática Discreta. Área de Álgebra

1 1 1 0 1
Si elegimos, para cada una de las funciones, los casos en que su valor es 1, obtenemos:
F (x, y, z) = x̄ȳz̄ + x̄yz̄ + x̄yz + xȳz
G(x, y, z) = x̄ȳz + x̄yz̄ + xyz̄ + xyz
Universidade da Coruña

Esta representación de la función se llama forma normal disyuntiva (FND) de la función


booleana. Otras formas de escribir F (x, y, z) y G(x, y, z) como suma de productos es:
F (x, y, z) = x̄ȳz̄ + x̄y + xȳz = x̄z̄ + x̄yz + xȳz
G(x, y, z) = x̄ȳz + yz̄ + xyz = x̄ȳz + x̄yz̄ + xy
También podemos elegir los casos en los que F y G tienen valor 0, obteniéndose:
F (x, y, z) = (x + y + z̄)(x̄ + y + z)(x̄ + ȳ + z)(x̄ + ȳ + z̄)
G(x, y, z) = (x + y + z)(x + ȳ + z̄)(x̄ + y + z)(x̄ + y + z̄)
Esta representación de la función se llama forma normal conjuntiva (FNC) de la función
booleana. Otra forma de escribir F (x, y, z) y G(x, y, z) como producto de sumas es:
F (x, y, z) = (x + y + z̄)(x̄ + y + z)(x̄ + ȳ) = (x + y + z̄)(x̄ + z)(x̄ + ȳ + z̄)
G(x, y, z) = (y + z)(x + ȳ + z̄)(x̄ + y + z̄) = (x + y + z)(x + ȳ + z̄)(x̄ + y)

En resumen:
Forma normal Método de obtención Convenio
0 variable negada
Disyuntiva Suma de productos de literales cuyas
1 variable sin negar
combinaciones hacen 1 la función
0 variable sin negar
Conjuntiva Producto de sumas de literales cuyas
1 variable negada
combinaciones hacen 0 la función

Tabla 1
De forma análoga, se dice que una fórmula proposicional está en forma normal disyuntiva
cuando es una disyunción de conjunciones de literales, y en forma normal conjuntiva si es una
conjunción de disyunciones de literales. Por ejemplo, (p ∨ ¬q) ∧ (¬p ∨ r) está en forma normal
conjuntiva y (q ∧ ¬r) ∨ (p ∧ r) en forma normal disyuntiva.
Se pueden utilizar tablas semánticas para obtener una FND de una fórmula proposicional,
haciendo la disyunción (suma) de las ramas abiertas, cada rama es la conjunción (producto) de
los literales que aparecen en ella. Si todas las ramas se cierran, la fórmula es una contradicción.
1.3. ÁLGEBRAS DE BOOLE 31

Ejemplo 33. La tabla semántica de la fórmula (p → q) ∧ (q → r ∧ ¬p) es la siguiente:

p → q ≡ ¬p ∨ q X

q → r ∧ ¬p ≡ ¬q ∨ (r ∧ ¬p) X
Matemática Discreta. Área de Álgebra

¬p q

¬q r ¬q r

¬p ¬p
Universidade da Coruña

Esta tabla tiene tres ramas abiertas con los conjuntos de átomos {¬q, ¬p}, {r, ¬p} y {q, r, ¬p}, por
lo que (p → q)∧(q → r ∧¬p) es lógicamente equivalente a la siguiente disyunción de conjunciones:

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

Nótese que las ramas abiertas proporcionan los modelos de la fórmula dada.

Dualmente, para obtener una FNC de P se construye la tabla semántica de ¬P y se hace


la conjunción de la disyunción de los complementarios de los átomos que aparecen en las ramas
abiertas de dicha tabla. Volvamos al ejemplo anterior: (p → q) ∧ (q → r ∧ ¬p).

Ejemplo 34. Se halla primero la tabla semántica de su negación, ¬ (p → q) ∧ (q → r ∧ ¬p) , que
es:

p q

¬q ¬r p

puesto que
¬((p → q) ∧ (q → r ∧ ¬p)) ≡ (p ∧ ¬q) ∨ (q ∧ (¬r ∨ p)).

Como vemos, se obtienen tres ramas abiertas con los conjuntos de átomos {p, ¬q}, {q, ¬r} y {p, q}.
Construyendo la conjunción de la diyunción de los complementarios de los átomos que aparecen
en esas ramas se obtiene una FNC de la fórumula inicial, (p → q) ∧ (q → r ∧ ¬p):

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

Nótese que las ramas abiertas en la tabla de ¬P, es decir, {p, ¬q}, {q, ¬r} y {p, q}, proporcionan
los contramodelos (contrajemplos) de la fórmula inicial P (los modelos de ¬P son los contramo-
delos de P).
32 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

1.3.2 Puertas lógicas básicas


Estos dispositivos de estado sólido, son los bloques elementales para la construcción de circuitos
lógicos. El nombre de puertas responde al hecho de que pueden tener una o varias entradas pero
una única salida, y esta salida puede tomar el valor lógico 0 o 1, dependiendo de los valores lógicos
que tengan las entradas.
Comenzaremos por analizar las tres puertas básicas: and (y), or (o) y not (no). Su función
se corresponde exactamente con la que, simbólicamente, realizan los operadores lógicos ∧, ∨ y ¬,
Matemática Discreta. Área de Álgebra

respectivamente, en lógica de proposiciones.


Si representamos por x1 y x2 las entradas de la puerta and, donde x1 y x2 son bits, la salida
que produce se denota por x1 ∧ x2 , donde:
x1

x2 x1 x 2
1 si x1 = 1 y x2 = 1
x1 ∧ x2 =
0 en otro caso
Universidade da Coruña

Figura 1. Puerta and


Una puerta or recibe entradas x1 y x2 , donde x1 y x2 son bits, y produce una salida denotada
por x1 ∨ x2 , donde
x1
 x2 x1 x 2
1 si x1 = 1 o x2 = 1
x 1 ∨ x2 =
0 en otro caso
Figura 2. Puerta or
Una puerta not (o inversor ) recibe una entrada x, donde x es un bit, y produce una salida
denotada por x̄, donde

 x x
1 si x = 0
x̄ =
0 si x = 1
Figura 3. Puerta not
La tabla lógica de un circuito combinatorio muestra la salida que se obtiene para cada una de
las posibles entradas.
x1 x2 x1 ∧ x2 x1 x2 x1 ∨ x2
0 0 0 0 0 0 x x
0 1 0 0 1 1 0 1
1 1 1 1 1 1 1 0
1 0 0 1 0 1
Son las tablas de los operadores lógicos a los que corresponden.
Las puertas or y and pueden tener más de dos entradas pues las operaciones que realizan
son, formalmente, las mismas operaciones conocidas del álgebra de Boole, y por tanto tienen las
mismas propiedades, en concreto, la propiedad asociativa. Esto nos permite decir, por ejemplo,
que la función de una puerta and de tres entradas, es la misma del circuito formado por dos
puertas and de dos entradas conectadas según indica la figura:
1.3. ÁLGEBRAS DE BOOLE 33

x1 x1
x2 x2
x3 x3

(x1 x 2) x 3 x1 x 2 x 3

Las puertas se pueden interconectar para obtener circuitos combinatorios más amplios. La
salida de una puerta cualquiera puede servir de entrada a una o varias puertas, pero nunca pueden
conectarse juntas dos o más salidas. Como existe una correspondencia biunı́voca entre las operacio-
Matemática Discreta. Área de Álgebra

nes que realizan las puertas y los operadores del álgebra de Boole, podremos escribir un expresión
booleana para representar la salida. Recı́procamente, se puede construir el circuito combinacional
correspondiente a una función booleana, para ello se va dibujando el circuito en el orden en el que
se realizan las operaciones.
Ejemplo 35. La función booleana
Universidade da Coruña

F (x1 , x2 , x3 ) = (x1 · x2 ) + x3

se corresponde con el circuito lógico siguiente:


x1
x2
x3 y

Los operadores lógicos condicional (→) y bicondicional (↔) estudiados, también se pueden
implementar utilizando circuitos combinacionales. El circuito

x1
x2

con salida ¬x1 ∨ x2 , se corresponde con el operador lógico condicional (x1 → x2 ). En el caso
del operador lógico bicondicional

x1 ↔ x2 ⇔ (x1 → x2 ) ∧ (x2 → x1 ) ⇔ (x1 ∧ x2 ) ∨ (¬x1 ∧ ¬x2 )

se puede representar por

x1
x1
x2 o bien por x2

A continuación se dibujan un par de circuitos lógicos, cada uno con la función que describe su
comportamiento. Por ejemplo, la función F (x, y, z, t) = x(ȳ + z) + t se corresponde con el circuito
x
y
z
t

Y la función F (x, y, z, t) = xȳz̄ t̄ + xz̄t + z se corresponde con el circuito


34 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

x y z t
Matemática Discreta. Área de Álgebra

1.3.3 Minimización de funciones. Minimización de circuitos


Minimizar una función es obtener la expresión más simple posible para dicha función. En general,
la función minimizada no es única. Una expresión de una función en forma de suma de productos
será minimal si:
Universidade da Coruña

• No existe otra expresión de la función con menor número de sumandos.

• Cualquier otra expresión con el mismo número de sumandos tendrá más variables dentro de
alguno de esos sumandos.

Si la expresión es un producto de términos suma, esta será minimal si cumple las condiciones
anteriores cambiando la palabra sumando por factor.
La eficiencia de un circuito combinacional depende del número de puertas que tenga y de la
disposición de estas. El proceso de diseñar un circuito combinacional comienza con la tabla que
especifica las salidas para cada combinación de valores de entrada. Para obtener un conjunto de
puertas lógicas que implemente este circuito siempre podemos usar la forma normal disyuntiva
del circuito. Pero, la forma normal disyuntiva puede tener más sumandos de los necesarios. Se
pueden combinar entre sı́ dos sumandos de una forma normal disyuntiva que difieren en una sola
variable de manera que en un sumando aparezca dicha variable y en el otro sumando lo haga su
complementario. Por ejemplo, consideremos el circuito cuya tabla asociada es

x y z f (x, y, z)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

Una forma normal disyuntiva de este circuito es xyz + xȳz. Pero

xyz + xȳz = (y + ȳ) x z = 1 x z = x z

Luego, xz es una expresión booleana con menos operadores y que representa igualmente al circuito.
A continuación mostramos las dos implementaciones diferentes de este circuito:
1.3. ÁLGEBRAS DE BOOLE 35

z y x

xyz+xyz x xz
z
Matemática Discreta. Área de Álgebra

Este ejemplo muestra que combinar sumandos de una forma normal disyuntiva de un circuito
puede dar lugar una expresión más sencilla del mismo. Minimizar una función booleana permite
construir circuitos con el menor número posible de puertas y el menor número posible de entradas
a las puertas and y or del circuito.
Los diagramas o mapas de Karnaugh son un método desarrollado en la década de los cincuenta
del siglo pasado para ayudar a minimizar los circuitos de forma manual; este método proporciona
Universidade da Coruña

un método visual para simplificar la forma normal disyuntiva (o la forma normal conjuntiva, como
veremos en algunos ejemplos, aunque nos centraremos en la FND) de la función representada por
el circuito.
Un diagrama de Karnaugh de una función booleana es una presentación alternativa de la misma
información contenida en una tabla de valores de la función; está constituido por una cuadrı́cula
en forma de encasillado cuyo número de casillas depende del número de variables que tenga la
función a simplificar.
En cada cuadrado del diagrama de Karnaugh representaremos el valor que toma la función
para la combinación de variables que le corresponde, puesto que hay una correspondencia uno a
uno entre los cuadrados y las distintas combinaciones de entrada. Por ejemplo, si consideramos la
función de dos variables f (x, y) = x̄+y, la correspondencia entre su tabla de valores y su diagrama
de Karnaugh es la siguiente:

y
x y f x 0 1
0 0 1
0 1 1 0 1 1
1 0 0
1 1 1 1 0 1

En una FND de una función booleana de dos variables puede haber hasta cuatro posibles
productos de literales, utilizando en cada sumando las dos variables (cada una ellas puede aparecer
negada o no):
x y, x̄ y, x̄ ȳ, x ȳ.

Por tanto, un diagrama de Karnaugh para una función de dos variables consta de cuatro celdas
(tantas como posibles productos de literales con las dos variables). Se coloca un 1 en la celda que
representa a un producto de literales si este aparece en una FND de la función.
Por ejemplo, para la función anterior f (x, y) = x̄ + y , la FND f (x, y) = x̄ ȳ + x̄ y + x y se
corresponde con su mapa de Karnaugh:
36 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

y
x y f x 0 1
x̄ ȳ 0 0 1
x̄ y 0 1 1 0 1 1
1 0 0
xy 1 1 1 1 0 1

En el caso dual, una FNC de una función booleana de dos variables puede tener hasta cuatro
Matemática Discreta. Área de Álgebra

posibles sumas de literales (cada una de las dos variables puede aparecer negada o no):

x + y, x̄ + y, x̄ + ȳ, x + ȳ.

En el mapa de Karnaugh se coloca un 0 en la celda que representa a una suma de literales si esta
aparece en la FNC de la función.
Universidade da Coruña

Por ejemplo, se puede obtener una FNC de la función g(x, y) = x y a partir de su tabla de
valores o su correspondiente mapa de Karnaugh. Resultando: g(x, y) = (x + y) (x̄ + y) (x + ȳ).

y
x y g x 0 1
x+y 0 0 0
x + ȳ 0 1 0 0 0 0
x̄ + y 1 0 0
1 1 1 1 0 1

Diremos que dos celdas son adyacentes si los productos (resp. sumas) de literales que repre-
sentan difieren exactamente en un literal. Por ejemplo, la celda que representa a x̄y es adyacente
a la celda que representa x̄ȳ (y también a xy) pero x̄ȳ y xy no son adyacentes (resp. la celda x + y
es adyacente a la celda x + ȳ, y también a x̄ + y, pero x + ȳ y x̄ + y no son adyacentes). En el
mapa de Karnaugh, las celdas adyacentes son celdas consecutivas horizontal o verticalmente:

Son adyacentes: Son adyacentes:


y y
x 0 1 x̄ ȳ + x̄ y = x̄ x 0 1 (x + y) (x̄ + y) = y
0 1 1 0 0 0
x̄ ȳ x̄ y x+y x + ȳ

1 0 1 1 0 1
x ȳ xy x̄ + y x̄ + ȳ

f (x, y) = x̄ ȳ + x̄ y + x y g(x, y) = (x + y) (x̄ + y) (x + ȳ)


= x̄ + xy = y (x + ȳ) = y x + y ȳ = y x

Ejemplo 36. Los diagramas de Karnaugh de funciones siguientes

1. f (x, y) = xy + x̄y 2. f (x, y) = xȳ + x̄y 3. f (x, y) = xȳ + x̄y + x̄ȳ

son, respectivamente:
1.3. ÁLGEBRAS DE BOOLE 37

y y y
x 0 1 x 0 1 x 0 1
0 1 0 1 0 1 1

1 1 1 1 1 1

Para simplificar una función representada en un mapa de Karnaugh, agruparemos dentro de


Matemática Discreta. Área de Álgebra

una lı́nea cerrada las casillas que se pueden combinar (adyacentes) y luego calcularemos la corres-
pondiente simplificación (un producto de literales). El objetivo es identificar los bloques de mayor
tamaño posible y cubrir todos los unos del diagrama con el menor número posible de bloques,
usando los bloques de mayor tamaño posible.
Si combinamos dos celdas adyacentes, reducimos una variable:
Universidade da Coruña

y y
x 0 1 x 0 1 x̄ ȳ + x̄ y = x̄
0 1 0 1 1

1 1 1 1
x̄ ȳ + x ȳ = ȳ

f (x, y) = x̄ y + x y = (x̄ + x) y = y f (x, y) = x̄ ȳ + x̄ y + x ȳ = x̄ + ȳ

Para funciones de tres variables, el diagrama de Karnaugh tiene 8 = 23 celdas (pues 8 son los
productos de literales distintos que se pueden hacer):
yz
x 00 01 11 10

0 xyz xyz xyz xyz Las celdas adyacentes representan productos que
difieren en un único literal.
1 xyz xyz xyz xyz

Nota: Este diagrama puede verse como si estuviese dibujado sobre un cilindro; la celda x̄ y z̄ es
adyacente a x̄ ȳ z̄, igualmente x y z̄ es adyacente a x ȳ z̄.
Los bloques de dos celdas adyacentes se pueden combinar para dar lugar a un producto de dos
literales, es decir, se reduce una variable. Por ejemplo: x y z + x ȳ z = x z.
Los bloques de celdas de tamaños 2 × 2 y 4 × 1 representan productos que se pueden
combinar entre sı́ para dar lugar a un único literal, es decir, se reducen dos variables. Por ejemplo:
yz
x 00 01 11 10

0 xyz xyz xyz xyz


Las operaciones correspondientes son:
x
1 xyz xyz xyz xyz
y
38 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

para obtener x̄

x̄ ȳ z̄ + x̄ ȳ z + x̄ y z + x̄ y z̄ = x̄ ȳ (z̄ + z) + x̄ y (z + z̄) = x̄ ȳ + x̄ y = x̄ (ȳ + y) = x̄;

y para obtener ȳ

x̄ ȳ z̄ + x̄ ȳ z + x ȳ z̄ + x ȳ z = x̄ ȳ (z̄ + z) + x ȳ (z̄ + z) = x̄ ȳ + x ȳ = (x̄ + x) ȳ = ȳ.

El bloque de las 8 celdas representa un término sin literales, es decir, la función 1.


Matemática Discreta. Área de Álgebra

Ejemplo 37.
yz yz
x 00 01 11 10 x 00 01 11 10
yz= xyz + xyz 1 1
0 1 0
Universidade da Coruña

1 1 1 1 1

z= xyz + xyz + xyz + xyz

yz yz
x 00 01 11 10 x 00 01 11 10

0 xz = xyz + xyz 0

1 1 1 1 1 1 1 1

x = xyz + xyz + xyz + xyz

Al producto de literales obtenido al combinar las celdas correspondientes a un bloque de unos


en el diagrama se le llama implicante de la función que se va a minimizar. Se dice que es un
implicante primo si ese bloque no está contenido en ningún bloque de unos mayor.

Ejemplo 38.
yz
x 00 01 11 10

0 x y= x y z + x y z
implicante no primo
1 1 1 1 1

x = xyz + xyz + xyz + xyz


implicante primo

Un implicante primo se dice implicante primo esencial si cubre una casilla del diagrama de
forma exclusiva:
esencial
esencial esencial
yz
x 00 01 11 10
yz
x 00 01 11 10 0 1 1
0 1 1
1 1 1 1
1 1 1

no esenciales,
no esencial esencial hay que elegir solo uno de ellos
1.3. ÁLGEBRAS DE BOOLE 39

Para simplificar una función, siempre se eligen los bloques de mayor tamaño posible, pero
siempre debemos elegir un bloque si es un implicante primo esencial. Cubrir todos los unos del
diagrama con bloques correspondientes a implicantes primos nos permite expresar la suma de
productos como una suma de implicantes primos.
Puede haber más de una forma de cubrir todos los unos utilizando el menor número posible de
bloques, dando ası́ lugar a distintas simplificaciones para una misma función. En la figura anterior,
podemos elegir uno de los dos implicantes no esenciales, por lo que se obtienen dos simplificaciones:
f (x, y, z) = x̄ ȳ + ȳ z + x y y f (x, y, z) = x̄ ȳ + x z + x y.
Matemática Discreta. Área de Álgebra

Ejemplo 39.

1. f (x, y, z) = x y z̄ + x ȳ z̄ + x̄ y z + x̄ ȳ z̄ 2. f (x, y, z) = x̄ ȳ z̄ + x̄ ȳ z + x̄ y z + x ȳ z̄ + x ȳ z
yz y
yz yz
Universidade da Coruña

x 00 01 11 10 xyz x 00 01 11 10 xz
xz
0 1 1 0 1 1 1

1 1 1 1 1 1

f (x, y, z) = x̄ y z + ȳ z̄ + x z̄ f (x, y, z) = ȳ + x̄ z

3. f (x, y, z) = x̄ ȳ z̄ + x̄ ȳ z + x ȳ z̄ + x y z̄
yz
yz
x 00 01 11 10 Los implicantes x̄ ȳ y x z̄ son esenciales, pero
ȳ z̄ es un implicante primo no esencial, pues las
0 1 1 xz
celdas que cubre quedan cubiertas por los otros
1 1 1
dos implicantes primos. Por lo tanto:
f (x, y, z) = x z̄ + x̄ ȳ.
xy

4. f (x, y, z) = (x + z) y + x y

yz f (x, y, z) = x y + z y + x y toma valor 1


x 00 01 11 10
cuando es 1 cualquiera de sus sumandos.
0 1 Cada sumando es un producto de literales,
por lo tanto, un sumando es 1 cuando to-
1 1 1 1 1 dos los literales tienen valor 1. Por ejemplo,
x y es 1 cuando lo son x e y, independien-
yz temente del valor de z. La forma simplificada
x y + x y = x (y + y) = x
es: f (x, y, z) = x + y z.

Un diagrama de Karnaugh para 4 variables es un cuadrado dividido en 16 celdas, cada una de


ellas representa uno de los 16 productos posibles de 4 literales.
40 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE

zt
xy 00 01 11 10

00 x y z t x y z t x y z t x y z t

01 x y z t x y z t x y z t x y z t

11 x y z t x y z t x y z t x y z t

10 x y z t x y z t x y z t x y z t
Matemática Discreta. Área de Álgebra

Dos celdas son adyacentes si, y solo si, difieren en un único literal. Por tanto, cada celda es
adyacente a otras cuatro celdas. El diagrama en 4 variables puede considerarse como si estuviese
dibujado sobre un toro7 , de modo que las celdas adyacentes tengan una frontera común. La
simplificación en este caso se realiza identificando aquellos bloques de 2, 4, 8 o 16 celdas que
Universidade da Coruña

representan términos que se pueden combinar entre sı́, como se ve en el ejemplo siguiente:
zt zt
xy 00 01 11 10 xy 00 01 11 10
00 00 1 1

01 1 1 01
11 11

10 10 1 1

Ejemplo 40. xyzt + xyzt = xyt xyzt + xyzt + xyzt + xyzt = yt


xzt
zt
xy 00 0 1 11 10 xyt f (x, y, z, t) = x̄ ȳ z̄ t̄ + x̄ ȳ z̄ t + x̄ ȳ z t +
00 1 1 1 xyz x̄ y z̄ t̄ + x̄ y z t + x̄ y z t̄ +
01 1 1 1
x y z̄ t̄ + x y z̄ t + x ȳ z t̄ =
11 1 1 xyzt
x̄ z̄ t̄ + x̄ ȳ t + x̄ y z + x y z̄ + x ȳ z t̄
10 1
xyz
zt zt
xy 00 01 11 10 xy 00 01 11 10
zt t
00 1 00 1 1
01 1 1 1 yt 01 1 1 1
xy
11 1 1 11 1 1
xyz 10 1
10 1 1 1 1

xyz
f (x, y, z, t) = z t + y t + x̄ y z̄ f (x, y, z, t) = t + x̄ y z̄ + x ȳ
7
http://es.wikipedia.org/wiki/Toro %28geometr%C3ADa%29
1.3. ÁLGEBRAS DE BOOLE 41

Supongamos que queremos simplificar la función f (x, y, z, t) cuya tabla de valores es

x y z t f (x, y, z, t)
0 0 0 0 0
0 0 0 1 0
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
Matemática Discreta. Área de Álgebra

0 1 1 0 0 a partir de la FND:
0 1 1 1 0
1 0 0 0 0 f (x, y, z, t) = x̄ ȳ z t̄ + x̄ ȳ z t + x̄ y z̄ t̄ + x̄ y z̄ t + x ȳ z t̄ +
1 0 0 1 0 x ȳ z t + x y z̄ t̄ + x y z̄ t + x y z t̄ + x y z t
1 0 1 0 1
1 0 1 1 1
Universidade da Coruña

1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1

Primero dibujamos el diagrama de Karnaugh correspondiente identificando los implicantes primos:


zt
xy 00 01 11 10
i1
00 1 1 El implicante i1 = ȳ z es un implicante primo esencial;
1 1 i3 si no se considera, quedarán unos sin cubrir (tiene unos
01 no compartidos).
i4 11 i2 El implicante i4 = y z̄ también es un implicante primo
1 1 1 1
esencial. Por tanto, comenzamos eligiendo i1 e i4 .
10 1 1

A continuación se elige entre i2 = x y y i3 = x z para cubrir los unos correspondientes a las


casillas 15 (f (1, 1, 1, 1) = 1) y 14 (f (1, 1, 1, 0) = 1). Quedarı́an pues dos simplificaciones posibles
f (x, y, z, t) = i1 + i4 + i2 = ȳ z + y z̄ + x y y f (x, y, z, t) = i1 + i4 + i3 = ȳ z + y z̄ + x z.
Si queremos simplificar f (x, y, z, t) a partir de la FNC siguiente
f (x, y, z, t) = (x + y + z + t) (x + y + z + t̄) (x + ȳ + z̄ + t) (x + ȳ + z̄ + t̄) (x̄ + y + z + t) (x̄ + y + z + t̄) ,

el diagrama de Karnaugh correspondiente es:


x yz t 00 01 11 10
00 0 0 i1 = x + ȳ + z̄
Como los dos implicantes primos que
01 0 0 hay son implicantes primos esenciales,
la única simplificación posible es
11

10 0 0 f (x, y, z, t) = i1 ·i2 = (x + ȳ + z̄) (y+z)


i2 = y + z

También podría gustarte