Está en la página 1de 39

LÓGICA

ACTIVIDADES EN GRUPO REDUCIDO


SESIONES 1–3
Luis Español y Luis Javier Hernández

12 de febrero de 2018

Índice
1. Tablas, equivalencias y formas normales 2

2. Análisis de Quine. Verificar tautologı́as y reglas 14

3. Cálculo booleano, formas normales y formas clausales y co-


clausales 30

1
LÓGICA, ACTIVIDADES EN GRUPO REDUCIDO, SESIÓN 1

1. Tablas, equivalencias y formas normales


Para iniciar el trabajo con una proposición, debemos asegurarnos de
que está bien escrita, una buena ayuda para este trámite es comprobar que
podemos dibujar su árbol.
Árboles
Escribir el árbol de una de una proposición P sirve para identificar su
conector raı́z y verificar su sintaxis, es decir, comprobar que se trata de un
fórmula proposicional bien formada de acuerdo con las normas de escritura.
Trazar los árboles de las proposiciones es muy simple, basta ver un ejemplo:
1. P = (p ! q) ^ (¬q ! p) [conector raı́z ^]

! !

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

Las dos tareas siguientes son de fácil ejecución:


1. Tabla de verdad de la proposición 1.
2. Un par de filas al azar de la tabla de verdad de la proposición 2.

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)

La primera es la forma normal conjuntiva, en ella cada paréntesis repre-


senta un 0 en la tabla de P . La segunda es la forma normal disyuntiva, en
ella cada paréntesis representa un 1 en la tabla de P .

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

Dos observaciones importantes:


(i) Todos los paréntesis en las formas normales contienen a todas las
variable involucradas, negadas o no.
(ii) Cada una de las formas normales ofrece toda la información de la
tabla, son como unas tablas algebraicas de la proposición inicial.
La siguiente observación anticipa lo que se verá con detalle en una próxi-
ma sesión: Se puede pasar de la primera a la segunda, y viceversa, mediante
equivalencias distributivas, conmutativas y de simplificación. En el ejemplo
anterior es ası́:

(p_q)^(¬p_¬q) ⌘ (p^¬p)_(p^¬q)_(q ^¬p)_(q ^¬q) ⌘ (p^¬q)_(¬p^q).

Pero esto también puede hacerse argumentando con ceros y unos. En el


caso anterior, una vez que con la forma normal conjuntiva conocemos los
dos pares que dan a P el valor 0, que son las (0, 0) y (1, 1), cualquiera de
los otros dos pares posibles darán 1 y a cada una de ellas corresponde un
paréntesis de la forma normal disyuntiva: a (1, 0) corresponde p ^ ¬q y a
(0, 1) corresponde ¬p ^ ¬q.

3
ALGUNOS EJERCICIOS RESUELTOS

Ejercicio 1 Escribir el árbol y la tabla de las proposiciónes siguientes.


Obtener a partir de ella sus dos formas normales y pasar de una a otra por
equivalencias.

1. ((p ^ q) _ (¬p ^ ¬r)) ! (q $ r)

2. (q ! p) ^ (¬p ! r)

3. ¬[(p ! r) ^ q)]

4. [(q ! p) ^ (¬p ! r)] ! [¬[(p ! r) ^ q)]]

Ejercicio 2 Considerar las proposiciones P = p ^ ¬q, Q = ¬p ^ q y el


alfabeto A = {p, q, r}

1. Dar la forma normal conjuntiva de P _ Q respecto a A.

2. Dar la forma normal disyuntiva de P _ Q respecto a A.

3. Encontrar dos proposiciones X, Y tales que X tenga dos modelos, Y


tenga dos modelos, X ^(P _Q), Y ^(P _Q), X ^Y sean contradiciones
y X _ Y _ P _ Q sea una taulotologı́a.

Ejercicio 3 Considerar la proposición P = (p q) $ r, y el alfabeto


A = {p, q, r}.

1. Dar la forma normal conjuntiva de P respecto a A.

2. Dar la forma normal disyuntiva de P respecto a A.

3. Encontrar dos proposiciones X, Y tales que X tenga dos modelos, Y


tenga dos modelos, X ^P , Y ^P , X ^Y sean contradiciones y X _Y _P
sea una taulotologı́a.

4
Una solución al ejercicio 1:

1) No se incluye el árbol sintáctivo. La tabla es la siguiente:

p q r ((p ^ q) _ (¬p ^ ¬r)) ! (q $ r) Filas0 Filas1


1 1 1 1 1 0 1 1 p^q^r
1 1 0 1 1 0 0 0 ¬p _ ¬q _ r
1 0 1 0 0 0 1 0 p ^ ¬q ^ r
1 0 0 0 0 0 1 1 p ^ ¬q ^ ¬r
0 1 1 0 0 0 1 1 ¬p ^ q ^ r
0 1 0 0 1 1 0 0 p _ ¬q _ ¬r
0 0 1 0 0 0 1 0 ¬p ^ ¬q ^ r
0 0 0 0 1 1 1 1 ¬p ^ ¬q ^ ¬r

También se puede aplicar el programa prolog lp.pl

| ?- 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

Encadenando equivalencias se tiene:


¬((p ^ q) _ (¬p ^ ¬r))) ⌘ ((¬p _ ¬q) ^ (p _ r))
(q $ r) ⌘ (¬q _ r) ^ (q _ ¬r)
Por lo tanto
((¬p _ ¬q) ^ (p _ r)) _ ((¬q _ r) ^ (q _ ¬r)) ⌘ (¬p _ ¬q _ r) ^ (p _ ¬q _ r)
Ahora para pasar a la forma normal disyuntiva. Basta con aplicar dis-
tributivas y otras equivalencias
(¬p _ ¬q _ r) ^ (p _ ¬q _ r) ⌘ (¬p ^ ¬q) _ (¬p ^ r) _ (¬q ^ p) _ (¬q) _
(¬q ^ r) _ (r ^ p) _ (r ^ ¬q) _ r ⌘ (p ^ q ^ r) _ (p ^ ¬q ^ r) _ (p ^ ¬q ^ ¬r) _
(¬p ^ q ^ r) _ (¬p ^ ¬q ^ r) _ (¬p ^ ¬q ^ ¬r)

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.

