Lógica de Proposiciones
Lógica de Proposiciones
Lógica de Proposiciones
Introducción
Los presentes apuntes contienen una introducción a la lógica proposicional y sus aplicaciones
orientada principalmente a carreras técnicas.
Para cualquier consulta o sugenrencia, puede ponerse en contacto con los autores en:
labra@lsi.uniovi.es ó anaisabel@lsi.uniovi.es
J. E. Labra G
Ana I. Fernández M.
Octubre, 1998
15/1/2012 http://lsi.uniovi.es/~labra/FTP/LPROP.pdf
1
Lógica Proposicional Introducción
Contenido
Introducción...............................................................................................................1
1. Lenguaje de la Lógica Proposicional......................................................................3
1.1. Alfabeto de la Lógica Proposicional......................................................3
1.2. Sintaxis de la Lógica Proposicional.......................................................3
1.3. Semántica de la Lógica Proposicional...................................................4
2. Equivalencia lógica ................................................................................................6
3. Consecuencia Lógica.............................................................................................7
4. Técnicas Semánticas de Estudio de Validez Proposicional......................................8
4.1. Tablas de Verdad ................................................................................8
4.2. Árboles Semánticos .............................................................................8
4.3. Demostraciones por Contradicción.......................................................9
4.4. Resolución Proposicional....................................................................10
4.4.1. Formas Normales .............................................................10
4.4.2. Algoritmo de Resolución Proposicional..............................12
4.4.3. Estrategias de resolución ...................................................16
4.4.3.1. Estrategias de Borrado.....................................16
4.4.3.1.1. Eliminación de cláusulas con literales puros.........16
4.4.3.1.2. Eliminación de tautologías..................................16
4.4.3.1.3. Eliminación de Subsunciones..............................17
4.4.3.2. Resolución unitaria ...........................................17
4.4.3.3. Resolución de Entrada .....................................18
4.4.3.4. Resolución Lineal.............................................18
4.4.3.5. Resolución Ordenada.......................................19
5. Teoría de la Prueba: Deducción Natural...............................................................22
6. Aplicación al diseño de Circuitos: Álgebra de Boole ............................................26
6.1. Introducción.......................................................................................26
6.2. Definición de álgebra de Boole y Teoremas ........................................26
6.3. Puertas Lógicas..................................................................................31
6.4. Funciones Booleanas..........................................................................31
6.4.1. Formas Canónicas ............................................................32
Transformación en forma canónica .................................33
6.4.2. Simplificación de funciones lógicas.....................................35
Método de Karnaugh.....................................................36
Funciones incompletas ...................................................39
7. Ejercicios............................................................................................................40
8. Soluciones...........................................................................................................45
Bibliografía...............................................................................................................48
Indice.......................................................................................................................49
2
Lógica Proposicional Lenguaje de la Lógica Proposicional
De manera informal, una proposición se define como una frase que puede ser considerada
Verdadera o Falsa y que no se puede descomponer en otras frases Verdaderas o Falsas.
Negación ¬p no p
es falso p
no es cierto p
Conjunción p∧q p yq
p pero q
p sin embargo q
p no obstante q
p a pesar de q
Constantes: VF
Variables o letras proposicionales: p, q, r, ...
Símbolos de Conectivas: ¬∧ ∨ →↔
Signos de puntuación: ()
3
Lógica Proposicional Lenguaje de la Lógica Proposicional
La teoría semántica de la lógica proposicional trata de atribuir significados (Verdadero o Falso) a las
distintas fórmulas del lenguaje. Dichos significados dependen del contexto particular en el que se utilice la
fórmu la. Cada contexto se denomina Interpretación.
Definición 1: Una interpretación de una fórmula F en lógica proposicional es una asignación de valores
{V, F} a cada una de las letras proposicionales de F. El valor de una proposición p bajo una
interpretación I se denota como VI ( p ) .
Definición 2: Dada una fórmula F y una interpretación I, el valor de F bajo I (denotado por VI ( F ) ) es:
V si V ( G ) = F
° Si F es de la forma ¬G entonces V I ( F ) = I
F si V I ( G ) = V
V si V I ( G ) = V I ( H ) = V
° Si F es de la forma G ∧ H entonces V I ( F ) =
F en caso contrario
F si V I ( G ) = VI ( H ) = F
° Si F es de la forma G ∨ H entonces V I ( F ) =
V en caso contrario
F si V I ( G ) = V y V I ( H ) = F
° Si F es de la forma G → H entonces V I ( F ) =
V en caso contrario
V si V I ( G ) = V I ( H )
° Si F es de la forma G ↔ H entonces V I ( F ) =
F en caso contrario
Es posible establecer una clasificación de las fórmulas proposicionales en función de los valores que
tomen bajo las diferentes interpretaciones, de esta forma una fórmula F se clasifica en:
Válida ó Tautología: Todas las interpretaciones son un modelo (Para toda interpretación I, VI ( F ) = V )
4
Lógica Proposicional Lenguaje de la Lógica Proposicional
Insatisfacible: Ninguna interpretación es un modelo (No existe una interpretación I tal que VI ( F ) = V )
Una fórmula puede ser: satisfacible o insatisfacible. Un tipo especial de fórmula satisfacible, es
aquella que toma siempre valor V (es válida). Por tanto, las fórmulas válidas son un subconjunto de las
satisfacibles.
NOTA: A lo largo de estos apuntes se utilizará un formato lineal para las demostraciones promovido por E.
W. Dijkstra [Dijkstra, 90]. En este formato, las líneas impares contienen los principales pasos de la
demostración y las líneas pares, comentarios para pasar de un paso a otro.
5
Lógica Proposicional Equivalencia lógica
2. Equivalencia lógica
Definición 4: Se dice que dos fórmulas A y B son equivalentes lógicamente (se denota por A ≡ B ó
A ⇔ B ) si para toda interpretación I, se cumple que VI ( A ) = VI ( B )
A continuación se presenta una tabla con una serie de equivalencias de uso común y de fácil
demostración
Supresión de Implicación: A → B ≡ ¬ A ∨ B
Contraposición: A → B ≡ ¬B → ¬ A
Supresión de Doble Implicación: A ↔ B ≡ ( A → B ) ∧ ( B → A)
Absorción A ∧ ( B ∨ A) ≡ A A ∨ ( B ∧ A) ≡ A
A∧F ≡ F A∨V ≡ V
Elemento neutro A∧V ≡ A A∨F ≡ A
E. Complementario Contradicción Medio Excluido
A ∧ ¬A ≡ F A ∨ ¬A ≡ V
Idempotencia A∧ A ≡ A A∨ A ≡ A
Commutativa A∨ B ≡ B ∨ A A∧ B ≡ B ∧ A
Asociativa A ∧ ( B ∧ C) ≡ ( A ∧ B) ∧ C A ∨ ( B ∨ C ) ≡ ( A ∨ B) ∨ C
Distributiva A ∨ ( B ∧ C ) ≡ ( A ∨ B) ∧ ( A ∨ C) A ∧ ( B ∨ C ) ≡ ( A ∧ B) ∨ ( A ∧ C)
De Morgan ¬( A ∨ B) ≡ ¬A ∧ ¬B ¬( A ∧ B) ≡ ¬A ∨ ¬B
Doble Negación ¬¬ A ≡ A
(Involución)
Con el teorema anterior, si se sabe que X es válida, para demostrar que Z es válida se podrá utilizar el
formato: X
≡ {...}
Y
≡ {...}
Z
6
Lógica Proposicional Consecuencia Lógica
3. Consecuencia Lógica
Definición 5: Sea C un conjunto de fórmulas {P , P ,L P }
1 2 n y sea Q una fórmula. Se dice que Q es
consecuencia lógica del conjunto C de premisas (se denotará C ⇒ Q ) si toda interpretación que es un
modelo de C es también un modelo de Q .
7
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
Definición 6: Una tabla de verdad es una representación en forma de árbol del valor de una fórmula en
todas las posibles interpretaciones.
Por ejemplo, para calcular el valor de verdad de la fórmula F = p→q ↔ ¬p∨q , la tabla de verdad
consiste en representar las 4 posibles interpretaciones y evaluar la fórmula en dichas interpretaciones
p q p→q ↔ ¬p∨q
F F V
F V V
V F V
V V V
El número de posibles interpretaciones de una fórmula F es 2n donde n es el número de variables
proposicionales de F. Por tanto, este método tiene una complejidad exponencial que complica su
utilización para fórmulas complejas
Definición 7: Un árbol semántico es una técnica similar a las tablas de verdad que puede simplificar la
evaluación de algunas fórmulas.
Inicialmente, se forma el conjunto LP de letras proposicionales de la fórmula. Se construye un nodo inicial
del árbol que se tomará como nodo actual y se aplica el siguiente procedimiento:
1.- Se intenta evaluar la fórmula en el nodo actual.
2.- Si es posible asignar a F un valor {V, F} se etiqueta el nodo con dicho valor y se finaliza el tratamiento
del nodo actual.
3.-En caso.contrario: - Se Selecciona la primera letra proposicional p del conjunto LP
- Se Borra p de LP.
- Se Construyen dos ramas, una correspondiente a p interpretado con valor V
(identificada como p) y la otra correspondiente a p con valor F (identificada
como ¬p ).
Ejemplo 2: Dada la fórmula (p→q) →(¬p→¬q). Seleccionando los literales por orden alfabético, se obtiene
el árbol semántico:
p ¬p
V
q ¬q
F V
Como puede observarse, no ha sido necesario evaluar las interpretaciones p=V, q=V y p=V, q=F.
8
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
Para demostrar que una fórmula F es válida por contradicción se realiza lo siguiente:
1.- Se supone que existe una interpretación I tal que VI(F) = F y se intentan calcular los diversos valores de
la fórmula.
2.- Si se llega a una contradicción:
Entonces: ¬∃I VI(F) = F ⇒ ∀I VI(F) = V ⇒ F es válida
En Caso Contrario: ∃I VI(F) = F ⇒ F no es válida
Este tipo de demostraciones se suelen representar etiquetando la fórmula con valor F y evaluando
posibles valores hasta que se llegue la contradicción.
144424443
V
F
Contradicción
A la hora de evaluar una conectiva pueden aparecer varias alternativas. Conviene recordar que:
Para poder asegurar que F es válida debe llegarse a contradicción por todas las alternativas
A ↔ B∧B ↔C → A↔ C A ↔ B∧B ↔C → A↔ C
1
V 23V V
1 23V V
1 23V 1
F 23F F
1 23F F
1 23F
1442443
V V 123
V 1442443
V V 12V 3
9
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
Definición 12: Una fórmula F está en Forma Normal Conjuntiva (FNC) si es una conjunción de la forma
m ni
F1 ∧ F2 ∧L∧ Fn donde cada Fi es una disyunción de literales. Se representa como ∧ ∨ lij
i =1 j =1
10
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
(A ∧ B) ∨ A ≡ A
Ejemplo 8: Para transformar la fórmula ¬(p→q)↔p∨r a Forma Normal Conjuntiva, se pueden emplear los
siguientes pasos:
¬(p→q)↔p∨r
≡ { Eliminación ↔ }
(¬ (p → q) → p ∨ r) ∧ ( (p ∨ r) → ¬(p → q))
≡ { Eliminación → }
(¬ (¬ (¬p ∨ q) ∨ p ∨ r) ∧ ( ¬ (p ∨ r) ∨ ¬(¬ p ∨ q))
≡ { Eliminación doble negación }
(¬p ∨ q ∨ p ∨ r ) ∧ ( ¬ (p ∨ r) ∨ ¬(¬ p ∨ q))
≡ { Eliminación disyunción con literal y su opuesto }
( ¬ (p ∨ r) ∨ ¬(¬ p ∨ q))
≡ { De Morgan }
(¬p ∧ ¬ r) ∨ (¬¬p ∧ ¬ q)
≡ { Eliminación doble negación }
(¬p ∧ ¬ r) ∨ (p ∧ ¬ q)
≡ { Distributiva ∨ }
((¬p ∧ ¬ r) ∨ p) ∧ ((¬p ∧ ¬ r) ∨ ¬ q)
≡ { Distributiva ∨ }
(¬p ∨ p) ∧(p ∨¬ r) ∧ (¬p∨¬q) ∧ (¬ q∨¬ r)
≡ { Eliminación disyunción con literal y su opuesto }
(p ∨¬ r) ∧ (¬p∨¬q) ∧ (¬ q∨¬ r)
Definición 16: Una cláusula sin literales se denomina cláusula vacía, se representa por y su valor es
siempre Falso.
Definición 17: Una cláusula que tiene a lo sumo un literal positivo, se denomina cláusula Horn. Una
cláusula Horn será de la forma: A ∨ ¬B1 ∨ ¬ B2 ∨L∨¬ Bn .
Si n=0, se denomina hecho, si no existe literal positivo (no existe A) entonces se denomina objetivo y,
finalmente, si n>0 y existe literal positivo, se denomina regla.
El algoritmo se basa en una regla de inferencia sencilla y, a la vez de gran potencia: la regla de resolución.
Puesto que se utiliza una sola regla, el algoritmo es fácil de analizar e implementar.
11
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
La idea del principio de resolución es simple: Si se sabe que se cumple: "P ó Q" y también se sabe que se
cumple "no P ó R" entonces se puede deducir que se cumplirá "Q ó R".
Ejemplo 10: Si se tiene: "Gana o Pierde o Empata" y "Si Gana entonces da una Fiesta o Va de Viaje". Se
puede deducir que: "O Pierde o Empata o da una Fiesta o va de Viaje".
Formalizando, la primera frase sería: G ∨ P ∨ E y la segunda: G → F ∨ V ≡ ¬G ∨ F ∨ V
La regla de resolución inferirá: P ∨ E ∨ F ∨ V
Definición 18: Dadas dos cláusulas C1 y C2 tales que exista un literal l de forma que l ∈ C1 y ¬ l ∈ C2 , se
denomina resolvente de C1 y C2 respecto a l a la cláusula:
( ) (
Rl ( C1, C2 ) = C1 − {l} ∪ C2 − {¬ l} . )
Se dice que C1 y C2 son cláusulas resolubles.
14444442444444 V 3
144444444444 V 42444444444444 3
F
Contradicción
Puesto que se llega a una contradicción, la fórmula no puede ser Falsa y será siempre verdadera, es decir,
la fórmula es Válida. n
Teorema 7: Dadas dos cláusulas C1 y C2 pertenecientes a un conjunto C y resolubles respecto un literal l,
entonces: C ≡ C ∪ Rl (C1 , C 2 ) .
Dem: Recordando que un conjunto de cláusulas equivale a forma normal conjuntiva, C ∪ Rl (C1 , C 2 )
es lo mismo que C ∧ Rl (C1 , C 2 ) . La demostración es:
C
≡ { Absorción A ≡ A ∧ B }
C ∧ Rl (C1 , C 2 )
12
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
1.- Buscar dos cláusulas C1 , C2 ∈ C tales que exista un literal l que cumple que l ∈ C1 y ¬ l ∈ C2
2.- Si se encuentran:
3.- Calcular Rl ( C1 , C2 ) y añadirlo al conjunto C
Dem: P1 , P2 , L , Pn ⇒ Q
⇔ { Teorema 4}
P1 ∧ P2 ∧ L ∧ Pn → Q es válida
⇔ { Teorema 1}
¬( P1 ∧ P2 ∧ L ∧ Pn → Q ) es insatisfacible
{P , P
1
c
2
c
}
,L Pnc , ¬ Q c es insatisfacible
13
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
p ¬p
( p)
q ¬q F
F ( ¬p ∨ q )
r ¬r
F ( ¬r ) F ( ¬p ∨ ¬q ∨ r )
Lema 1: Si un conjunto de cláusulas es insatisfacible, entonces el árbol semántico es finito y está limitado
por nodos de fallo, se denomina, en ese caso, árbol de fallo.
Lema 2: Cada nodo de fallo n falsifica al menos a una de las cláusulas del conjunto que será la cláusula
asociada a n.
Lema 3: La cláusula C asociada a un nodo de fallo n contiene un subconjunto de los complementos de los
literales que aparecen en la rama que va desde la raíz del árbol semántico hasta n.
Dem: Puesto que la cláusula C es falsificada en el nodo n, todos sus literales deben tener asignado un
valor en la interpretación parcial correspondiente a n. Además, el valor de esos literales debe ser F (puesto
que C es una disyunción). El valor asignado debe ser el complementario. n
Definición 19: Se denomina nodo de inferencia a un nodo del árbol semántico cuyos dos hijos son nodos
de fallo.
Lema 4: En un árbol de fallo, salvo que sólo tenga un nodo, debe existir al menos un nodo de inferencia.
Dem: Puesto que el árbol de fallo es finito y las ramas se desarrollan de dos en dos, necesariamente
tendremos un último nodo desarrollado con dos hijos. n
Lema 5: Si el árbol semántico de un conjunto de cláusulas es de fallo y contiene un sólo nodo, entonces
dicho conjunto contiene la cláusula vacía.
Lema 6: Un nodo de inferencia i indica un paso de resolución de las cláusulas asociadas a sus dos hijos.
El resolvente de dichas cláusulas es falsificado por el nodo i y, ocasionalmente, por alguno de sus
antecesores.
Dem: En un nodo de inferencia i cualquiera, se tendrá un esquema como el que sigue:
14
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
( p) ( ¬ p)
p= V p= F
j k
F (C j ) F (C k )
- Puesto que el nodo i no falsificó C j y lo único que cambia en el nodo j respecto a i es el valor de p, la
cláusula C j debe contener el literal ¬ p (complementado para que sea Falso).
- Por la misma razón anterior, la cláusula Ck debe contener el literal p (sin complementar para que sea
Falso)
Por tanto C j y Ck son resolubles respecto a p. El esquema será:
C j = ¬ p ∨ resto_ C j
R p ( C j , Ck ) = resto_ C j ∨ resto_ Ck
Ck = p ∨ resto_ Ck
En el nodo j, C j toma valor Falso, por tanto resto_ C j tomará también valor Falso, como resto_ C j no
contiene el literal p también tomarán valor Falso en el nodo i. De la misma forma, resto_ Ck tomará valor
Falso en el nodo i. Por tanto, R p ( C j , Ck ) = resto_ C j ∨ resto_ Ck tomará valor Falso en el nodo i, es decir,
el nodo i, es un nodo de fallo para el resolvente de C j y Ck
En ocasiones, puede ocurrir que el resolvente sea falsificado también por alguno de los padres del nodo de
inferencia, como ejemplo, considérese el conjunto de cláusulas { p, ¬ p ∨ q, ¬ r, ¬ p ∨ r} , el árbol
semántico, junto con los resolventes sería:
¬p
p
( ¬ p)
F (p)
q ¬q
F ( ¬ p ∨ q)
r ¬r
F (¬ r ) F (¬ p ∨ r )
El resolvente de los nodos 6 y 7 es ( ¬ p ) que falsifica al nodo 4 pero también falsifica a su antecesor, el
nodo 2. n
Teorema 10 (Completud del Algoritmo de Resolución Proposicional): Si un conjunto de cláusulas es
insatisfacible entonces, aplicando el algoritmo de resolución, se alcanza la cláusula vacía.
Dem: C es un conjunto de cláusulas insatisfacibles
⇔ {Lema 1}
El árbol semánttico de C será un árbol de fallo
⇔ {Lema 4}
∃ un nodo de inferencia i
⇔ {Lema 6, un nodo de inferencia indica un paso de resolución }
Se puede formar el resolvente con las cláusulas asociadas a los dos hijos i
El resolvente puede añadirse al conjunto C y construir de nuevo el árbol semántico
15
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
Repitiendo el proceso se llegará a un árbol semántico con un solo nodo que corresponderá a la
cláusula vacía {Lema 5} y, por tanto, queda demostrado que se alcanza la cláusula vacía por
resolución.
Durante el desarrollo del algoritmo es necesario responder las siguientes preguntas: ¿Qué dos
cláusulas se seleccionan? y ¿sobre qué literales se realiza la resolución?.
Las distintas estrategias de resolución tratan de responder a ambas preguntas de forma que se
mantenga la completud (si el conjunto es insatisfacible, alcanzar la cláusula vacía) y que se obtenga un
comportamiento eficiente.
Una de las desventajas de la utilización de la reglas de resolución sin ninguna restricción consiste
en que se pueden seleccionar cláusulas cuyo resolvente no sea útil en el camino de búsqueda de la
cláusula vacía. Se observa que muchas veces los resolventes son redundantes o no aportan ninguna
utilidad para la búsqueda. A continuación se mencionan una serie de estrategias que servirán para eliminar
el trabajo inútil.
Una estrategia de borrado será una técnica en la cual se eliminan una serie de cláusulas antes de
que sean utilizadas. Si dichas cláusulas no van a aportar nada para la búsqueda de la cláusula vacía, su
eliminación permitirá un ahorro computacional.
Definición 20: Una tautología es una cláusula que contiene el mismo literal en su forma directa e inversa.
Ejemplo 15: La cláusula p ∨ ¬ q ∨ r ∨ ¬ p es una tautología.
16
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
un conjunto de cláusulas para que no intervengan en el proceso de búsqueda sin alterar la satisfacibilidad
del conjunto.
Definición 21: Una cláusula C subsume a una cláusula D si y sólo si todo literal de C pertenece también a
D, es decir, C ⊆ D.
Ejemplo 16: La cláusula p ∨ ¬ q subsume a la cláusula p ∨ ¬ q ∨ r .
Debido a la ley de absorción, un conjunto de cláusulas en el que se eliminan todas las cláusulas
subsumidas es equivalente al conjunto original. Las cláusulas subsumidas pueden ser, por tanto,
eliminadas.
Es necesario observar que, durante el desarrollo del proceso de resolución, se pueden generar resolventes
de cláusulas que sean tautologías o cláusulas subsumidas. Las estrategias de borrado deberán chequear
el conjunto de cláusulas original así como los distintos resolventes generados en cada resolución.
Definición 22: Un resolvente unitario es un resolvente en el cual al menos uno de sus padres es una
cláusula unitaria (con un sólo literal).
Una estrategia de resolución unitaria es una aplicación del algoritmo de resolución en la cual todos los
resolventes son unitarios.
Obsérvese que los resolventes generados son un subconjunto de los que se podrían generar mediante la
resolución sin restricciones. Por ejemplo, las cláusulas 1 y 2 podrían haberse seleccionado para obtener
q ∨ r . Sin embargo ni esa cláusula ni sus descendientes podrán ser generados porque ninguna de las
cláusulas que la generan es unitaria.
Los procedimientos de resolución basados en resolución unitaria son sencillos de implementar y,
normalmente, bastante eficientes. Obsérvese que si una cláusula es resuelta con una cláusula unitaria, su
resolvente tiene menos literales que la cláusula original. De esa forma los procedimientos siguen una
búsqueda directa hacia la cláusula vacía ganando en eficiencia.
Desafortunadamente, los procedimientos de inferencia basados en resolución unitaria no son, en general,
completos. Por ejemplo, el conjunto C = { p ∨ q, ¬ p ∨ q, p ∨ ¬ q, ¬ p ∨ ¬ q} es insatisfacible, sin embargo,
la resolución unitaria no encontrará la cláusula vacía porque ninguna de las cláusulas es unitaria.
Por otro lado, restringiendo el formato de cláusulas a cláusulas Horn (cláusulas con un literal positivo
como máximo) se puede demostrar que si un conjunto de cláusulas Horn es insatisfacible, entonces se
llegará a la cláusula vacía aplicando la estrategia de resolución unitaria.
Definición 23: Un resolvente de entrada es un resolvente en el cual al menos uno de sus padres es una
cláusula del conjunto original de entrada.
Una estrategia de resolución de entrada es una aplicación del algoritmo de resolución en la cual todos los
resolventes son de entrada.
17
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
Se puede demostrar que la resolución unitaria y la resolución de entrada tienen el mismo poder de
inferencia en el sentido de que si con una estrategia se puede alcanzar la cláusula vacía, con la otra
también.
Una consecuencia de lo anterior es que la resolución de entrada es completa para cláusulas Horn, pero
incompleta en general. Como contraejemplo, se puede tomar el del apartado anterior.
La resolución lineal (también conocida como resolución con filtrado de antepasados) es una ligera
generalización de la resolución de entrada. Se escoge una cláusula inicial o cláusula cabeza C0 y se forma
una cedena de resolventes R0 , R1 , R3 , L, Rn donde:
R0 = C 0
Ri + 1 = R( Ri , Ci ) tal que Ci ∈ C ó Ci = R j ( j ≤ i)
La resolución lineal toma su nombre del aspecto lineal que presentan las inferencias realizadas. Una
resolución lineal comienza con una cláusula del conjunto inicial y produce una cadena lineal de
resoluciones como la que se muestra en la figura para el conjunto de cláusulas
C = { p ∨ q, ¬ p ∨ q, p ∨ ¬ q, ¬ p ∨ ¬ q} . Obsérvese que cada resolvente, después del primero, se obtiene
del resolvente anterior y de alguna otra cláusula del conjunto.
p∨q ¬p∨ q p ∨ ¬q ¬p∨ ¬q
¬q q
Resolución Lineal
La resolucióon lineal evita muchas resoluciones inútiles centrándose en cada paso en los antepasados de
una cláusula y en los elementos del conjunto inicial.
Los resultados obtenidos aplicando resolución para una determinada cláusula cabeza se pueden mostrar
en forma de árbol de resolución. La raíz del árbol es la cláusula cabeza y se forman los nodos
descendientes según las cláusulas con las que se pueda resolver. El árbol de resolución para el ejemplo
anterior sería:
18
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
1: p ∨ q
2p 3 qp 4p 4p
5: q 6: p 7: q∨ ¬ q 8:p ∨¬ p
Tautología Tautología
3q 4q 2p 4p
2p 4q
13: q 14: ¬ q
1q 2q 5q
15: p 16: ¬ p r
Árbol de resolución
En la figura se representan las resoluciones indicando el número de cláusula y el literal por el que se
resuelve. A cada resolvente se le asigna un nuevo número. Obsérvese que pueden existir caminos infinitos
(el camino más a la izquierda), caminos que llevan a tautologías y caminos de éxito que alcanzan la cláusula
vacía.
Se puede demostrar que la resolución lineal es completa. Para cualquier conjunto de cláusulas
insatisfacibles, aplicando resolución lineal, se alcanza la cláusula vacía.
Debido al siguiente teorema, no siempre es necesario probar con todas las cláusulas del conjunto inicial
como cláusulas cabeza.
Teorema 11: Si un conjunto de cláusulas S es satisfacible y S ∪ C es insatisfacible, entonces se
encuentra la cláusula vacía mediante resolución lineal tomando como cláusula cabeza una cláusula del
conjunto C.
El teorema anterior tiene aplicación al estudio de los razonamientos, en los cuales las premisas son, por lo
general, satisfacibles. Si al añadir las cláusulas resultantes de negar la conclusión el conjunto resultante es
insatisfacible (y el razonamiento es correcto) entonces, según el teorema anterior basta con probar como
cláusula cabeza con las que resultaron de negar la conclusión.
La resolución ordenada o selectiva es una estrategia de resolución muy restrictiva en la cual cada
cláusula se toma como un conjunto de literales ordenados. La resolución sólo se realiza con el primer literal
de cada cláusula. Los literales del resolvente mantienen el orden de las cláusulas padre con los literales del
padre positivo (la cláusula que contenía el literal por el que se resuelve afirmado) seguidos de los literales
del padre negativo (la cláusula que contenía el literal por el que se resuelve negado).
19
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
La cláusula 5 es el único resolvente ordenado entre las cláusulas 1 y 4. Las cláusulas 1 y 3 no resuelven
puesto que sus literales complementarios no son los primeros. Por la misma razón tampoco resuelven las
cláusulas 2 y 4 ni las cláusulas 3 y 4. Una vez generada la cláusula 5, resuelve con la cláusula 3 para
producir la cláusula 6, la cual resuelve con la cláusula 4 para producir la cláusula vacía.
La resolución ordenada es la más eficiente (en el ejemplo, se obtuvo la cláusula vacía en el tercer paso de
resolución). Desafortunadamente, la resolución ordenada no es completa. Sin embargo, se ha demo strado
que la resolución ordenada sí es completa para cláusulas Horn.
Tras este breve repaso de las principales estrategias de resolución, cabe reseñar que los principales
sistemas de demostración automática basados en el principio de resolución (por ejemp lo, los sistemas
Prolog) utilizan una combinación de las dos últimas estrategias restringidas a conjuntos de cláusulas
Horn 1.
1
Los sistemas Prolog utilizan la resolución lineal ordenada para cláusulas Horn en lógica de
predicados. Conocida como resolución SLD (Selective Linear Resolution for Definite Clauses).
20
Lógica Proposicional Técnicas Semánticas de Estudio de Validez
21
Lógica Proposicional Teoría de la Prueba: Deducción Natural
En esta sección se presenta el estilo de deducción natural, desarrollado por Gentzen en 1935 y cuyo
principal objetivo es ofrecer un sistema que se acerque a las técnicas de demostración habituales. La
deducción natural no contiene axiomas y ofrece una serie de reglas de inferencia por cada tipo de
conectiva. Las reglas de inferencia se presentan en la siguiente tabla.
A B A ∧ B A ∧ B
∧ -I ∧ -E
A ∧ B A B
A → B B → A A ↔ B A ↔ B
↔ -I ↔ -E
A ↔ B A → B B → A
B ∧ ¬ B B ∧ ¬ B
¬ -I ¬ -E
¬ A A
¬ A ∨ A V
V -I V -E
V ¬ A ∨ A
A ∧ ¬ A F
F -I F -E
F A
Las reglas de la forma • - I se refieren a la inclusión del símbolo • y las reglas de la forma • - E se
refieren a la eliminación de dicho símbolo.
22
Lógica Proposicional Teoría de la Prueba: Deducción Natural
1 p∧q Premisa
2 q ∧-E 1
3 p ∧-E 1
4 q∧p ∧-I 2,3
Para el estudio de razonamientos de la forma {P1, P2, ...Pn} ⇒ Q se parte de las premisas y se intenta
llegar a la conclusión.
B
→ - I
A → B
Esta regla enuncia que, si se supone A y se llega a demostrar B, entonces, se puede deducir la
fórmula A → B.
23
Lógica Proposicional Teoría de la Prueba: Deducción Natural
24
Lógica Proposicional Teoría de la Prueba: Deducción Natural
25
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
6.1. Introducción
George Boole (1815-1864) presentó el primer tratamiento sistemático de la lógica y para ello,
desarrolló un sistema algebraico, conocido ahora como Álgebra de Boole. Además de sus aplicaciones al
campo de la lógica, el álgebra de Boole ha tenido dos aplicaciones importantes: el tratamiento de conjuntos
mediante las operaciones de unión e intersección que ha servido de base a la teoría de la probabilidad y el
diseño de circuitos digitales combinacionales.
Definición 24: Un álgebra de Boole es una estructura de la forma {A, +, × , -, 0,1} siendo A un conjunto en
el que se definen las siguientes operaciones:
En el caso más sencillo, el conjunto A tiene como únicos elementos a los neutros de las
operaciones, A={ 0 , 1 }. Esto quiere decir que las variables sólo pueden tomar los valores 0 o 1. En este
caso, el álgebra de Boole se dice que es bivaluada.
26
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
Ejemplo 29: Dado un conjunto C, la estructura {2C, ∪, ∩, -, C, ∅ }, donde 2C es el conjunto de todos los
subconjuntos de C, ∪, ∩ y - son las operaciones de unión, intersección y complementario entre conjuntos
y ∅ es el conjunto vacío, tiene estructura de álgebra de Boole
Ejemplo 30: La estructura {A, ⊗, ⊕, ', 0, I} donde A contiene los elementos: {0, 1, S, S' } y las operaciones
se definen mediante las siguientes tablas, también tiene estructura de álgebra de Boole
Ejemplo 31: Dado un número natural n, la estructura {Dn, mcm, mcd, (n/), n, 1 } donde Dn es el conjunto de
divisores de n, mcm y mcd son el mínimo común múltiplo y (n/) x = n / x tiene estructura de álgebra de
Boole.
Teorema 12 (Principio de dualidad): Cada identidad deducida de los postulados del álgebra de Boole
permanece válida si se intercambian las operaciones + y ×, y los valores 0 y 1.
De manera informal, este teorema puede demostrarse indicando que, puesto que los postulados son todos
simétricos y cumplen la propiedad de dualidad, todo lo que se deduzca de ellos, cumplirá también dicha
propiedad.
27
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
a + a´a
= { distributiva + }
(a + a) × (a + a )
= { inverso + }
(a + a) ´ 1
= { neutro × }
a+a
Teorema 15 (Absorción) a +a × b=a ∀a,b ÎA
a × (a + b) = a [Dual]
Demostración
a
= { neutro × }
1× a
= { dominación + }
(1 + b) × a
= { distributiva × }
1× a +b × a
= { neutro × }
a + a ´b
Teorema 16 (Asociativa). a + (b + c) = (a + b) + c = a + b + c "a,b,c ÎA
a ´ (b ´ c) = (a ´ b) ´ c = a ´ b ´ c [Dual]
Demostración: Se demostrarán dos teoremas auxiliares TA1 y TA2:
TA1: a × ((a + b) + c) = a × (a + (b + c))
a × ((a + b) + c)
= { distributiva × }
a × (a + b) + a × c
= { absorción × }
a+a×c
= { absorción + }
a
= { absorción ×, b / b+c }
a × (a + (b + c))
28
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
= {neutro × }
((a + b) + c) × 1
= { inverso + }
((a + b) + c) × (a + a )
= { distributiva ×, conmutativa }
a × ((a + b) + c) + a × ((a + b) + c)
= { TA1 }
a × (a + (b + c)) + a × ((a + b) + c)
= { TA2 }
a × (a + (b + c)) + a × (a + (b + c))
= { distributiva × }
(a + a ) × (a + (b + c))
= { inverso + }
1 × (a + (b + c))
= { neutro × }
a + (b + c)
Teorema 17. (Unicidad del complementario) El elemento a asociado a un elemento a en un álgebra de
Boole es único, es decir, existe un único elemento, x, que cumple la propiedad de elemento inverso, es
decir, que cumpla que : a + x = 1 y a ´ x = 0
Demostración:
Supóngase que existen dos elementos x e y que cumplen la propiedad:
a+x=1 (H1)
a ´x = 0 (H2)
a+y=1 (H3)
a ´y = 0 (H4)
x
= { neutro × }
1× x
= { H3 }
(a + y) × x
= { distributiva × }
a × x+y× x
= { H2 }
0+ y× x
= { H4 }
a × y+y× x
= { distributiva ×, conmutativa × }
(a + x) × y
= { H1 }
1× y
= { neutro × }
y
Concluyendo que x e y son el mismo elemento
Teorema 18 (Involución). a = a ∀ a ÎA
Demostración: A partir del teorema anterior, cualquier x que cumpla que a + x = 1 y que a × x = 0 es
igual a a . Suponiendo que dicho x es a, se demuestra:
a +a a×a
= { conmutativa + } = { conmutativa × }
a+ a a´a
= { inverso + } = { inverso × }
1 0
Por tanto, a = a
29
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
Demostración
Se realizará en dos partes: En la primera parte se demostrará para dos variables, y la segunda parte,
se generaliza el resultado para n variables.
(a + b)´ a × b
= { distributiva × }
a´ a × b + b´ a × b
= { conmutativa ×, inverso × }
0×b +0× a
= { dominación × }
0+0
= { neutro + }
0
La demostración para n variables se realizaría de la siguiente forma:
a + b + c + ...
= { Sea p = b + c+ ... }
a+ p
= { De Morgan (2 variables) }
a × p
= { Deshaciendo }
a × b + c + ...
= { repitiendo el proceso anterior hasta sacar todas las variables }
a × b × c × ...
Un circuito digital es un circuito electrónico cuyas entradas y salidas sólo pueden tomar dos
niveles distintos de tensión. Desde el punto de vista del diseño, estos niveles de tensión se representan
como 1 (verdadero) ó 0 (falso). Un circuito combinacional se caracteriza por ser un sistema sin memoria:
el valor de las salidas en cada instante depende sólo del valor de las entradas en ese momento.
30
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
Las diferentes conectivas pueden representarse mediante las siguientes puertas lógicas.
a a
b a× b b a+ b a a
a b
Puerta NAND Puerta NOR Puerta XOR (O-Exclusiva)
a a a
b a× b b a+b b a⊕ b
Mediante la utilización de puertas NAND ó NOR pueden implementarse el resto de operaciones. A modo
de ejemplo, se muestra cómo se implementa mediante puertas NAND las operaciones a , a + b ,a × b
a
= { idempotencia ×} a
a×a a = a× a
a+b
= { involución } a a
a+b a× b
= { De Morgan + } b b
a×b b
a×b
a
= { { involución }
a× b
a×b
b b
Definición 25. Una variable booleana es una variable que toma únicamente dos valores 0 ó 1.
Definición 26. Una función Booleana es una expresión algebraica que relaciona variables Booleanas por
medio de las operaciones +, ×, y −.
Definición 27. Un término canónico de una función booleana f es una expresión formada por el producto
(o la suma) de todas las variables de f en su forma directa o inversa. Cuando el término canónico es un
producto, se conoce como MINTERM o producto canónico. Cuando es una suma, se conoce como
MAXTERM o suma canónica.
31
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
Para representar los términos canónicos de una función se utiliza el siguiente convenio: se asigna un 1 a
las variables en forma directa y un 0 a las variables en forma inversa. Cada término se representa utilizando
el valor decimal de la combinación binaria resultante.
a + b + c + d ≡ 1001 2 ≡ 910
Definición 28. Una función está en forma canónica si es una suma de productos canónicos o un producto
de sumas canónicas.
Cuando la función es una suma de productos canónicos, se utiliza el símbolo ∑, mientras que para un
producto de sumas canónicas se utiliza el símbolo ∏.
f ( a , b , c) = a bc + abc + a b c = ∑ ( 2,6,0)
3
g ( a, b, c ) = ( a + b + c )( a + b + c)( a + b + c) = ∏ (0,5,7)
3
Demostración:
Puesto que una función booleana trabaja únicamente con variables Booleanas y estas variables sólo
pueden tomar los valores 0 ó 1, es suficiente demostrar la igualdad para a = 0 y luego para a = 1
1.- Sea a = 0
a ´ f(1,b,c...) + a × f(0,b,c...)
= { a = 0, a = 1 }
0´ f(1,b,c...) + 1× f(0,b,c...)
= { neutro ´, dominación ´ }
0 + f(0,b,c...)
= { neutro + }
f(0,b,c...)
={a=0}
f(a,b,c...)
2.- Sea a = 1
a ´ f(1,b,c...) + a × f(0,b,c...)
= { a = 1, a = 0 }
1´ f(1,b,c...) + 0× f(0,b,c...)
= { neutro ´, dominación ´ }
f(1,b,c...)+ 0
= { neutro + }
f(1,b,c...)
={a=1}
f(a,b,c...)
La otra igualdad se demuestra por dualidad
32
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
Multiplicando (o sumando) las expresiones anteriores por a (ó a ) se obtienen las siguientes igualdades:
a × f(a,b,c...) = a × f(1, b, c...)
a × f(a,b,c...) = a × f(0, b, c...)
a + f(a,b,c...) = a + f(0, b,c...)
a + f(a,b,c...) = a + f(0, b,c...)
Las anteriores igualdades tienen una aplicación importante para la simplificación de funciones
abc + a (a × b + a × c + a × b × c )
= { a f(a,b,c...) = a f(0,b,c....) }
abc + a ( 0 × b + 0 × c + 0 × b × c )
= { neutro ×, 0 =1 }
abc + a ( 0 + 1× c + 0)
= { neutro +, neutro × }
abc + a c
Teorema 21. Toda función lógica puede transformarse en una función equivalente en forma canónica.
Demostración.
f(a,b,c...)
= { Teorema 20, sacando a}
a ´ f(1,b,c...) + a × f(0,b,c...)
= { Teorema 20, sacando b }
a ´ (b ´ f(1,1,c...) + b × f(1,0,c...) ) + a × (b ´ f(0,1,c...) + b × f(0,0,c...))
= { Distributiva × }
a ´ b ´ f(1,1,c...) +a ´ b × f(1,0,c...) + a × b ´ f(0,1,c...) + a × b × f(0,0,c...)
= ...{ repitiendo el proceso con el resto de variables }
a ´ b ´ c´ f(1,1,1...) + a ´ b ´ c × f(1,1,0...) +
a ´ b ´ c´ f(1,0,1...) + a ´ b ´ c × f(1,0,0...) +
a ´ b ´ c´ f(0,1,1...) + a ´ b ´ c × f(0,1,0...) +
a ´ b ´ c´ f(0,0,1...) + a ´ b ´ c × f(0,0,0...)
Las expresiones f(...) toman valores 0 ó 1 dependiendo de la función particular. Cuando toman valor 1,
el término canónico correspondiente permanece, mientras que si toman valor cero, el término desaparece.
Con lo cual, cualquier función puede expresarse en forma canónica.
f(a,b,c...) =
( a + b + c + f(0,0,0...)) ´ ( a + b + c + f(0,0,1...)) ´
( a + b + c + f(0,1,0...)) ´ (a + b + c + f(0,1,1...)) ´
( a + b + c + f(1,0,0...)) ´ ( a + b + c + f(1,0,1...)) ´
( a + b + c + f(1,1,0...)) ´ ( a + b + c + f(1,1,1...))
33
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
Obsérvese que en producto de sumas, los términos canónicos permanecen cuando la función toma valor
cero y desaparecen cuando toma valor 1. Además, los términos no corresponden de forma directa, sino
que cuando la variable está en forma directa, le corresponde un 0 y cuando está en forma inversa, un 1.
El teorema anterior ofrece un método para obtener la expresión canónica de una función a partir de la tabla
de verdad
Suma de productos: Toman términos en los que la función vale 1 numerando de arriba abajo
Producto de Sumas: Tomar términos en los que la función vale 0 numerando de abajo a arriba
Ejemplo 37. A partir de la siguiente tabla de verdad, expresar en forma de suma de productos y producto
de sumas:
a b c f(a,b,c)
0 0 0 0 0 7
1 0 0 1 0 6
2 0 1 0 1 5
3 0 1 1 0 4
4 1 0 0 0 3
5 1 0 1 1 2
6 1 1 0 1 1
7 1 1 1 1 0
f(a,b,c)=∑3(2,5,6,7)= a b c + a b c + ab c + abc
En ocasiones, desea obtenerse la expresión canónica de una función definida mediante una expresión
algebraica. Para ello, se transforma en suma de productos (o producto de sumas) y se multiplica (o suma)
cada término no canónico por la suma (o producto) de las variables que faltan y sus inversas.
a ´ ( b + c) + c
= { distributiva × }
a´b + a×c+c
= { neutro × , inverso + }
a ´ b × (c + c ) + a × c × (b + b ) + c × (a + a ) (b + b )
= { distributiva × , conmutativa ×}
a ´b ´ c + a ´ b´ c + a´b × c + a´b ×c + a × b × c
= { convenio }
∑3(1,3,4,5,7)
En producto de sumas, el procedimiento sería:
a ´ ( b + c) + c
= { distributiva + }
(a + c) × ( b + c + c)
34
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
= { idempotencia }
(a + c) × ( b + c)
= { neutro +, inverso × }
(a + c + b× b ) × ( b + c + a × a )
= { distributiva +, conmutativa + }
( a + b + c) × ( a + b + c) × (a + b + c)
= { convenio }
∏3(1,5,7)
A partir del teorema de simplificación, dos términos adyacentes pueden agruparse eliminando la variable
respecto a la que difieren y quedando únicamente la parte común.
Los principales métodos de simplificación reiteran este proceso de agrupamiento hasta obtener una
expresión que ya no contenga más términos adyacentes.
Ejemplo 39. f = a1
b4cd
42 +4 cd + 1
a b4
3 a b4
c4
d2+4 a b4d ⇒ f = bd
c3
1444442444443
b cd b c d
bd
Utilizando las representaciones binarias de los términos canónicos, los agrupaciones anteriores serían:
35
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
Uno de los métodos más utilizados para funciones de menos de 6 variables es el método de Karnaugh que
permite visualizar los términos adyacentes en una cuadrícula. Sin embargo, para funciones de un mayor
número de variables, el método algebraico más general es el método de Quine-McCluskey.
Método de Karnaugh
Es un método gráfico que visualiza los términos adyacentes en cuadrículas intentando que dos
términos adyacentes estén próximos entre sí. Los pasos del método son:
1. Construir una tabla de 2n casillas, siendo n el número de variables de la función. Cada casilla
corresponderá a un término canónico, producto o suma. Cada casilla se etiqueta con el término
asociado intentando que los términos adyacentes estén próximos entre sí. Cuando esto no es
posible (funciones de más de tres variables) se disponen los términos en los límites de la tabla
y se supone que los términos de un límite son adyacentes a los del límite opuesto. A
continuación aparecen las tablas para funciones entre 2 y 5 variables con el número decimal
asociado a los términos canónicos.
b bc
a 0 1 a 00 01 11 10
0 1 0 1 3 2
0 0
2 3 4 5 7 6
1 1
cd de
ab 00 01 11 10 bc 00 01 11 10
00 0 1 3 2 00 0 1 3 2
01 4 5 7 6 01 4 5 7 6
11 12 13 15 14 11 12 13 15 14
10 8 9 11 10 10 8 9 11 10
a=0
de
bc 00 01 11 10
00 16 17 19 18
01 20 21 23 22
11 28 29 31 30
10 24 25 27 26
a=1
36
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
4. Construir la expresión reducida. Por cada agrupamiento se obtiene una expresión formada por
las variables comunes a los términos adyacentes.
Nota 1: Para construir grupos mayores pueden utilizarse casillas que ya han sido previamente agrupadas.
Ejemplo:
cd
ab 00 01 11 10
00 0 1 1 1 3 2
01 4 1 5 1 7 6
11 12 13 1 15 14
10 8 9 1 11 1 10
Nota 2: Algunas funciones pueden agruparse de varias formas. En dichos casos, existe más de una
solución. Ejemplo:
cd cd
ab 00 01 11 10 ab 00 01 11 10
00 0 1 1 1 3 2 00 0 1 1 1 3 2
01 4 5 1 7 6 01 4 5 1 7 6
11 12 1 13 1 15 14 11 12 1 13 1 15 14
10 8 1 9 11 1 10 10 8 1 9 11 1 10
37
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
Resultado: f (a, b, c , d ) = (a + c) × (b + c) × (b + d )
Funciones incompletas
Existen funciones que no están totalmente definidas, llamadas funciones incompletas. Las razones son:
En la forma canónica de la función se representan de forma separada los términos indefinidos del resto.
Los términos indefinidos se agrupan mediante el símbolo ∅.
38
Lógica Proposicional Aplicación al diseño de Circuitos: Álgebra de Boole
cd
ab 00 01 11 10 Grupos 0 - 0000 0-1 - 000X
00 X 0 1 1 1 X2 1 - 0001 0-1-2-3 - 00XX = a b
3
2 - 0010 2-3 - 001X
01 X 4 5 7 6 3 - 0011
11 12 X13 15 14
2 - 0010 2-3 - 001X
10 8 9 1 11 1 10 3 - 0011 bc
2-3-10-11 - X01X =
11 - 1011 10-11 - 101X
10 - 1010
Resultado: f (a, b, c, d ) = b c + ab
39
Lógica Proposicional Ejercicios
7. Ejercicios
Los siguientes ejercicios se han recopilado de diversas fuentes. Una de las fuentes fundamentales,
ha sido el "Boletín de Ejercicios" ofrecido en la asignatura "Lógica Informática" de la Escuela Universitaria
de Ingeniería Técnica Informática de Gijón.
b) xy + xyz + y (x + z ) + y z
c) wx + xy + yz + zw + w xyz + w x yz
e) vw( x + y + xz ) + v xz ( wy + x ( z + vy ))
f) que mediante la O-exclusiva y la función AND se pueden realizar las otras dos operaciones
fundamentales del álgebra de Boole: negación y suma (OR).
g) que x ⊕ y = x ⊕ y
40
Lógica Proposicional Ejercicios
[5] Una función de tres variables f(a,b,c) debe tomar el valor cero cuando la variable b esté a uno y la
variable a no está en estado uno. En los demás casos posibles debe estar en estado uno.
a) Realizar la tabla de verdad de la función.
b) Obtener las formas canónicas en forma de suma de productos y producto de sumas.
c) Minimizar dichas expresiones.
[6] Obtener la expresión algebraica mínima de una función lógica de cuatro variables que toma el
valor uno cuando el número de variables que están en estado uno es superior al de las que se encuentran
en estado cero. Nunca pueden estar más de tres variables en estado uno. Realizar la expresión obtenida
con puertas NOR y NAND.
[8] Formalizar el siguiente enunciado donde hemos notado "si p entonces q y en caso contrario r" de
la siguiente forma:
p → q; r
- Normalizar dicho enunciado.
- Estudiar la validez de la siguiente fórmula en la que se emplea la notación anterior:
(( p → ( p ∨ r ); (r ∨ s )) ∧ ((r → ¬ w; ( s → )
p )) ∧ ( ¬ ( q ∧ t) ∧ ( q → t) )) → ¬ (r → w)
a) (( ¬ p ∧ q ) ∨ ( p ∨ ¬ q )) → ( ( p → ( q ∨ r ) ) → ( p → r ))
b) ( p ∧ ( q → p ) ) → p
c) ( ¬ p → q ) → ( ( p ∧ ¬ q ) ∨ r )
a) ( p → ( p → q)) ∨ p∨ q
b) ¬ ( p ∨ ¬ q) ∧ (¬ r ∨ s)
a) ¬ ( p → q ) ∨ p ∨ q
b) (( p → q ) → r ) → s
a) { p → q, q → r , p} ⇒ r
b) { p → (¬ q ∨ (r ∧ s)), p , ¬ s} ⇒ ¬q
41
Lógica Proposicional Ejercicios
a.-" Si Antonio ganó la carrera, entonces Baltasar o Carlos fueron los segundos. Si Baltasar fue
segundo, entonces no ganó Antonio. Si Demetrio fue segundo, no lo fue Carlos. Antonio ganó la
carrera. Por tanto, Demetrio no fue segundo".
b.-" No llora, ríe. Si no llora, ríe sólo si tiene un juguete. Nunca tiene un juguete cuando se está riendo
si no come un caramelo. Luego come un caramelo."
c.-" Juan quiere a María si y sólo si María quiere a Juan y promete casarse con él. María no quiere a
Juan si Juan no quiere a María. María promete casarse con Juan si y sólo si Juan promete casarse con
María. Por tanto, Juan quiere a María y María no quiere a Juan".
d.-" Si ha nevado será difícil conducir. Si no es fácil conducir llegaré tarde si no salgo temprano. Ha
nevado. Luego saldré temprano. "
e.-" Si no llueve salgo al campo. S i salgo al campo respiro. Por tanto, respiro si y sólo si no llueve."
f.-" Si un monte se quema algo tuyo se quema. Algo tuyo se quema si y sólo si eres descuidado. Si eres
descuidado no mereces que te feliciten. Por tanto si no mereces que te feliciten entonces es que un monte
se quema."
h.-" Es suficiente whisky para que chocolate. Chocolate si y solo si jamón. No ginebra a menos que
chocolate. Whisky. ¿ Es posible afirmar: (1) que bebió ginebra? (2) que no tomó chocolate?"
i.-" Si no especifico las condiciones iniciales mi programa no comenzará. habré programado un ciclo
infinito solo si mi programa no termina. Basta que el programa no comience o no finalice para que falle.
De ahí que sea necesario no solamente especificar las condiciones iniciales sino también no programar
un ciclo infinito para que el programa no falle."
j.-"Si 25 divisiones son suficientes, el general ganará la batalla; por otra parte, o se suministran 3 alas
de apoyo aéreo táctico, o el general no ganará la batalla. Además, no es cierto que sean suficientes 25
divisiones y que se vayan a suministrar 3 alas de apoyo aéreo táctico. Coclusión: no son suficientes 25
divisiones."
42
Lógica Proposicional Ejercicios
[15] Don Juan Tenorio, hizo las siguientes declaraciones, con respecto a las doncellas Inés, Juana y
María, que le costaron la vida. ¿Quién o quiénes son las asesinas?.
" Amo a la última de las tres"
" Si amo a Inés pero no a María, entonces también amo a Juana"
" O amo a María y a Juana o no amo a ninguna"
" Si amo a María, entonces amo a Inés"
(se supone que la asesina era aquélla a la que Don Juan no amaba)
43
Lógica Proposicional Ejercicios
UN TIGRE.
- Suponiendo que los dos carteles siguientes dicen ambos la verdad o mienten ambos. Deducir en qué
habitación hay una dama, sabiendo, como antes, que puede no haberla.
CARTEL 1
AL MENOS EN UNA DE ESTAS HABITACIONES HAY UNA DAMA
CARTEL 2
HAY UN TIGRE EN LA OTRA HABITACION
44
Lógica proposicional Soluciones
8. Soluciones
[1] a) p → q h) p → q
b) p ∧ q i) p → q
c) p j) p ∧ q
d) p ∧ q k) p → q
e) p → q l) q → p
f) q → p m) ( p ∨ ¬ p) ∧ q ≡ q
g) p ∧ q n) ¬ q → p
( ¬ q ∨ r) → p
(q → ¬ p) ∧ (r → p)
¬ ( q ∧ ( r ∨ s )) → ¬ p ≡ p → ( q ∧ ( r ∨ s) )
[3] a) x + y
b) x + y + z
c) xw + xz + w y
xy + w z + xyz + wyz
d) Habría tres posibles soluciones xy + w z + xyz + wxz
xy + w z + w xz + wyz
[4] Para realizar las demostraciones se parte de que x ⊕ y = xy + xy , y se desarrollan las expresiones
resultantes hasta llegar a la demostración deseada. A continuación se presentan los primeros pasos de la
demostración de asociatividad:
45
Lógica proposicional Soluciones
[8] ( p → q) ∧ ( ¬ p → r )
- El razonamiento NO es válido, pues podemos encontrar varias interpretaciones que lo hagan Falso, por
ejemplo, r=F, w = F, q = F, p = V, s = V, t= V.
b) ( ¬ p ∧ q ∧ ¬ r ) ∨ ( ¬ p ∧ q ∧ s)
[11] a) p ∨ q
b) ( ¬ p ∨ q ∨ s ) ∧ (¬ r ∨ s )
46
Lógica proposicional Soluciones
f) NO es válido.
g) NO es correcto.
h) NO se puede deducir ninguna de los dos, ni que bebiese Ginebra ni que no tomase chocolate.
i) El razonamiento ES correcto.
j) El razonamiento ES correcto.
[14] Amb as expresiones se deducen lógicamente suponiendo que todas las frases sean
Verdaderas, se puede comprobar que sólo existe esa posibilidad.
[15] Ninguna de ellas era la asesina, pues las amaba a las tres.
[16] Si es Falsa la sentencia "Si el acusado es culpable entonces tenía un testigo", por la
tabla de verdad de la implicación, el antecedente es Verdadero y el consecuente Falso, luego el
antecedente es Verdadero, es decir, el acusado sería culpable.
[18] Se casan, viven felices, pero no comen perdices porque estamos en veda.
[19] - La única forma de que un cartel diga la verdad y otro mienta es que el Cartel 1 mienta y el Cartel 2
diga la verdad. Con lo cual habría un tigre en la habitación 1 y una dama en la habitación 2.
- La única posibilidad es que los dos carteles digan la verdad y habría una dama en la habitación 2
y un tigre en la habitación 1.
[20] Sí, se sigue que la universidad expenda títulos de Informática a partir de las premisas. El
razonamiento es correcto.
47
Lógica proposicional Bibliografía
Bibliografía
[Abramsky, 92] S. Abramsky, D.M. Gabbay, T.S. Maibaum
Handbook of Logic in Computer Science
Oxford Science Publications (1992)
48
Lógica proposicional Indice
Indice
A I
Absorción, 24 Idempotencia, 23
Alfabeto, 2 interpretación, 3
álgebra de Boole, 21 Interpretación, 5
Álgebra de Boole, 21 Involución, 25
Álgebra de Boole bivaluada, 22
L
Algoritmo de resolución proposicional,
literal puro, 14
10
árbol de resolución, 16 M
árbol semántico, 6 MAXTERM, 28
Asociativa, 24 MINTERM, 28
modelo, 3
C
circuito combinacional, 27 N
circuito digita, 26 nodo de fallo, 6
circuitos digitales combinacionales, 21 nodo de inferencia, 12
cláusula, 8 nodos de éxito, 6
cláusula cabeza, 15
P
cláusula Horn, 9
Principio de dualidad, 23
cláusula inicial, 15
producto canónico, 28
cláusulas resolubles, 9
pruebas subordinadas, 19
Commutativa, 22
Completud del Algoritmo de Resolución R
Proposicional, 13 razonamiento, 5
Conmutativa, 22 regla de resolución, 9
consecuencia lógica, 5 Resolución Lineal, 15
correcto, 5 Resolución proposicional, 8
resolvente, 9
D
resolvente de entrada, 15
De Morgan, 26
Distributiva, 22 S
Dominación, 23 Semántica, 3
Sintaxis, 2
E
subsunción, 14
Elemento inverso, 22
suma canónica, 28
Elemento neutro, 22
equivalencia lógica, 4 T
Estrategias de resolución, 13 tabla de verdad, 6
tautología, 14
F
Tautología, 3
forma canónica, 28
teoría de la prueba, 18
Forma Clausal, 9
teoría semántica, 18
Forma Normal Conjuntiva, 8
término canónico, 27
Forma Normal Disyuntiva, 8
Formas Normales, 8 U
Fórmula Insatisfacible, 4 Unicidad del complementario, 25
Fórmula Satisfacible, 4
V
Fórmula Válida, 3
valor de una fórmula, 3
función Booleana, 27
variable booleana, 27
49