Professional Documents
Culture Documents
12 de febrero de 2018
Índice
1. Tablas, equivalencias y formas normales 2
1
LÓGICA, ACTIVIDADES EN GRUPO REDUCIDO, SESIÓN 1
! !
p q ¬ p
q
Tablas de verdad
La tabla representa las operaciones que se hacen para calcular el valor (1
ó 0) de una proposición en función de los valores (1 ó 0) que pueden tomar
sus variables. Los valores finales de aparecen debajo de su conector raı́z.
Realizar la tabla de verdad de una proposición es un ejercicio automático
a partir de las tablas de verdad de los conectores básicos, las cuales deben
memorizarse como hicimos de niños con las tablas de sumar y de multiplicar.
Los cinco conectores binarios básicos con sus respectivas tablas son:
P Q P ^Q P _Q P Q P !Q P $Q
1 1 1 1 0 1 1
1 0 0 1 1 0 0
0 1 0 1 1 1 0
0 0 0 0 0 1 1
2
Equivalencias. Formas normales
Dos proposiciones son equivalentes si sus tablas respectivas dan los mis-
mos valores de verdad en todos los casos (tiene distinta expresión pero el
mismo significado). El estudiante debe conocer y manejar el catálogo básico
de equivalencias.
Recordatorio: A partir de la tabla de una proposición se obtienen pro-
posiciones equivalentes de una forma muy especial que se llaman formas
normales. Un ejemplo brevı́simo es p ! q ⌘ ¬p _ q. Otro ejemplo:
⇢
(p _ q) ^ (¬p _ ¬q)
P = (p $ q) ! (¬p ^ q) ⌘
(p ^ ¬q) _ (¬p ^ q)
P Q (P $ Q) ! ¬P ^ Q Filas 0 Filas1
1 1 1 0 0 ¬p _ ¬q
1 0 0 1 0 p ^ ¬q
0 1 0 1 1 ¬q ^ q
0 0 1 0 0 p_q
3
ALGUNOS EJERCICIOS RESUELTOS
2. (q ! p) ^ (¬p ! r)
3. ¬[(p ! r) ^ q)]
4
Una solución al ejercicio 1:
| ?- consult(~/prolog/lp.pl’).
/Users/luhernan/prolog/lp.pl compiled,
254 lines read - 17512 bytes written, 20 ms
(4 ms) yes
| ?- modelos_formula(no(((p y q) o (no p y no r)) im (q sii r)), L).
L = [[(p,0),(q,1),(r,0)],[(p,1),(q,1),(r,0)]]
yes
| ?- modelos_formula(((p y q) o (no p y no r) im (q sii r)), L).
L = [[(p,0),(q,0),(r,0)],[(p,0),(q,0),(r,1)],[(p,0),(q,1),(r,1)],
[(p,1),(q,0),(r,0)],[(p,1),(q,0),(r,1)],[(p,1),(q,1),(r,1)]]
yes
5
En los dos apartados restantes se da la solución con modelos y contra-
modelos, para que el alumno compruebe que la tabla y formas normales que
ha calculado son correctas.
2) Los modelos y contra-modelos se pueden encontrar con el programa
lp.pl de GNU prolog que se realizará en la práctica informática número 3.
L = [[(p,0),(q,0),(r,1)],[(p,1),(q,0),(r,0)],[(p,1),(q,0),(r,1)],
[(p,1),(q,1),(r,0)],[(p,1),(q,1),(r,1)]]
yes
L = [[(p,0),(q,0),(r,0)],[(p,0),(q,1),(r,0)],[(p,0),(q,1),(r,1)]]
(1 ms) yes
yes
La tabla es la siguiente:
6
p q r ¬ ((p ! r) ^ q)
1 1 1 0 1 1 1
1 1 0 1 0 0 1
1 0 1 1 1 0 0
1 0 0 1 0 0 0
0 1 1 0 1 1 1
0 1 0 0 1 1 1
0 0 1 1 1 0 0
0 0 0 1 1 0 0
L = [[(p,0),(q,0),(r,0)],[(p,0),(q,0),(r,1)],[(p,0),(q,1),(r,0)],
[(p,0),(q,1),(r,1)],[(p,1),(q,0),(r,0)],[(p,1),(q,0),(r,1)],[(p,1),(q,1),(r,0)]]
(1 ms) yes
| ?- modelos_formula(no((q im p) y (no p im r)) im (no ((p im r) y q))), L).
L = [[(p,1),(q,1),(r,1)]]
yes
La tabla es la siguiente:
7
Basta tomar como modelos de X _ Y los contramodelos de P _ Q para
X ^ (P _ Q), Y ^ (P _ Q), sean contradiciones y X _ Y _ P _ Q sea una
taulotologı́a; es decir que X _ Y ⌘ (¬p ^ ¬q ^ ¬r) _ (¬p ^ ¬q ^ r) _ (p ^ q ^
¬r) _ (p ^ q ^ r)
Para que X, Y tengan dos modelos y X ^ Y sean una contradicción
tenemos “esencialmente” tres soluciones
X1 = (¬p ^ ¬q ^ ¬r) _ (¬p ^ ¬q ^ r), Y1 = (p ^ q ^ ¬r) _ (p ^ q ^ r)
o
X2 = (¬p ^ ¬q ^ ¬r) _ (p ^ q ^ ¬r), Y2 = (¬p ^ ¬q ^ r) _ (p ^ q ^ r)
o bien
X3 = (¬p ^ ¬q ^ ¬r) _ (p ^ q ^ r), Y3 = (¬p ^ ¬q ^ r) _ (p ^ q ^ ¬r).
8
TAREA PRIMERA SESIÓN
2. (q $ r) _ (¬p ! r)
3. ¬[¬(p ! r) ^ q)]
9
Una solución al ejercicio 1 de la tarea de la primera sesión:
| ?- consult(~/prolog/lp.pl’).
/Users/luhernan/prolog/lp.pl compiled,
254 lines read - 17512 bytes written, 20 ms
(4 ms) yes
| ?- modelos_formula(no((q sii r)im ((p y q) o (no p y no q))),L).
L = [[(p,0),(q,1),(r,1)],[(p,1),(q,0),(r,0)]]
(1 ms) yes
L = [[(p,0),(q,0),(r,0)],[(p,0),(q,0),(r,1)],[(p,0),(q,1),(r,0)],
[(p,1),(q,0),(r,1)],[(p,1),(q,1),(r,0)],[(p,1),(q,1),(r,1)]]
10
(q $ r) ! ((p ^ q) _ (¬p ^ ¬r)) ⌘ ((q _ r) ^ (¬q _ ¬r)) _ ((p _ ¬r) ^ (¬p _
q) ^ (q _ ¬r)) ⌘ (¬p _ q _ r) ^ (p _ ¬q _ ¬r)
En los apartados restantes se da la solución con modelos y contra-
modelos, para que el alumno compruebe que la tabla y formas normales
que ha calculado son correctas.
2) Los modelos y contra-modelos se pueden encontrar con el programa
lp.pl de GNU prolog que se realizará en la práctica informática número 3.
L = [[(p,0),(q,0),(r,0)],[(p,0),(q,0),(r,1)],
[(p,0),(q,1),(r,1)],[(p,1),(q,0),(r,0)],
[(p,1),(q,0),(r,1)],[(p,1),(q,1),(r,0)],[(p,1),(q,1),(r,1)]]
yes
| ?- modelos_formula(no((q sii r) o (no p im r)),L).
L = [[(p,0),(q,1),(r,0)]]
yes
La forma normal conjuntiva es fácil de encontrar:
(q $ r) _ (¬p ! r) ⌘ (q _ ¬r) ^ (¬q _ r) _ p _ r ⌘ p _ ¬q _ r
La forma normal disyuntiva se obtiene a partir de los siete casos restan-
tes.
3) Análogamente al caso anterior se obtiene:
L = [[(p,0),(q,0),(r,0)],[(p,0),(q,0),(r,1)],
[(p,0),(q,1),(r,0)],[(p,0),(q,1),(r,1)],
[(p,1),(q,0),(r,0)],[(p,1),(q,0),(r,1)],[(p,1),(q,1),(r,1)]]
yes
| ?- modelos_formula((no(p im r) y q), L).
L = [[(p,1),(q,1),(r,0)]]
(1 ms) yes
La forma normal conjuntiva se obtiene facilmente por equivalencias:
¬[¬(p ! r) ^ q)] ⌘ ¬[(p ^ ¬r) ^ q)] ⌘ ¬p _ r _ ¬q
11
| ?- modelos_formula(no ((p im r) y q) im ((q im p) y (no p im r)), L).
L = [[(p,0),(q,0),(r,1)],[(p,0),(q,1),(r,0)],[(p,0),(q,1),(r,1)],
[(p,1),(q,0),(r,0)],[(p,1),(q,0),(r,1)],
[(p,1),(q,1),(r,0)],[(p,1),(q,1),(r,1)]]
yes
| ?- modelos_formula(no(no ((p im r) y q) im ((q im p) y (no p im r))), L).
L = [[(p,0),(q,0),(r,0)]]
yes
12
En consecuencia los modelos de P son {(1, 1, 0), (1, 0, 1), (0, 1, 1), (0, 0, 0)}
y los contramodelos {(1, 1, 1), (1, 0, 0), (0, 1, 0), (0, 0, 1)}
Basta tomar como modelos de X _ Y los contramodelos de P para que
X ^ P , Y ^ P , X ^ Y sean contradiciones y X _ Y _ P sea una taulotologı́a,
se tiene que verificar que
X _ Y ⌘ (p ^ q ^ r) _ (p ^ ¬q ^ ¬r) _ (¬p ^ q ^ ¬r) _ (¬p ^ ¬q ^ r)
Para que X, Y tengan dos modelos y X ^ Y sean una contradicción
tenemos esencialmente tres soluciones
X1 = (p ^ q ^ r) _ (p ^ ¬q ^ ¬r), Y1 = (¬p ^ q ^ ¬r) _ (¬p ^ ¬q ^ r)
o
X2 = (p ^ q ^ r) _ (¬p ^ q ^ ¬r), Y2 = (p ^ ¬q ^ ¬r) _ (¬p ^ ¬q ^ r)
o
X3 = (p ^ q ^ r) _ (¬p ^ ¬q ^ r), Y3 = (p ^ ¬q ^ ¬r) _ (¬p ^ q ^ ¬r)
13
LÓGICA, ACTIVIDADES EN GRUPO REDUCIDO, SESIÓN 2
1 p 0
q q
1 q 0 1 q 0
1 0 1 0
14
1 p 0
q ! (q $ r) ¬r ! (q $ r)
1 q 0 1 q 0
r 1 r 1
1 r 0 1 r 0 1 r 0 1 r 0
1 0 1 1 1 0 1 1
Verificar tautologı́as
Se trata de comprobar si una proposición dada es o no una tautologı́a.
La manera directa de hacerlo es escribir su tabla y ver si bajo el conector
raı́z da el valor 1 en todas las filas. Esto es largo, pero hay un método
inverso que puede ser mucho más eficaz en bastantes casos.
Se trata de probar que es imposible que de la tabla resulte el valor 0.
Para ello se supone que diera 0 y se reconstruye marcha atrás la fila de
la tabla, hasta llegar a uno de estas dos situaciones posibles:
Existen valores que dan 0, entonces la proposición NO es tautologı́a.
15
Verificar reglas
Tomemos como ejemplo la regla de casos
P _Q
P !R
(RC)
Q!R
R
Hay que recordar que afirmar que (RC) es una regla tiene el mismo sig-
nificado que afirmar que la siguiente proposición, conjunción de las premisas
condicional la conclusión,
((P _ Q) ^ (P ! R) ^ (Q ! R)) ! R,
es una tautologı́a. De modo que las reglas no son sino un tipo especial de
tautologı́as colocadas en una disposición especial según el modo habitual de
argumentar.
Premisas
Que (RC) sea una regla Conclusión quiere decir lo siguiente:
si las premisas son verdaderas entonces la conclusión es verdadera.
Esto se puede verificar haciendo la tabla de verdad conjunta de premisas
y conclusiones y comprobando que cuando las tres premisas valen 1 (filas
primera, tercera y quinta) también es R = 1. Si no sucediera esto, el esquema
propuesto no serı́a una regla.
P Q R (P _ Q) P !R Q!R
1 1 1 1 1 1
1 1 0 1 0 0
1 0 1 1 1 1
1 0 0 1 0 1
0 1 1 1 1 1
0 1 0 1 1 0
0 0 1 0 1 1
0 0 0 0 1 1
16
EJERCICIOS RESUELTOS DE LA SEGUNDA SESIÓN
Ejercicio 1. Realizar el análisis de Quine de las siguientes proposicio-
nes:
2. (q ! p) ^ (¬p ! r)
3. ¬[(p ! r) ^ q)]
3. (P ! Q) ! ((P ! R) ! (P ! (Q ^ R))).
P ! (Q ! R) (P ^ Q) ! R
1. a) b)
(P ^ Q) ! R P ! (Q ! R)
P !Q ¬(P ^ ¬Q)
2. a) b)
¬(P ^ ¬Q) P !Q
(P ^ Q) ! (R ^ S)
P !Q
S ! (Q ^ T )
3. a) ¬(P _ R) ! S b)
S^T
(P ^ Q ! R) ! (¬S ! R)
P ! (Q ^ R)
(P _ Q) ^ (R ! S) (P ! Q) ^ (R ! S)
(Q ^ S) ! T (Q ^ S) ! ¬T
4. a) b)
¬T T
R!P ¬P _ ¬R
17
Solución del Ejercicio 1.
La primera proposición ya ha sido estudiada. Ahora, se trata de realizar
el análisis de Quine de la proposición:
(q ! p) ^ (¬p ! r)
Si p = 1, (q ! p) ^ (¬p ! r) ⌘ 1 .
Si p = 0, (q ! p) ^ (¬p ! r) ⌘ ¬q ^ r
1 p0
1 ¬q ^ r
1 q 0 1 q 0
1 1 0 r
1 r 0 1 r 0 1 r 0 1 r 0
1 1 1 1 0 0 1 0
1 p 0
¬r _ ¬q ¬q
1 q 0 1 q 0
¬r 1 0 1
1 r 0 1 r 0 1 r 0 1 r 0
0 1 1 1 0 0 1 1
18
1 p 0
¬r _ ¬q 1
1 q 0 1 q 0
¬r 1 1 1
1 r 0 1 r 0 1 r 0 1 r 0
0 1 1 1 1 1 1 1
19
un átomo.
P = 0 o P = 1.
Supongamos que se verifica la primera posibilidad
P = 0. Entonces,
(P _ (Q ^ R)) ! ((P _ Q) ^ (P _ R)) = (Q ^ R) ! (Q ^ R) = 1.
Supongamos que ahora se verifica la segunda posibilidad.
P = 1. Entonces,
(P _ (Q ^ R)) ! ((P _ Q) ^ (P _ R)) = 1 ! 1 = 1
Ası́ que tanto si se verifica la primera como la segunda posibilidad siem-
pre sale 1. Entonces (regla de los casos),
para cualquier valor de los átomos P, Q, R se cumple el objetivo
de que (P _ (Q ^ R)) ! ((P _ Q) ^ (P _ R)) = 1.
Ahora vamos a dar otra demostración mediante el procedimiento de re-
ducción al absurdo. En las siguientes lı́neas no se dan muchas explicaciones,
pero se van realizado deducciones hasta llegar a un absurdo. La conclusión
final es que la negación de lo supuesto es verdadera.
Supongamos que: (P _ (Q ^ R)) ! ((P _ Q) ^ (P _ R)) = 0.
(P _ (Q ^ R)) = 1 y ((P _ Q) ^ (P _ R)) = 0
(P _ Q) = 0 y (P _ R) = 0
P = Q = R = 0.
(P _ (Q ^ R)) = 1 y (P _ (Q ^ R)) = 1 Absurdo.
Finalmente, señalamos que la solución de 2.5 está incluida en el propio
enunciado.
P !Q
¬(P _ R) ! S
((P ^ Q) ! R) ! (¬S ! R)
(P ^ Q) ! (R ^ S)
S ! (Q ^ T )
S^T
P ! (Q ^ R)
20
Si la conclusión es falsa, entonces P = 1 y además o bien Q = 0 o bien
R = 0. Caso (P, Q) = (1, 0): la primera premisa vale 1 y las otras dos quedan
de la forma S ! 0 y S ^ T , una de las cuales siempre será falsa según los
valores de S. Caso (P, R) = (1, 0): la primera premisa queda de la forma
Q ! 0 y las otras dos no se alteran. Si Q = 1 la primera es falsa y si Q = 0
la segunda y la tercera quedan como en el caso anterior. Verificado pues que
se trata de una regla.
Si queremos saber previamente si 3.4.a y 3.4.b son o no reglas si se quiere
se puede utilizar el predicado
es_consecuencia
yes
(1 ms) yes
(P _ Q) ^ (R ! S)
(Q ^ S) ! T
¬T
R!P
21
Entonces Q = 0 o S = 0.
En ambos casos, (0 _ Q) ^ (1 ! S) = 0. Absurdo.
Si en el esquema 3.4.b suponemos que las premisas son verdad y la
consecuencia es falsa
(P ! Q) ^ (R ! S)
(Q ^ S) ! ¬T
T
¬P _ ¬R
Se tiene que (¬P _ ¬R) = 0. Luego P = R = 1.
Si 1 = (P ! Q) ^ (R ! S) = (1 ! Q) ^ (1 ! S), entonces Q = S = 1.
Por lo tanto,
1 = (Q ^ S) ! ¬T = 1 ! ¬T . Esto implica que T = 0.
Absurdo.
22
TAREA DE LA SEGUNDA SESIÓN
Ejercicio 1. Realizar el análisis de Quine de las siguientes proposicio-
nes:
2. (q $ r) _ (¬p ! r)
3. ¬[¬(p ! r) ^ q)]
3. (B ! C) ! ((B ! A) ! (B ! (C ^ A))).
5. B ! (C ! (B ! A))
(b ! c) ! (Q ! R) ((b ! c) ^ Q) ! R
1. a) b)
(P ^ Q) ! R (a ! c) ! (Q ! R)
(b ! c) ! Q ((b ! c) ^ Q)
2. a) b)
((b ! c) ^ Q) (b ! c) ! Q
(P ^ (a ! c)) ! (R ^ S)
P ! (a ! c)
S ! ((a ! c) ^ T )
3. a) ¬(P _ R) ! S b)
S^T
(P ^ (a ! c) ! R) ! (¬S ! R)
P ! ((a ! c) ^ R)
(P _ Q) ^ ((a ! b) ! S) (P ! Q) ^ ((a ! b) ! S)
(Q ^ S) ! T (Q ^ S) ! ¬T
4. a) b)
¬T T
(a ! b) ! P ¬P _ ¬(a ! b)
23
Solución del Ejercicio 1.
El análisis de Quine de la primera proposición es el siguiente:
A = (q $ r) ! ((p ^ q) _ (¬p ^ ¬r)))
Si p = 1, A(1, q, r) ⌘ (q $ r) ! q .
Si p = 0, A(=, q, r) ⌘ (q $ r) ! ((0 ^ q) _ (1 ^ ¬r)))r ⌘ (q $ r) ! ¬r
1 p 0
(q $ r) ! q (q $ r) ! ¬r
1 q 0 1 q 0
1 r ¬r 1
1 r 0 1 r 0 1 r 0 1 r 0
1 1 1 0 0 1 1 1
1 p 0
1 q $ r) _ r
1 q 0 1 q 0
1 1 r 1
1 r 0 1 r 0 1 r 0 1 r 0
1 1 1 1 1 0 1 1
1 p 0
r _ ¬q 1
1 q 0 1 q 0
r 1 1 1
1 r 0 1 r 0 1 r 0 1 r 0
1 0 1 1 1 1 1 1
24
Para la cuarta proposición:
D = [¬[(p ! r) ^ q]] ! [(q ! p) ^ (¬p ! r)]
Para p = 1, D(1, q, r) =⌘ [¬[(1 ! r) ^ q]] ! [(q ! 1) ^ (0 ! r)] ⌘
[¬[r ^ q)]] ! 1 ⌘ 1
Para p = 0, D(0, q, r) =⌘ [¬[(0 ! r) ^ q]] ! [(q ! 0) ^ (1 ! r)] ⌘
[¬[1 ^ q]] ! [¬q ^ r] ⌘ ¬q ! (¬q ^ r)
Ahora la tabla de Quine se realiza con facilidad.
1 p 0
1 ¬q ! (¬q ^ r)
1 q 0 1 q 0
1 1 1 r
1 r 0 1 r 0 1 r 0 1 r 0
1 1 1 1 1 1 1 0
25
escrito con palabras y en vez de poner cada deducción en una lı́nea nueva,
las deducciones se han encadenado, con palabras como “Entonces, Por lo
tanto, etc.”. Es decir estamos utilizando deducción natural del cálculo de
predicados para probar propiedades de proposiciones, en este caso, la de
verificar si una proposición es o no es una tautologı́a.
Para verificar 2.4, vamos a probarlo mediante deducciónes con expresio-
nes tı́picas del cálculo de predicados en la que las fórmulas se escriben con
cierta informalidad ya que vamos mezclando trozos de fórmula con palabras
de lenguaje usual.
Nuestro objetivo es probar que para cualquier valor de B, C, A se tiene
que (B _ (C ^ A)) ! ((B _ C) ^ (B _ A)) = 1.
Sabemos que la siguiente fórmula es verdadera para posibles valores de
un átomo.
B = 0 o B = 1.
Supongamos que se verifica la primera posibilidad
B = 0. Entonces,
(B _ (C ^ A)) ! ((B _ C) ^ (B _ A)) = (C ^ A) ! (C ^ A) = 1.
Supongamos que ahora se verifica la segunda posibilidad.
B = 1. Entonces,
(B _ (C ^ A)) ! ((B _ C) ^ (B _ A)) = 1 ! 1 = 1
Ası́ que tanto si se verifica la primera como la segunda posibilidad siem-
pre sale 1. Entonces (regla de los casos),
para cualquier valor de los átomos B, C, A se cumple el objetivo
de que (B _ (C ^ A)) ! ((B _ C) ^ (B _ A)) = 1.
Ahora vamos a dar otra demostración mediante el procedimiento de re-
ducción al absurdo. En las siguientes lı́neas no se dan muchas explicaciones,
pero se van realizado deducciones hasta llegar a un absurdo. La conclusión
final es que la negación de lo supuesto es verdadera.
Supongamos que: (B _ (C ^ A)) ! ((B _ C) ^ (B _ A)) = 0.
(B _ (C ^ A)) = 1 y ((B _ C) ^ (B _ A)) = 0
(B _ C) = 0 y (B _ A) = 0
B = C = A = 0.
(B _ (C ^ A)) = 1 y (B _ (C ^ A)) = 1 Absurdo.
Finalmente, señalamos que la solución de 2.5 es inmediata. Es este caso
se tiene que no es una tautologı́a.
es_consecuencia
26
el programa, pero hemos modificado la letras mayúsculas por otras equiva-
lentes que empiezan por minúscula para que prolog no las interprete como
variables:
(b ! c) ! (Q ! R)
3.1 a)
(P ^ Q) ! R
| ?- es_consecuencia( [(b im c) im (qQ im rR)], pP y qQ im rR).
(1 ms) no
((b ! c) ^ Q) ! R
3.1 b)
(a ! c) ! (Q ! R)
| ?- es_consecuencia( [((b im c) y qQ) im rR], (a im c) im (qQ im rR)).
no
Supongamos que (a ! c) ! (Q ! R) = 0. Entonces (a ! c) = 1, Q = 1
y R = 0.
Entonces, ((b ! c) ^ Q) ! R = (b ! c) ! 0 = b ^ ¬c,
Por ejemplo, para b = 0, a = 1 = c, se tiene que el antecedente es
verdadero y el consecuente es falso. Luego no es una regla.
(b ! c) ! Q
3.2 a)
((b ! c) ^ Q)
| ?- es_consecuencia( [(b im c) im qQ], (b im c) y qQ).
no
Tomemos b = 1, c = 0, Q = 0. Para esta interpretación el antecedente
es verdadero y el consecuente es falso. Luego no es una regla.
((b ! c) ^ Q)
3.2 b)
(b ! c) ! Q
| ?- es_consecuencia( [(b im c) y qQ],(b im c) im qQ).
yes
Supongamos que (b ! c) ! Q = 0. Entonces (b ! c) = 1 y Q = 0.
Entonces, ((b ! c) ^ Q) = 1 ^ 0 = 0.
Todo contramodelo de la consecuencia es contramodelo de la premisa.
Por lo tanto, es una regla.
P ! (a ! c)
3.3 a) ¬(P _ R) ! S
(P ^ (a ! c) ! R) ! (¬S ! R)
27
| ?- es_consecuencia( [pP im (a im c),no(pP o rR)im sS],
(pP y (a im c) im rR) im (no sS im rR)).
(1 ms) yes
(P ^ (a ! c)) ! (R ^ S)
S ! ((a ! c) ^ T )
3.3 b)
S^T
P ! ((a ! c) ^ R)
| ?- es_consecuencia( [(pP y (a im c)) im (rR y sS), sS im ((a im c) y tT),
sS y tT],pP im ( (a im c) y rR)).
(2 ms) yes
(P _ Q) ^ ((a ! b) ! S)
(Q ^ S) ! T
3.4 a)
¬T
(a ! b) ! P
| ?- es_consecuencia( [(pP o qQ) y ((a im b) im sS), qQ y sS im tT, no tT],
(a im b) im pP).
(2 ms) yes
(P ! Q) ^ ((a ! b) ! S)
(Q ^ S) ! ¬T
3.4 b)
T
¬P _ ¬(a ! b)
28
| ?- es_consecuencia( [(pP im qQ) y ((a im b) im sS), qQ y sS im no tT, tT],no pP o
(2 ms) yes
29
3. Cálculo booleano, formas normales y formas clau-
sales y co-clausales
En esta sesión se trata de hacer un cálculo algebraico con las proposicio-
nes de modo análogo (no exactamente igual) al que hacemos con números
concretos y letras que significan números sin especificar.
Cálculo booleano
En un álgebra de Boole se verifican las siguientes igualdades:
(i) (idempotentes) x ^ x = x = x _ x.
(ii) (conmutativas) x ^ y = y ^ x, x _ y = y _ x.
(iii) (asociativas) x ^ (y ^ z) = (x ^ y) ^ z, x _ (y _ z) = (x _ y) _ z.
⌘2 (p _ q) ^ (¬p _ q)
30
⌘1 : Eliminar el condicional con p ! q ⌘ ¬p _ q
⌘2 (p _ ¬p) _ (q _ ¬q) ⌘3 1
Ahora las equivalencias usadas han sido éstas: ⌘1 : Como antes, sin paréntesis
ni simplificar. ⌘2 : Completar cuatro veces cada letra, con o sin negación,
mediante la otra. La primera ha sido
31
2. Introducir el conector ¬ en los paréntesis
32
EJERCICIOS RESUELTOS DE LA TERCERA SESIÓN
Consideremos los siguientes esquemas de inferencia:
(P ^ Q) ! (R ^ S)
P !Q
S ! (Q ^ T )
1. a) ¬(P _ R) ! S b)
S^T
(P ^ Q ! R) ! (¬S ! R)
P ! (Q ^ R)
(P _ Q) ^ (R ! S) (P ! Q) ^ (R ! S)
(Q ^ S) ! T (Q ^ S) ! ¬T
2. a) b)
¬T T
R!P ¬P _ ¬R
(A1 ^A2 ) ⌘ (A1 ^A2 )^(B_¬B) ⌘ ((A1 ^A2 )^B)_((A1 ^A2 )^¬B) ⌘ ((A1 ^A2 )^B).
En consecuencia
((A1 ^ A2 ) ^ B) ⌘ (A1 ^ A2 ).
33
Para el esquema de inferencia 1. b) Llamaremos A1 , A2 , A3 a las premisas
y B a la consecuencia:
A1 = (P ^ Q) ! (R ^ S)
A2 = S ! (Q ^ T )
A3 = S ^ T
B = P ! (Q ^ R)
Para el ejercicio 1, se tiene que:
A1 ⌘ (P ^ Q) ! (R ^ S) ⌘ (¬P _ ¬Q) _ (R ^ S) ⌘ (¬P _ ¬Q _ R) ^
(¬P _ ¬Q _ S)
Una forma coclausal es la siguiente:
(¬P _ ¬Q _ R) ^ (¬P _ ¬Q _ S) ⌘ ¬P _ (¬P ^ ¬Q) _ (¬P ^ S) _ ¬Q _
(¬Q ^ S) _ (¬P ^ R) _ (¬Q ^ R) _ (R ^ S)
A2 ⌘ S ! (Q ^ T ) ⌘ ¬S _ (Q ^ T ) ⌘ (¬S _ Q) ^ (¬S _ T )
Una forma coclausal es
(¬S _ Q) ^ (¬S _ T ) ⌘ ¬S _ (¬S ^ T ) _ (Q ^ ¬S) _ (Q ^ T )
A3 ⌘ S ^ T
¬B ⌘ ¬[P ! (Q ^ R)] ⌘ (P ^ ¬(Q ^ R) ⌘ P ^ (¬Q _ ¬R)
Una forma coclausal de ésta última es la siguiente
P ^ (¬Q _ ¬R) ⌘ (P ^ ¬Q) _ (P ^ ¬R)
Para el ejercicio 2, se tiene que si A1 , A2 , A3 son la premisas y B la
consecuencia:
A1 ^ A2 ^ A3 ^ ¬B ⌘ [¬P _ (¬P ^ ¬Q) _ (¬P ^ S) _ ¬Q _ (¬Q ^ S) _ (¬P ^
R) _ (¬Q ^ R) _ (R ^ S)] ^ [¬S _ (¬S ^ T ) _ (Q ^ ¬S) _ (Q ^ T )] ^ [S ^ T ] ^ [(P ^
¬Q)_(P ^¬R)]] ⌘ [¬P _¬Q_(R ^S)]^[¬S _(Q^T )]^[S ^T ]^[(P ^¬Q)_
(P ^ ¬R)]] ⌘ [¬P _ ¬Q _ (R ^ S)] ^ [Q ^ S ^ T ] ^ [(P ^ ¬Q) _ (P ^ ¬R)]] ⌘
[¬P _ (R ^ S)] ^ [Q ^ S ^ T ] ^ (P ^ ¬R)] ⌘ (R ^ S) ^ [Q ^ S ^ T ] ^ (P ^ ¬R) ⌘ 0.
Notemos que
(A1 ^ A2 ^ A3 ) ⌘ (A1 ^ A2 ^ A3 ) ^ (B _ ¬B) ⌘ ((A1 ^ A2 ^ A3 ) ^ B) _
((A1 ^ A2 ^ A3 ) ^ ¬B) ⌘ ((A1 ^ A2 ^ A3 ) ^ B)
En consecuencia
((A1 ^ A2 ^ A3 ) ^ B) ⌘ (A1 ^ A2 ^ A3 ).
(P _ Q) ^ (R ! S)
(Q ^ S) ! T
¬T
R!P
34
¬T
¬(R ! P ) ⌘ R ^ ¬P
Formas coclausales son:
(P _ Q) ^ (¬R _ S) ⌘ (P ^ ¬R) _ (P ^ S) _ (Q ^ ¬R) _ (Q ^ S)
¬Q _ ¬S _ T
¬T
R ^ ¬P
Para el ejercicio 2, estudiemos la conjunción de
A1 = (P ^ ¬R) _ (P ^ S) _ (Q ^ ¬R) _ (Q ^ S)
A2 = ¬Q _ ¬S _ T
A3 = ¬T
¬B = R ^ ¬P
A1 ^ A2 ^ A3 ^ ¬B = [(P ^ ¬R) _ (P ^ S) _ (Q ^ ¬R) _ (Q ^ S)] ^ [¬Q _
¬S _ T ] ^ ¬T ^ [R ^ ¬P ] ⌘ [(P ^ ¬R) _ (P ^ S) _ (Q ^ ¬R) _ (Q ^ S)] ^
[¬Q _ ¬S] ^ ¬T ^ R ^ ¬P ⌘ 0
Notemos que
(A1 ^ A2 ^ A3 ) ⌘ (A1 ^ A2 ^ A3 ) ^ (B _ ¬B) ⌘ ((A1 ^ A2 ^ A3 ) ^ B) _
((A1 ^ A2 ^ A3 ) ^ ¬B) ⌘ ((A1 ^ A2 ^ A3 ) ^ B)
En consecuencia
((A1 ^ A2 ^ A3 ) ^ B) ⌘ (A1 ^ A2 ^ A3 ).
Para el esquema 2. b)
(P ! Q) ^ (R ! S)
(Q ^ S) ! ¬T
T
¬P _ ¬R
Formas clausales:
(P ! Q) ^ (R ! S) ⌘ (¬P _ Q) ^ (¬R _ S)
(Q ^ S) ! ¬T ⌘ ¬Q _ ¬S _ ¬T
T
¬(¬P _ ¬R) ⌘ P ^ R
Formas coclausales:
A1 = (¬P _ Q) ^ (¬R _ S) ⌘ (¬P ^ ¬R) _ (¬P ^ S) _ (Q ^ ¬R) _ (Q ^ S)
A2 = ¬Q _ ¬S _ ¬T
A3 = T
¬B = P ^ R
Es fácil calcular la siguiente conjunción.
A1 ^ A2 ^ A3 ^ ¬B = [(¬P ^ ¬R) _ (¬P ^ S) _ (Q ^ ¬R) _ (Q ^ S)] ^
[¬Q _ ¬S _ ¬T ] ^ T ^ P ^ R ⌘ Q ^ S ^ T ^ P ^ R ^ [¬Q _ ¬S _ ¬T ] = 0
Ahora se deduce que
A1 ^ A2 ^ A3 ^ B = A1 ^ A2 ^ A3 .
35
TAREA DE LA TERCERA SESIÓN
Consideremos los siguientes esquemas de inferencia:
P !Q (P ^ Q) ! (R ^ S)
¬(P _ R) ! S S ! (Q ^ T )
1. a) b)
P _ ¬P S^T
(P ^ Q ! R) ! (¬S ! R) P ! (Q ^ R)
(P _ Q) ^ (R ! S) (P ! Q) ^ (R ! S)
(Q ^ S) ! T (Q ^ S) ! ¬T
2. a) b)
¬T T
R!P ¬P _ ¬R
36
UNA SOLUCIÓN A TAREA DE LA TERCERA SESIÓN
37
B ⌘ (A1 ^ A1 ^ A3 ) _ B
Para el esquema 2 a) :
A1 = (P _ Q) ^ (R ! S)
A2 = (Q ^ S) ! T
A3 = ¬T
B=R!P
Para el esquema 2 b)
A1 = (P ! Q) ^ (R ! S)
A2 = (Q ^ S) ! ¬T
A3 = T
B = ¬P _ ¬R
38
[¬T _ ¬R _ P ] ⌘ 1
Como antes si B _ ¬A1 _ ¬A1 _ ¬A3 = 1, entonces:
B ⌘ (A1 ^ A1 ^ A3 ) _ B
39