| ?- modelos_formula((q im p) y ( no p im r), L).

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

| ?- modelos_formula(no((q im p) y ( no p im r)), L).

L = [[(p,0),(q,0),(r,0)],[(p,0),(q,1),(r,0)],[(p,0),(q,1),(r,1)]]

(1 ms) yes

yes

p q r (q ! p) ^ (¬p ! r) Filas0 Filas1


1 1 1 1 1 1 p^q^r
1 1 0 1 1 1 p ^ q ^ ¬r
1 0 1 1 1 1 p ^ ¬q ^ r
1 0 0 1 1 1 p ^ ¬q ^ ¬r
0 1 1 0 0 1 p _ ¬q _ ¬r
0 1 0 0 0 0 p _ ¬q _ r
0 0 1 1 1 1 ¬p ^ ¬q ^ r
0 0 0 1 0 0 p_q_r

3) Análogamente al caso anterior se obtiene:

?-modelos_formula(no ((p im r) y q), L)


L = [[(p, 0), (q, 0), (r, 0)], [(p, 0), (q, 0), (r, 1)],
(p, 1), (q, 0), (r, 0)], [(p, 1), (q, 0), (r, 1)],
[(p, 1), (q, 1), (r, 0)]]

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

4) Como en el caso anterior se tiene:

| ?- modelos_formula(((q im p) y (no p im r)) im (no ((p im r) y q)), L).

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:

p q r ((q ! p) ^ (¬p ! r)) ! ¬ (( p ! r) ^ q)


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

Una solución al ejercicio 2:


Calculemos la forma normal conjuntiva
(p ^ ¬q) _ (¬p ^ q) ⌘ (p _ ¬p) ^ (p _ q) ^ (¬q _ ¬p) ^ (¬q _ q) ⌘ (p _ q) ^
(¬q _ ¬p) ⌘ (p _ q _ r) ^ (p _ q _ ¬r) ^ (¬p _ ¬q _ r) ^ (¬p _ ¬q _ ¬r)
Por lo tanto los contramodelos de P _Q son {(0, 0, 0), (0, 0, 1), (1, 1, 0)(1, 1, 1)}
En consecuencia los modelos de P _Q son {(1, 0, 0), (1, 0, 1), (0, 1, 0), (0, 1, 1)}
que determinan la forma disyuntiva normal
P _ Q ⌘ (p ^ ¬q ^ ¬r) _ (p ^ ¬q ^ r) _ (¬p ^ q ^ ¬r) _ (¬p ^ q ^ r)

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).

Una solución al ejercicio 3:


Calculemos la forma normal conjuntiva
(p q) $ r ⌘ ((p q) ! r) ^ (r ! (p q))
(p q) ! r ⌘ ¬(p q) _ r ⌘ (p $ q) _ r ⌘ ((¬p _ q) ^ (p _ ¬q)) _ r ⌘
(¬p _ q _ r) ^ (p _ ¬q _ r)
r ! (p q) ⌘ ¬r _ ((p ^ ¬q) _ (¬p ^ q)) ⌘ ¬r _ ((p _ q) ^ (¬q _ ¬p)) ⌘
(p _ q _ ¬r) ^ (¬p _ ¬q _ ¬r)
Entonces
(p q) $ r ⌘ (p _ q _ ¬r) ^ (p _ ¬q _ r) ^ (¬p _ q _ r) ^ (¬p _ ¬q _ ¬r)
Por lo tanto los contramodelos de P son {(0, 0, 1), (0, 1, 0), (1, 0, 0)(1, 1, 1)}
En consecuencia los modelos de P son {(1, 1, 0), (1, 0, 1), (0, 1, 1), (0, 0, 0)}
que determinan la forma disyuntiva normal
P ⌘ (p ^ q ^ ¬r) _ (p ^ ¬q ^ r) _ (¬p ^ q ^ r) _ (¬p ^ ¬q ^ ¬r)
Basta tomar como modelos de X _Y los contramodelos de P para X ^P ,
Y ^ P , X ^ Y sean contradiciones y X _ Y _ P 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 tengo
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

Ejercicio 1 Escribir el árbol y la tabla de las proposiciónes siguientes.


Obtener a partir de ella sus dos formas normales y pasar de una a otra por
equivalencias.

1. (q $ r) ! ((p ^ q) _ (¬p ^ ¬r))

2. (q $ r) _ (¬p ! r)

3. ¬[¬(p ! r) ^ q)]

4. [¬[(p ! r) ^ q]] ! [(q ! p) ^ (¬p ! r)]

Ejercicio 2 Considerar las proposiciones P = p _ ¬q, Q = ¬p _ q y el


alfabeto A = {p, q, r}

1. Dar la forma normal conjuntiva de P ^ Q respecto a A.

2. Dar la forma normal disyuntiva de P ^ Q respecto a A.

Ejercicio 3 Considerar la proposición P = p (q $ r), y el alfabeto


A = {p, q, r}.

1. Dar la forma normal conjuntiva de P respecto a A.

2. Dar la forma normal disyuntiva de P respecto a A.

3. Encontrar dos proposiciones X, Y tales que X tenga dos modelos, Y


tenga dos modelos, X ^P , Y ^P , X ^Y sean contradiciones y X _Y _P
sea una taulotologı́a.

9
Una solución al ejercicio 1 de la tarea de la primera sesión:

