MD GEI 2223 T1 Teoria
MD GEI 2223 T1 Teoria
MD GEI 2223 T1 Teoria
Tema 1
Matemática Discreta. Área de Álgebra
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.
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.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).
• 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.
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
“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”
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:
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.
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
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
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
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.
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.
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.
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
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 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
1 0 1 0
1 1 1 0
Ejemplo 11.
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
(q ∧ p) ↔ (p ∧ q) es una tautologı́a.
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
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
P |= Q
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
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) → ⊥]
p∧q
Matemática Discreta. Área de Álgebra
q
Universidade da Coruña
p∨q
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
¬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
{p → q, ¬q} |= ¬p
Universidade da Coruñ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
{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
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:
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
H1 ∧ H2 ∧ · · · ∧ Hn |= C
Universidade da Coruña
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.
H1 ∧ H2 ∧ · · · ∧ Hn ∧ ¬C |= ⊥
H1 ∧ H2 ∧ · · · ∧ Hn → C es una tautologı́a
H1 ∧ H2 ∧ · · · ∧ Hn ∧ ¬C es una contradicción3
¬(H1 ∧ H2 ∧ · · · ∧ Hn → C) ≡ H1 ∧ H2 ∧ · · · ∧ Hn ∧ ¬C.
16 TEMA 1. LÓGICA Y ÁLGEBRAS DE BOOLE
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
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:
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
¬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
Las principales ventajas de las tablas semánticas respecto a las tablas de verdad son:
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.
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:
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
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:
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
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
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
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:
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:
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
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
∃x (P (x) ∧ R(x)) X
P (a) ∧ R(a) X
P (a)
R(a)
∃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) ∗
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
k
X
2i = 1 + 2 + · · · + 2k = 2k+1 − 1,
i=0
pn = 3pn−1 − 2pn−2
Matemática Discreta. Área de Álgebra
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 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
suma (+) y producto (·), y una operación unaria, complemento o inversión ( ), que cumplen los
siguientes axiomas:
a + 0 = a, a·1=a
a + ā = 1, a · ā = 0
a + b = b + a, a·b=b·a
a + (b + c) = (a + b) + c, a · (b · c) = (a · b) · c
a + (b · c) = (a + b) · (a + c), a · (b + c) = (a · b) + (a · c)
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
3. Leyes de Absorción: a + (a · b) = a y a · (a + b) = a
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.
a = a · 1 = a · (a + ā) = (a · a) + (a · ā) = (a · a) + 0 = a · a.
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
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:
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
Una función de Boole puede definirse mediante expresiones del álgebra de Boole o bien dando
su tabla de valores.
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.
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̄).
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.
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
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
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:
Nótese que las ramas abiertas proporcionan los modelos de la fórmula dada.
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):
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
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
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
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
x y z t
Matemática Discreta. Área de Álgebra
• 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
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:
1 0 1 1 0 1
x ȳ xy 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
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 ȳ = ȳ
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
para obtener x̄
y para obtener ȳ
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
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
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
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
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
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
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