1) No se incluye el árbol sintáctivo. La tabla es la siguiente:


(q $ r) ! ((p ^ q) _ (¬p ^ ¬r))

p q r (q $ r) ! ((p ^ q) _ (¬p ^ ¬r)) Filas0 Filas1


1 1 1 1 1 1 1 0 p^q^r
1 1 0 0 1 1 1 0 p ^ q ^ ¬r
1 0 1 0 1 0 0 0 p ^ ¬q ^ r
1 0 0 1 0 0 0 0 ¬p _ q _ r
0 1 1 1 0 0 0 0 p _ ¬q _ ¬r
0 1 0 0 1 0 1 1 ¬p ^ q ^ ¬r
0 0 1 0 1 0 0 0 ¬p ^ ¬q ^ r
0 0 0 1 1 0 1 1 ¬p ^ ¬q ^ ¬r

También se puede aplicar el programa prolog lp.pl

| ?- 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

| ?- modelos_formula(((q sii r)im ((p y q) o (no p y no q))),L).

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)]]

Encadenando equivalencias se tiene:


((p ^ q) _ (¬p ^ ¬r))) ⌘ ((p _ ¬p) ^ (p _ ¬r)) ^ (¬p _ q) ^ (q _ ¬r) ⌘
(p _ ¬r) ^ (¬p _ q) ^ (q _ ¬r)
(q $ r) ⌘ (¬q _ r) ^ (q _ ¬r) ⌘ (¬q ^ ¬r) _ (r ^ q)
¬(q $ r) ⌘ (q ^ ¬r) _ (¬q ^ r) ⌘ (q _ r) ^ (¬q _ ¬r)
Por lo tanto
(q $ r) ! ((p^q)_(¬p^¬r)) ⌘ ((q ^¬r)_(¬q ^r)_(p^q)_(¬p^¬r) ⌘
(p^q^r)_(p^q^¬r)_(p^¬q^r)_(¬p^q^¬r)_(¬p^¬q^r)_(¬p^¬q^¬r)
Ahora buscamos la forma normal disyuntiva.

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.

| ?- modelos_formula(((q sii r) o (no p im 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,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:

| ?- modelos_formula(no (no(p im r) y q), L).

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

4) Como en el caso anterior se tiene:

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

La forma normal conjuntiva se calcula facilmente:


[¬[(p ! r) ^ q)]] ! [(q ! p) ^ (¬p ! r)] ⌘ [(p ! r) ^ q)] _ [(¬q _ p) ^
(p _ r)] ⌘ [(¬p _ r) ^ q)] _ [(¬q _ p) ^ (p _ r)] ⌘ p _ q _ r
En la forma normal disyutiva intervienen las siete co-cláusulas restantes.

Una solución al ejercicio 2 de la tarea de la primera sesión:

Calculemos la forma normal conjuntiva


(p _ ¬q) ^ (¬p _ q) ⌘ (p ^ ¬p) _ (p ^ q) _ (¬q ^ ¬p) _ (¬q ^ q) ⌘ (p ^ q) _
(¬q ^ ¬p) ⌘ (p ^ q ^ r) _ (p ^ q ^ ¬r) _ (¬p ^ ¬q ^ r) _ (¬p ^ ¬q ^ ¬r)
Por lo tanto los modelos de P ^ Q son {(0, 0, 0), (0, 0, 1), (1, 1, 0)(1, 1, 1)}
En consecuencia los contramodelos de P ^Q son {(1, 0, 0), (1, 0, 1), (0, 1, 0), (0, 1, 1)}
que determinan la forma conjuntiva normal
P ^ Q ⌘ (¬p _ q _ r) ^ (¬p _ q _ ¬r) ^ (p _ ¬q _ r) ^ (p _ ¬q _ ¬r)

Una solución al ejercicio 3 de la tarea de la primera sesión:

Calculemos la forma normal conjuntiva


p (q $ r) ⌘ (p^¬(q $ r))_(¬p^(q $ r)) ⌘ (p_(q $ r))^(¬p_¬(q $
r))
Notemos que
q $ r ⌘ (q ! r) ^ (r ! q) ⌘ (¬q _ r) ^ (q _ ¬r) ⌘ (¬q ^ ¬r) _ (q ^ r)
¬(q $ r) ⌘ (q ^ ¬r) _ (¬q ^ r) ⌘ (q _ r) ^ (¬q _ ¬r)
Por lo tanto,
(p _ (q $ r)) ^ (¬p _ ¬(q $ r)) ⌘ (p _ ((¬q _ r) ^ (q _ ¬r))) ^ (¬p _ ((q _
r) ^ (¬q _ ¬r))) ⌘ (p _ ¬q _ r) ^ (p _ q _ ¬r) ^ (¬p _ q _ r) ^ (¬p _ ¬q _ ¬r))
Para la forma normal disyuntiva
p (q $ r) ⌘ (p^¬(q $ r))_(¬p^(q $ r)) ⌘ (p^((q ^¬r)_(¬q ^r)))_
((¬p^((¬q^¬r)_(q^r))) ⌘ (p^q^¬r)_(p^¬q^r)_(¬p^¬q^¬r)_(¬p^q^r)

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

2. Análisis de Quine. Verificar tautologı́as y reglas


En esta sesión se van a ver modos de cálculo de los valores de verdad de
las proposiciones diferentes de la ejecución directa de sus tablas completas,
que puede ser algo monótono y largo.
Análisis de Quine
Realizar el análisis de Quine1 de una proposición P = P (p, q, r, . . .) es
otra manera de disponer el cálculo de sus valores de verdad. Se procede
eliminando sucesivamente las variables mediante un cálculo funcional en el
que se admite la aparición de 1 y 0 en la expresión de las proposiciones.
Lo que significa eliminar una variable se aprecia en los soguientes ejem-
plos:
1. P = (p ! q) ^ (¬q ! p). Eliminar la variable p en esta proposición
P significa calcular los valores que toma P en cada uno de los dos valores
posibles de p. Estos valores serán proposiciones más cortas:
P (1, q) = q y P (0, q) = q (¡Qué casualidad! ¿Por qué?).
2. P = ((p ^ q) _ (¬p ^ ¬r)) ! (q $ r). Eliminar q en esta proposición P
significa calcular:
P (p, 1, r) = (p _ (¬p ^ ¬r)) ! (1 $ r)
P (p, 0, r) = (¬p ^ ¬r) ! (0 $ r).
Eliminando todas la variables sucesivamente, no importa el orden, se
llega a los valores de verdad finales.
A continuación se muestra el cálculo de Quine de la proposición 1, el
primer cálculo que se realiza es P (1, q, r) y P (0, q, r).

1 p 0
q q
1 q 0 1 q 0
1 0 1 0

Ahora incluimos el cálculo realizado para la proposición 2.


1
W. V. Quine (1908-2000), lógico norteamericano.

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.

Se llega a una situación absurda, entonces SÍ es una tautologı́a.


El procedimiento funciona óptimo con los conectores que tienen en su
tabla un único valor final 0 (disyunción y condicional). Con otros puede ser
necesario realizar varios casos.
Por ejemplo para probar que el axioma HB9 (de la hoja de tautologı́as):
Suponemos que (P ! Q) ! ((P ! R) ! (P ! (Q ^ R)) = 0. De aquı́
se sigue que (P ! Q) = 1 y ((P ! R) ! (P ! (Q ^ R)) = 0. Por lo tanto.
(P ! R) = 1 y (P ! (Q ^ R)) = 0. Entonces P = 1, Q = 0 y R = 0. Esto
contradice que (P ! Q) = 1 ( y también (P ! R) = 1 ). Esta contradicción
viene de suponer que se alcanza el valor 0. Luego siempre vale 1 y es una
tautologı́a.
Queremos probar que (p _ (q ^ r)) ! ((p _ q) ^ (p _ r)) es una tautologı́a.
Supongamos que ((p _ (q ^ r)) ! ((p _ q) ^ (p _ r))) = 0. Esto implica
que (p _ (q ^ r)) = 1 y ((p _ q) ^ (p _ r)) = 0. Ası́ que (p _ q) = 0 y (p _ r) = 0.
Luego p = q = r = 0. Pero contradice que (p _ (q ^ r)) = 1.
El llegar a este absurdo implica que la proposición es una tautologı́a.
En la “Hoja de tautologı́as” hay una gran cantidad de ellas con las que
practicar hasta adquirir soltura con el procedimiento.

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

Igual que para verificar tautologı́as hay un método inverso, lo hay


también para verificar reglas. Consiste en tomar la definición en forma con-
trarrecı́proca:
si la conclusión es falsa entonces alguna premisa es falsa.
Para (RC): Si R = 0 entonces las premisas son P _ Q, P ! 0, Q ! 0. Si
P = Q = 0 entonces es falsa la primera, y si P = 1 o bien Q = 1 entonces
es falsa la segunda o la tercera; en cualquiera de los casos posibles una de
las tres premisas es falsa.

16
EJERCICIOS RESUELTOS DE LA SEGUNDA SESIÓN
Ejercicio 1. Realizar el análisis de Quine de las siguientes proposicio-
nes:

1. ((p ^ q) _ (¬p ^ ¬r)) ! (q $ r)

2. (q ! p) ^ (¬p ! r)

3. ¬[(p ! r) ^ q)]

4. [(q ! p) ^ (¬p ! r)] ! [¬[(p ! r) ^ q)]]

Ejercicio 2. Verificar si las siguientes proposiciones son tautologı́as:

1. P ! (Q ! (P ! Q)) [Si vale 0, será P = Q = 1 y (P ! Q) = 0, absurdo].

2. (P ^ Q) ! (P ^ (P ! Q)) y su recı́proca (P ^ (P ! Q)) ! (P ^ Q).

3. (P ! Q) ! ((P ! R) ! (P ! (Q ^ R))).

4. (P _ (Q ^ R)) ! ((P _ Q) ^ (P _ R)) [Hacer casos P = 1, 0].

5. P ! (Q ! (P ! R)) [Si vale 0 será P = Q = 1, compatible con R = 0].

Ejercicio 3. Analizar si las siguientes reglas son o no válidas:

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

Para la tercera proposición se obtiene lo siguiente:


¬[(p ! r) ^ q)]
Para p = 1, se tiene ¬[(p ! r)^q)] ⌘ ¬[(1 ! r)^q)] ⌘ ¬[r^q)] ⌘ ¬r_¬q
Para p = 0, se tiene ¬[(p ! r) ^ q)] ⌘ ¬[(0 ! r) ^ q)] ⌘ ¬[1 ^ q)] ⌘ ¬q

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

Para la cuarta proposición:


[(q ! p) ^ (¬p ! r)] ! [¬[(p ! r) ^ q)]]
Para p = 1, [(q ! 1) ^ (0 ! r)] ! [¬[(1 ! r) ^ q)]] ⌘ 1 ! [¬[r ^ q)]] ⌘
¬[r ^ q ⌘ ¬r _ ¬q
Para p = 0, [(q ! 0) ^ (1 ! r)] ! [¬[(0 ! r) ^ q)]] ⌘ (¬q ^ r) !
[¬[1 ^ q)]] ⌘ (¬q ^ r) ! ¬q ⌘ (q _ ¬r) _ ¬q ⌘ 1
Ahora la tabla de Quine se realiza con facilidad.

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

Solución del Ejercicio 2


La solución de 2.1 está en el propio enunciado.
Para 2.2, suponemos que ((P ^ Q) ! (P ^ (P ! Q))) = 0. Entonces,
(P ^ Q) = 1 y (P ^ (P ! Q)) = 0. Por lo tanto P = 1 , Q = 1. Luego
(P ^ (P ! Q)) = 1. El haber llegado a este absurdo, implica que (P ^ Q) !
(P ^ (P ! Q)) es una taulologı́a.
Para ver el recı́proco de 2.2, supongamos que ((P ^ (P ! Q)) ! (P ^
Q)) = 0. Entonces, (P ^ (P ! Q)) = 1 y (P ^ Q) = 0. Luego P = 1,
Q = 1. Por lo tanto (P ^ Q) = 1. El haber llegado a este absurdo, implica
que((P ^ (P ! Q)) ! (P ^ Q))) es una taulologı́a.
Para verificar 2.3, supongamos que existen algunos valores de P, Q, R
que anulan la proposición (P ! Q) ! ((P ! R) ! (P ! (Q ^ R))) = 0.
Entonces, (P ! Q) = 1 y ((P ! R) ! (P ! (Q ^ R))) = 0. Por lo
tanto, (P ! R) = 1 y (P ! (Q ^ R)) = 0. Esto implica que, P = 1. Ası́
que P = 1, (P ! Q) = 1 y (P ! R) = 1. Entonces, P = Q = R = 1.
Por lo tanto, (P ! (Q ^ R)) = 1 y (P ! (Q ^ R)) = 0. Este absurdo,
viene de suponer que para existen algunos valores de P, Q, R que hacen que
(P ! Q) ! ((P ! R) ! (P ! (Q ^ R))) = 0. Como no es cierto que
existan algunos valores que anulan la proposición se sigue que para todos
los posibles valores de P, Q, R la proposición vale 1. Luego es una tautologı́a.
NOTA: La demostración anterior es un ejemplo de deducción natural con
cálculo de predicados. En las fórmulas anteriores, los cuantificadores se han
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, es 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 P, Q, R se tiene
que (P _ (Q ^ R)) ! ((P _ Q) ^ (P _ R)) = 1.
Sabemos que la siguiente fórmula es verdadera para posibles valores de

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.

Solución del Ejercicio 3


Del ejercicio 3, las partes 3.1 y 3.2 no tienen dificultad.
Ahora, se trata de verificar si el siguiente esquema (3.3.a) es una regla.

P !Q
¬(P _ R) ! S
((P ^ Q) ! R) ! (¬S ! R)

Si la conclusión es falsa, entonces R = S = 0 y además o bien P = 0 o


bien Q = 0. Por anularse R y S las premisas quedan de la forma P ! Q y
¬P ! 0; cuando sea P = 0 será falsa la segunda; cuando sea Q = 0 tomarán
la forma P ! 0 y ¬P ! 0 una de las cuales se ha de anular según los valores
1, 0 que tome P . Verificado pues que se trata de una regla.
Para el esquema 3.3.b:

(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

de aridad 2 del programa lp.pl. de lógica proposicional realizado en prácticas


de programación lógica. Incluimos a continuación las respuestas que nos da
el programa:

| ?- es_consecuencia([ (q o p) y (r im s),(q y s) im t, no t], r im p).

yes

| ?- es_consecuencia([ (p im q) y (r im s),(q y s) im no t, t],


no p o no r).

(1 ms) yes

De este modo conocemos previamente el resultado de que efectivamente


son reglas. Para verificar 3.4.a

(P _ Q) ^ (R ! S)
(Q ^ S) ! T
¬T
R!P

Suponemos que (R ! P ) = 0. Entonces R = 1 y P = 0.


(0 _ Q) ^ (1 ! S)
(Q ^ S) ! T
(¬T ) = 1
0
Ası́ que T = 0.
(0 _ Q) ^ (1 ! S)
(Q ^ S) ! 0
1
0

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:

1. (q $ r) ! ((p ^ q) _ (¬p ^ ¬r))

2. (q $ r) _ (¬p ! r)

3. ¬[¬(p ! r) ^ q)]

4. [¬[(p ! r) ^ q]] ! [(q ! p) ^ (¬p ! r)]

Ejercicio 2. Verificar si las siguientes proposiciones son tautologı́as:

1. (b ! c) ! ((a ! c) ! ((b ! c) ! (a ! c)))

2. ((b ! c) ^ (a ! c)) ! ((b ! c) ^ ((b ! c) ! (a ! c))) y su recı́proca


((b ! c) ^ ((b ! c) ! (a ! c))) ! ((b ! c) ^ (a ! c)).

3. (B ! C) ! ((B ! A) ! (B ! (C ^ A))).

4. (B _ (C ^ A)) ! ((B _ C) ^ (B _ A))

5. B ! (C ! (B ! A))

Ejercicio 3. Analizar si los siguientes esquemas son o no válidos:

(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

El análisis de Quine de la segunda proposición es el siguiente:


B = (q $ r) _ (¬p ! r)
Si p = 1, B(1, q, r) ⌘ (q $ r) _ (0 ! r) ⌘ 1 .
Si p = 0, B(0, q, r) ⌘ q $ r) _ (1 ! r) ⌘ (q $ r) _ (1 ! r) ⌘ q $ r) _ r

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

Para la tercera proposición se obtiene lo siguiente:


C = ¬[¬(p ! r) ^ q)]
Para p = 1, se tiene C(1, q, r) ⌘ ¬[¬(p ! r) ^ q)] ⌘ ¬[¬(1 ! r) ^ q)] ⌘
¬[¬r ^ q)] ⌘ r _ ¬q
Para p = 0, se tiene C(0, q, r) ⌘ ¬[¬(0 ! r) ^ q) ⌘ ¬[0 ^ q) ⌘ 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

Solución del Ejercicio 2


La solución de 2.1 es inmediata.
Para 2.2, suponemos que (((b ! c) ^ (a ! c)) ! ((b ! c) ^ ((b ! c) !
(a ! c)))) = 0. Entonces, ((b ! c) ^ (a ! c)) = 1 y ((b ! c) ^ ((b !
c) ! (a ! c))) = 0. Por lo tanto (b ! c) = 1 , (a ! c) = 1. Luego
((b ! c) ^ ((b ! c) ! (a ! c))) = 1. El haber llegado a este absurdo,
implica que ((b ! c) ^ (a ! c)) ! ((b ! c) ^ ((b ! c) ! (a ! c))) es una
taulologı́a.
Para ver el recı́proco de 2.2, supongamos que (((b ! c) ^ ((b ! c) !
(a ! c))) ! ((b ! c) ^ (a ! c))) = 0. Entonces, ((b ! c) ^ ((b ! c) !
(a ! c))) = 1 y ((b ! c) ^ (a ! c)) = 0. Luego (b ! c) = 1, (a ! c) = 1.
Por lo tanto ((b ! c) ^ (a ! c)) = 1. El haber llegado a este absurdo,
implica que(((b ! c) ^ ((b ! c) ! (a ! c))) ! ((b ! c) ^ (a ! c)))) es una
taulologı́a.
Para verificar 2.3, supongamos que existen algunos valores de B, C, A
que anulan la proposición (B ! C) ! ((B ! A) ! (B ! (C ^ A))) = 0.
Entonces, (B ! C) = 1 y ((B ! A) ! (B ! (C ^ A))) = 0. Por lo
tanto, (B ! A) = 1 y (B ! (C ^ A)) = 0. Esto implica que, B = 1. Ası́
que B = 1, (B ! C) = 1 y (B ! A) = 1. Entonces, B = C = A = 1.
Por lo tanto, (B ! (C ^ A)) = 1 y (B ! (C ^ A)) = 0. Este absurdo,
viene de suponer que para existen algunos valores de B, C, A que hacen que
(B ! C) ! ((B ! A) ! (B ! (C ^ A))) = 0. Como no es cierto que
existan algunos valores que anulan la proposición se sigue que para todos
los posibles valores de B, C, A la proposición vale 1. Luego es una tautologı́a.
NOTA: La demostración anterior es un ejemplo de deducción natural con
cálculo de predicados. En las fórmulas anteriores, los cuantificadores se han

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.

Solución del Ejercicio 3


Si queremos saber previamente si son o no reglas si se quiere se puede
utilizar el predicado

es_consecuencia

de aridad 2 del programa lp.pl. de lógica proposicional realizado en prácticas


de programación lógica. Incluimos a continuación las respuestas que nos da

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

Si suponemos que (P ^ Q) ! R = 0, se tiene que R = 0, P = 1 y Q = 1.


Entonces, (b ! c) ! (Q ! R) = (b ! c) ! 0. Pero, por ejemplo, para
b = 1 = c se tiene que (b ! c) ! (Q ! R) = 1 y (P ^ Q) ! R = 0 . Luego
no es una regla.

((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

Supongamos que (P ^ (a ! c) ! R) ! (¬S ! R) = 0 . Entonces,


(P ^ (a ! c) ! R) = 1 y (¬S ! R) = 0. Por lo tanto, S = 0 = R. Por lo
tanto, (P ^ (a ! c) ! 0) = 1. Esto implica que P = 1 y (a ! c) = 0.
Para la primera premisa tenemos:
P ! (a ! c) = 1 ! 0 = 0. Por lo tanto, todo contramodelo del
consecuente es un contramodelo del primer antecedente. Luego se trata de
una regla.

(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

Supongamos que P ! ((a ! c) ^ R) = 0. Entonces P = 1, (a ! c) = 0


y R = 0.
Si todas la premisas son verdaderas, se tiene que S = 1, T = 1 y S !
((a ! c) ^ T ) = 1. Por lo tanto (a ! c) = 1. Lo que contradice que
(a ! c) = 0. Luego, es una regla.

(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

Supongamos que (a ! b) ! P = 0. Entonces, (a ! b) = 1 y P = 0.


Si los antecedentes son verdaderos, se tiene:
1 = (P _ Q) ^ ((a ! b) ! S) = Q ^ S. Ası́ que 1 = (Q ^ S) ! T = 1 !
T = T . Lo que contradice que ¬T = 1.
Por lo tanto, es una regla.

(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

Supongamos que ¬P _ ¬(a ! b) = 0. Entonces, P = 1 y (a ! b) = 1.


Supongamos que las premisas son verdaderas.
1 = (P ! Q) ^ ((a ! b) ! S) = Q ^ S. Entonces,
1 = (Q ^ S) ! ¬T = ¬T . Esto contradice que 1 = T .
Por lo tanto, se trata de una regla.

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.

(iv) (absorción) x ^ (x _ y) = x = x _ (x ^ y).

(v) (del cero) x ^ 0 = 0, x _ 0 = x.

(vi) (del uno) x ^ 1 = x, x _ 1 = 1.

(vii) (distributiva) x ^ (y _ z) = (x ^ y) _ (x ^ z).

(viii) (distributiva ) x _ (y ^ z) = (x _ y) ^ (x _ z).

(ix) (de la negación) x ^ ¬x = 0, x _ ¬x = 1.

Además, como se verifican las leyes de De Morgan.

(x) ¬(x ^ y) = ¬x _ ¬y.

(xi) ) ¬(x _ y) = ¬x ^ ¬y.

Este cálculo es un cálculo de proposiciones algebraico que consiste en


la transformación sucesiva de una proposición mediante la aplicación de
equivalencias. En la primera sesión vimos algún ejemplo de cómo pasar de
una forma normal a la otra de una proposición. Entonces obtuvimos cada
forma normal a través de la tabla. Ahora usaremos el cálculo booleano para

obtener las formas normales de una proposición sin necesidad de su tabla.

1. Un ejemplo muy simple. Obtendremos la forma normal conjuntiva de


una proposición ya usada en sesiones anteriores:

P = (p ! q) ^ (¬q ! p) ⌘1 (¬p _ q) ^ (¬¬q _ p)) ⌘2

⌘2 (p _ q) ^ (¬p _ q)

Las equivalencias usadas han sido éstas:

30
⌘1 : Eliminar el condicional con p ! q ⌘ ¬p _ q

⌘2 : Simplificar con doble negación y conmutatividad

Cada forma normal es una manera estándar de escribir una proposición


salvo equivalencias de modo que podemos “ver escritos” en forma algebraica
o bien todos sus ceros o bien todos sus unos: la proposición P anterior tiene
dos únicos ceros para (p, q) = (0, 0), (1, 0).
2. Pero el cálculo booleano puede llegar a conclusiones más simplificado-
ras. Por ejemplo, si seguimos haciendo equivalencias (distributiva y simpli-
ficadora de 0) en la proposición P anterior llegamos a su forma de escritura
(salvo equivalencias) más breve2 : P · · · ⌘ (p ^ ¬p) _ q ⌘ q.
3. El cálculo booleano permite descubrir tautologı́as:

P = (p ! q) _ (q ! p) ⌘1 (¬p _ q) _ (¬q _ p)) ⌘2

⌘2 (p _ ¬p) _ (q _ ¬q) ⌘3 1

Las equivalencias usadas han sido éstas: ⌘1 : Eliminar el condicional. ⌘2 :


Asociativas y conmutativas. ⌘3 : Simplificadoras de 1.
Como P es una tautologı́a no podemos tener su forma normal conjuntiva,
pero sı́ la disyuntiva en la que veremos un paréntesis por cada 1 de su tabla.
Partiendo de lo obtenido antes:

P ⌘1 ¬p _ q _ ¬q _ p ⌘2 (¬p ^ q) _ (¬p ^ ¬q) _ · · · ⌘3

⌘3 (p ^ q) _ (p ^ ¬q) _ (¬p ^ q) _ (¬p ^ ¬q)

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

¬p ⌘ ¬p ^ 1 ⌘ ¬p ^ (q _ ¬q) ⌘ (¬p ^ q) _ (¬p ^ ¬q).

Las demás de modo similar. ⌘3 : Simplificar repeticiones (idempotencia).


Formas normales
Lo que corresponde ahora es formular el proceso general y sistemático
que nos lleva desde cualquier proposición hasta una cualquiera de sus dos
formas normales (sólo una para tautologı́as y contradicciones). Se han de dar
los siguientes pasos, aprovechando siempre todas las ocasiones para simpli-
ficar y reordenar las letras (con o sin ¬) procurando una lectura más
cómoda:

1. Eliminar conectores dejando sólo los del sistema {¬, ^, _}


2
Lo que también se ve en la tabla si uno es un observador perspicaz.

31
2. Introducir el conector ¬ en los paréntesis

3. Distribuir para reoordenar la presencia de los conectores ^, _

4. Completar variables 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

Ejercicio 1. Calcular formas clausales y coclausales de las premisas y de


la negación de la consecuencia (simplicadas) de los esquemas de inferencia
señalados anteriormente.
Ejercicio 2. Eliminar el conector condicional en las premisas y conse-
cuencias de las proposiciones de los esquemas anteriores de modo que queden
expresadas en el sistema de conectores {¬, ^, _}. A continuación obtener el
resultado de hacer la conjunción de las nuevas premisas. Después la con-
junción de este resultado con la negación de nueva consecuencia y, por otro
lado, la conjunción del resultado con la consecuencia.
Para el esquema de inferencia 1. a) Llamaremos A1 , A2 a las premisas y
B a la consecuencia.
Para el ejercicio 1, se tiene que:
A1 ⌘ P ! Q ⌘ ¬P _ Q
A2 ⌘ ¬(P _ R) ! S ⌘ P _ R _ S
¬B ⌘ ¬[(P ^ Q ! R) ! (¬S ! R)] ⌘ (P ^ Q ! R) ^ ¬(¬S ! R) ⌘
(¬P _ ¬Q _ R) ^ ¬S ^ ¬R
Una forma coclausal de ésta última es la siguiente
(¬P ^ ¬S ^ ¬R) _ (¬Q ^ ¬S ^ ¬R)
Para el ejercicio 2, se tiene que si A1 , A2 son la premisas y B la conse-
cuencia:
(A1 ^ A2 ) ^ ¬B ⌘ (¬P _ Q) ^ (P _ R _ S) ^ ((¬P ^ ¬S ^ ¬R) _ (¬Q ^ ¬S ^
¬R)) ⌘ [(¬P _ Q) ^ (P _ R _ S) ^ (¬P ^ ¬S ^ ¬R)] _ [(¬P _ Q) ^ (P _ R _ S) ^
(¬Q ^ ¬S ^ ¬R)] ⌘ [(¬P _ Q) ^ (P _ R _ S) ^ ¬(P _ R _ S)] _ [(¬P _ Q) ^ (P _
R _ S) ^ (¬Q ^ ¬S ^ ¬R)] ⌘ [(¬P _ Q) ^ (P _ R _ S) ^ (¬Q ^ ¬S ^ ¬R)] ⌘ 0.
Notemos que

(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 ).

Para el apartados 2. a) se utiliza métodos análogos a los empleados en


el los esquemas 1. a) y 1. b).

(P _ Q) ^ (R ! S)
(Q ^ S) ! T
¬T
R!P

Formas clausales son


(P _ Q) ^ (R ! S) ⌘ (P _ Q) ^ (¬R _ S)
(Q ^ S) ! T ⌘ (¬Q _ ¬S) _ T

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

Ejercicio 1. Denotemos por A1 , A2 , A3 las premisas de los esquemas


anteriores y por B a la consecuencia. Calcular formas clausales y coclausales
de la negación de las premisas ¬A1 , ¬A2 , ¬A3 y de la consecuencia B de cada
uno de los cuatro esquemas de inferencia señalados anteriormente.
Ejercicio 2. Para cada uno de los esquemas de inferencia anteriores:
i) Obtener resultados (simplificados) obtenidos de hacer la disyunción
de la negación de las premisas ¬A1 _ ¬A2 _ ¬A3 expresadas en el sistema
de connectores {¬, ^, _}.
ii) Después calcular la disyunción ¬A1 _ ¬A2 _ ¬A3 _ B del resultado
anterior (el de i)) con la consecuencia (B) comprobando si es verdadera o
falsa la igualdad ¬A1 _ ¬A2 _ ¬A3 _ B = 1.
iii) Estudiar si se verifica o no la igualdad (A1 ^ A1 ^ A3 ) _ B = B.

36
UNA SOLUCIÓN A TAREA DE LA TERCERA SESIÓN

Para el esquema de inferencia 1. a)


Para el ejercicio 1, se tiene que:
¬A1 ⌘ ¬(P ! Q) ⌘ P ^ ¬Q
¬A2 ⌘ ¬[¬(P _ R) ! S] ⌘ ¬P ^ ¬R ^ ¬S
¬A3 ⌘ ¬(P _ ¬P ) ⌘ ¬P ^ P = 0
B ⌘ (P ^ Q ! R) ! (¬S ! R) ⌘ ¬(P ^ Q ! R) _ (¬S ! R) ⌘
(P ^ Q ^ ¬R) _ S _ R
Una forma clausal de ésta última es la siguiente:
(P _ S _ R) ^ (Q _ S _ R)
Para el ejercicio 2, se tiene que si A1 , A2 , A3 son la premisas y B la
consecuencia:
(¬A1 _ ¬A2 _ ¬A3 ) _ B ⌘ (¬A1 _ ¬A2 ) _ B ⌘ (P ^ ¬Q) _ (¬P ^ ¬R ^
¬S) _ ((P _ S _ R) ^ (Q _ S _ R)) ⌘ [(P ^ ¬Q) _ (¬P ^ ¬R ^ ¬S) _ (P _
S _ R)] ^ [(P ^ ¬Q) _ (¬P ^ ¬R ^ ¬S) _ (Q _ S _ R)] ⌘ [(P ^ ¬Q) _ (¬P ^
¬R ^ ¬S) _ (P ^ R ^ S)] ^ [(P ^ ¬Q) _ (¬P ^ ¬R ^ ¬S) _ (Q _ S _ R)] ⌘
[(P ^ ¬Q) _ (¬P ^ ¬R ^ ¬S) _ (Q _ S _ R)] ⌘ 1.
Notemos que si B _ ¬A1 _ ¬A1 _ ¬A3 = 1, entonces:
B = B _ 0 ⌘ B _ ((A1 ^ A1 ^ A3 ) ^ ¬(A1 ^ A1 ^ A3 )) ⌘ (B _ (A1 ^ A1 ^
A3 ))^(B _¬A1 _¬A1 _¬A3 )) ⌘ (B _(A1 ^A1 ^A3 ))^1 ⌘ (A1 ^A1 ^A3 )_B

Para el esquema de inferencia 1. b):


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)
Donde hemos expresado una forma clausal y otra coclausal.
Del mismo modo tenemos:
¬A2 ⌘ S ^ (¬Q _ ¬T ) ⌘ (S ^ ¬Q) _ (S ^ ¬T )
¬A3 ⌘ ¬S _ ¬T
B ⌘ P ! (Q ^ R) ⌘ ¬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 ^ Q ^ (¬R _ ¬S]_
[S ^ (¬Q _ ¬T )]_
[¬S _ ¬T ] _ [(¬P _ Q) ^ (¬P _ R)] ⌘ 1
Como hemos visto antes si B _ ¬A1 _ ¬A1 _ ¬A3 = 1, entonces:

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

¬A1 ⌘ (¬P ^¬Q)_(R^¬S) ⌘ (¬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 ]_
[T _ ¬R _ P ] ⌘ 1
Como antes si B _ ¬A1 _ ¬A1 _ ¬A3 = 1, entonces:
B ⌘ (A1 ^ A1 ^ A3 ) _ B

Para el esquema 2 b)

A1 = (P ! Q) ^ (R ! S)
A2 = (Q ^ S) ! ¬T
A3 = T
B = ¬P _ ¬R

¬A1 ⌘ (P ^ ¬Q) _ (R ^ ¬S) ⌘ (P _ R) ^ (P _ ¬S) ^ (¬Q _ R) ^ (¬Q _ ¬S)


¬A2 ⌘ Q ^ S ^ T
¬A3 ⌘ ¬T
B ⌘ ¬P _ ¬R
(¬A1 _ ¬A2 _ ¬A3 ) _ B ⌘
[(P _ R) ^ (P _ ¬S) ^ (¬Q _ R) ^ (¬Q _ ¬S)]_
[Q ^ S ^ T ]_
¬T _
[¬P _ ¬R] ⌘
[(¬P _ R) ^ (¬P _ ¬S) ^ (¬Q _ R) ^ (¬Q _ ¬S)]_
[Q ^ S ^ T ]_

38
[¬T _ ¬R _ P ] ⌘ 1
Como antes si B _ ¬A1 _ ¬A1 _ ¬A3 = 1, entonces:
B ⌘ (A1 ^ A1 ^ A3 ) _ B

39