LP
LP
LP
IIC2213
IIC2213 L ogica Proposicional 1 / 56
Inicio de la Logica
Originalmente, la Logica trataba con argumentos en el lenguaje
natural.
Ejemplo
Es el siguiente argumento valido?
Todos los hombres son mortales.
S ocrates es hombre.
Por lo tanto, S ocrates es mortal.
La l ogica debera poder usarse para demostrar que s.
IIC2213 L ogica Proposicional 2 / 56
Inicio de la Logica
Ejemplo
Que pasa con el siguiente caso?
Algunas personas son mujeres.
S ocrates es una persona.
Por lo tanto, S ocrates es mujer.
En este caso deberamos decir que el argumento no es valido.
IIC2213 L ogica Proposicional 3 / 56
Inicio de la Logica
Pero los argumentos pueden ser mas complejos ...
Creo que todos los hombres son mortales.
Creo que S ocrates es hombre.
Por lo tanto, creo que S ocrates es mortal.
Es este argumento valido? Por que?
Que signica creo? Que pasara si reemplazamos creo que por no
se si?
IIC2213 L ogica Proposicional 4 / 56
Paradojas en el lenguaje natural
Un da de la pr oxima semana les voy a hacer una interrogaci on,
y les aseguro que el da que se las haga van a estar sorprendidos.
Que da voy a hacer la interrogacion?
IIC2213 L ogica Proposicional 5 / 56
Matematica en el lenguaje natural: Paradoja de Berry
Podemos representar los n umeros naturales usando oraciones del
lenguaje natural: Mil quinientos veinte, el primer n umero, ...
El n umero de palabras en el Diccionario de la Real Academia es
nito.
El n umero de oraciones con a los mas 50 palabras tambien es nito.
IIC2213 L ogica Proposicional 6 / 56
Matematica en el lenguaje natural: Paradoja de Berry
Sea B el siguiente n umero natural:
El primer n umero natural que no puede ser denido por una
oraci on con a lo mas cincuenta palabras tomadas del Dicciona-
rio de la Real Academia.
B esta bien denido, pero con solo 25 palabras. Tenemos una
contradiccion!
Que pas o?
IIC2213 L ogica Proposicional 7 / 56
Mas paradojas: Russell (1902)
Tambien pueden aparecer paradojas usando lenguaje matem atico.
Sea A = {1, 2, 3}
A A? No.
Sea B = {{1, 2, 3}, {4, 5}}
A B? S.
B B? No.
IIC2213 L ogica Proposicional 8 / 56
Mas paradojas: Russell (1902)
Sea C el conjunto de todos los conjuntos que tienen a lo menos
dos elementos: C = {A, B, . . .}
C C? S.
Entonces podemos denir el siguiente conjunto: U = {X | X X}.
Tenemos: A U, B U, C U.
U U? Por denici on, U U si y solo si U U. Tenemos una
contradicci on!
C omo denimos la noci on de conjunto?
IIC2213 L ogica Proposicional 9 / 56
Por que necesitamos la Logica?
Necesitamos un lenguaje con una sintaxis precisa y una semantica
bien denida.
Queremos usar este lenguaje en matematicas.
- Denici on de objetos matematicos: conjunto, numeros naturales,
numeros reales.
- Denici on de teoras matematicas: teora de conjuntos, teora de los
numero naturales.
- Denici on del concepto de demostracion.
Tambien queremos usar este lenguaje en computacion. Por que?
IIC2213 L ogica Proposicional 10 / 56
Por que necesitamos la Logica en computacion?
Algunas aplicaciones:
- Bases de datos: Lenguajes de consulta, lenguajes para restricciones
de integridad.
- Inteligencia articial: Representacion de conocimiento, razonamiento
con sentido comun.
- Ingeniera de software: Especicacion de sistemas (lenguaje Z),
vericaci on de propiedades.
- Teora de la computacion: complejidad descriptiva, algoritmos de
aproximaci on.
- Criptografa: vericaci on de protocolos criptogracos.
- Procesamiento de lenguaje natural.
- ...
IIC2213 L ogica Proposicional 11 / 56
Logica Proposicional: Sintaxis
Tenemos los siguientes elementos:
- Variables proposicionales (P): p, q, r , . . .
- Conectivos logicos: , , , ,
- Smbolos de puntuacion: (, )
Cada variable proposicional representa una proposicion completa e
indivisible, que puede ser verdadera o falsa.
Ejemplo
P = {socrates es hombre, socrates es mortal }.
IIC2213 L ogica Proposicional 12 / 56
Logica Proposicional: Sintaxis
Conectivos l ogicos son usados para construir expresiones que
tambien pueden ser verdaderas o falsas.
Ejemplo
socrates es hombre socrates es mortal
socrates es hombre (socrates es mortal )
Smbolos de puntuaci on son usados para evitar ambig uedades.
IIC2213 L ogica Proposicional 13 / 56
Sintaxis de la Logica Proposicional: Denicion
Dado: Conjunto P de variables proposicionales.
Denicion
L(P) es el menor conjunto que satisface las siguientes reglas:
1. P L(P).
2. Si L(P), entonces () L(P).
3. Si , L(P), entonces ( ) L(P), ( ) L(P),
( ) L(P) y ( ) L(P).
Ejercicio
Verique que ((p) (q r )) es una formula.
IIC2213 L ogica Proposicional 14 / 56
Sintaxis de la Logica Proposicional: Denicion
La naturaleza de la denici on es inductiva.
- Permite construir programas recursivos para chequear si una
formula esta bien construida.
- Permite denir inductivamente conceptos asociados a las formulas.
- Permite demostrar inductivamente propiedades de las formulas.
IIC2213 L ogica Proposicional 15 / 56
Deniciones inductivas
Queremos denir una funcion la que indica cuantos smbolos tiene
una formula: la((p q)) = 5.
Caso base : Para cada p P, la(p) = 1.
Caso inductivo : la(()) = 3+la() y la(()) = 3+la() +
la(), donde corresponde a , , o .
En el ejemplo: la((p q)) = 3 + la(p) + la(q) = 3 + 1 + 1 = 5.
Ejercicio
Dena las funciones pi y pd que indican cuales son los numeros de
parentesis izquierdos y derechos en una formula, respectivamente.
IIC2213 L ogica Proposicional 16 / 56
Demostraciones inductivas
Lo siguiente parece ser cierto: Cada formula contiene el mismo
n umero de parentesis izquierdos y derechos.
pi () = pd(), para cada formula .
C omo podemos demostrar esto?
Podemos usar induccion ...
IIC2213 L ogica Proposicional 17 / 56
Induccion en los numeros naturales
Principio de induccion: para cada A N tal que
Caso base : 0 A,
Caso inductivo : si n A, entonces n + 1 A,
se tiene que A = N.
Este principio se usa para demostrar que los naturales tienen
alguna propiedad. Por que funciona?
Ejercicio
Dar un principio de induccion para las formulas de un lenguaje
proposicional L(P).
IIC2213 L ogica Proposicional 18 / 56
Induccion en la logica proposicional
Principio de induccion: Para cada A L(P) tal que
Caso base : p A, para cada p P,
Caso inductivo : si , A, entonces () A y
() A, donde {, , , },
se tiene que A = L(P).
Por que funciona?
Ejercicio
Demuestre que cada formula contiene el mismo n umero de
parentesis izquierdos y derechos.
IIC2213 L ogica Proposicional 19 / 56
Induccion en la logica proposicional: Ejercicios
1. Dena v() como el n umero de ocurrencias de variables
proposicionales en .
2. Demuestre que para cada formula proposicional que no
contiene el smbolo se tiene que la() 4 v()
2
.
Que sucede si contiene el smbolo ?
Que sucede si las formulas de la forma (()) no son
permitidas?
3. Demuestre que un prejo propio de una formula no es una
formula.
IIC2213 L ogica Proposicional 20 / 56
Logica proposicional: Lectura unica
Una formula es at omica si = p, donde p P.
Una formula es compuesta si no es at omica.
- Si = (), entonces es un conectivo primario de y es una
subformula inmediata de .
- Si = ( ), entonces es un conectivo primario de y , son
subformulas inmediatas de .
Teorema (Lectura unica)
Cada formula compuesta tiene un unico conectivo primario y
unicas subf ormulas inmediatas.
Ejercicio
Demuestre el teorema de Lectura unica.
IIC2213 L ogica Proposicional 21 / 56
Semantica de la logica proposicional
C omo podemos determinar si una formula es verdadera o falsa?
Este valor de verdad depende de los valores de verdad asignados a
las variables proposicionales y de los conectivos utilizados.
Valuacion (asignacion): : P {0, 1}.
Ejemplo
(socrates es hombre) = 1 y (socrates es mortal ) = 0.
IIC2213 L ogica Proposicional 22 / 56
Semantica: Denicion
Dado : P {0, 1}, queremos extender :
: L(P) {0, 1}.
Denicion
Dado L(P),
- Si = p, entonces () := (p).
- Si = (), entonces
() =
1 si () = 0
0 si () = 1
- Si = ( ), entonces
() =
1 si () = 1 o () = 1
0 si () = 0 y () = 0
IIC2213 L ogica Proposicional 23 / 56
Semantica: Denicion (continuacion)
- Si = ( ), entonces
() =
1 si () = 1 y () = 1
0 si () = 0 o () = 0
- Si = ( ), entonces
() =
1 si () = 0 o () = 1
0 si () = 1 y () = 0
- Si = ( ), entonces
() =
1 si () = ()
0 si () = ()
Por simplicidad vamos a usar en lugar de .
IIC2213 L ogica Proposicional 24 / 56
Semantica: Ejemplos
Supongamos que (socrates es hombre) = 1 y
(socrates es mortal ) = 0.
Entonces:
((socrates es hombre socrates es mortal )) = 0
((((socrates es hombre socrates es mortal )
socrates es hombre) socrates es mortal )) = 1
IIC2213 L ogica Proposicional 25 / 56
Equivalencia de formulas
Denicion
Dos formulas , son equivalentes si para toda valuaci on se
tiene que () = ().
Notacion: .
Algunas equivalencias utiles:
(( )) (() ()) ( ) (() )
(( )) (() ()) ( ) (( ) ( ))
( ( )) (( ) ) (())
( ( )) (( ) )
IIC2213 L ogica Proposicional 26 / 56
Equivalencia de formulas
Notacion: Desde ahora en adelante
- vamos a omitir los parentesis externos,
- vamos a escribir en lugar de () (lo mismo para ).
Ejercicio
Es asociativo? Vale decir, Es cierto que
( ) ( )?
IIC2213 L ogica Proposicional 27 / 56
Tablas de verdad
Cada formula se puede representar y analizar en una tabla de
verdad.
p q p p q p q p q p q
0 0 1 0 0 1 1
0 1 1 1 0 1 0
1 0 0 1 0 0 0
1 1 0 1 1 1 1
Observacion: Dos formulas son equivalentes si tienen la misma
tabla de verdad.
Ejercicio
Suponga que P = {p, q}. Cuantas formulas contiene L(P)? Cuantas
formulas no equivalentes contiene este conjunto?
IIC2213 L ogica Proposicional 28 / 56
Conectivos ternarios
Queremos denir el conectivo l ogico: si p entonces q si no r .
p q r si p entonces q si no r
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
C omo se puede representar este conectivo usando , y ?
IIC2213 L ogica Proposicional 29 / 56
Conectivos ternarios (continuacion)
Soluci on: (p q) ((p) r ).
p q r si p entonces q si no r (p q) ((p) r )
0 0 0 0 0
0 0 1 1 1
0 1 0 0 0
0 1 1 1 1
1 0 0 0 0
1 0 1 0 0
1 1 0 1 1
1 1 1 1 1
Por que el conectivo es equivalente a la formula? Porque tienen la
misma tabla de verdad.
IIC2213 L ogica Proposicional 30 / 56
Conectivos n-arios
Usando tablas de verdad podemos denir conectivos n-arios:
C(p
1
, . . . , p
n
).
p
1
p
2
p
n1
p
n
C(p
1
, p
2
, . . . , p
n1
, p
n
)
0 0 0 0 b
1
0 0 0 1 b
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 1 1 1 b
2
n
Es posible representar C(p
1
, . . . , p
n
) usando , , , y ?
IIC2213 L ogica Proposicional 31 / 56
Conectivos n-arios
Veamos un ejemplo: C
1
(p, q, r , s).
p q r s C
1
(p, q, r , s) p q r s C
1
(p, q, r , s)
0 0 0 0 0 1 0 0 0 1
0 0 0 1 1 1 0 0 1 0
0 0 1 0 0 1 0 1 0 0
0 0 1 1 0 1 0 1 1 0
0 1 0 0 0 1 1 0 0 0
0 1 0 1 0 1 1 0 1 0
0 1 1 0 1 1 1 1 0 1
0 1 1 1 0 1 1 1 1 0
C omo denimos C
1
(p, q, r , s) usando , , , y ?
IIC2213 L ogica Proposicional 32 / 56
Conectivos n-arios
Soluci on: C
1
(p, q, r , s) es equivalente a la siguiente formula
((p) (q) (r ) s) ((p) q r (s))
(p (q) (r ) (s)) (p q r (s))
Notacion
Desde ahora en adelante tiene mayor precedencia que los
conectivos binarios. As por ejemplo, (p) q es lo mismo que
p q y la formula anterior es lo mismo que:
(p q r s) (p q r s)
(p q r s) (p q r s)
IIC2213 L ogica Proposicional 33 / 56
Conectivos n-arios
Soluci on a nuestro problema original:
Suponiendo que
i
es la valuaci on correspondiente a la la i de la
tabla de verdad de C(p
1
, . . . , p
n
), este conectivo es equivalente a:
i : b
i
=1
j :
i
(p
j
)=1
p
j
k :
i
(p
k
)=0
p
k
.
Conclusion
Basta con los conectivos l ogicos , , para representar cualquier
tabla de verdad.
IIC2213 L ogica Proposicional 34 / 56
Conectivos funcionalmente completos
Denicion
Un conjunto de conectivos es funcionalmente completo si es
posible denir cada formula usando solo estos conectivos.
Ya demostramos que {, , } es funcionalmente completo. Son
{, } y {, } funcionalmente completos?
Ejercicio
- Demuestre que {, } es funcionalmente completo.
- Es {, , , } funcionalmente completo?
*Ejercicio
Es {, } funcionalmente completo?
IIC2213 L ogica Proposicional 35 / 56
Formas normales
Decimos que una formula esta en forma normal disyuntiva
(DNF) si es de la forma:
m
i =1
n
i
j =1
l
i ,j
,
donde cada l
i ,j
es un literal, es decir, una letra proposicional o la
negacion de una letra proposicional.
Ejemplo
(p q) (p r ).
Teorema
Toda formula es equivalente a una formula en DNF.
Ya demostramos este teorema, Cierto?
IIC2213 L ogica Proposicional 36 / 56
Formas normales
Decimos que una formula esta en forma normal conjuntiva
(CNF) si es de la forma:
m
i =1
n
i
j =1
l
i ,j
,
donde cada l
i ,j
es un literal.
Ejemplo
(p q) (p r s) (r s).
Teorema
Toda formula es equivalente a una formula en CNF.
C omo se demuestre el teorema?
IIC2213 L ogica Proposicional 37 / 56
La nocion de consecuencia logica
Una valuaci on satisface un conjunto de formulas si para cada
, se tiene que () = 1.
Notacion: () = 1.
Cuando decimos que una formula se deduce desde ?
Denicion
es consecuencia l ogica de si para cada valuaci on tal que
() = 1, se tiene que () = 1.
Notacion: |= .
IIC2213 L ogica Proposicional 38 / 56
La nocion de consecuencia logica: Ejemplos
Modus ponens:
{p, p q} |= q
Demostracion por partes:
{p q r , p s, q s, r s} |= s
Ejercicio
- Demuestre que si |= , entonces |= y |= .
- Es cierto que si |= , entonces |= o |= ?
IIC2213 L ogica Proposicional 39 / 56
Teorema de monotona
Teorema (Monotona)
Si |= , entonces para cada formula se tiene que {} |= .
Sabemos que {p, p q} |= q. Usando el teorema de monotona
deducimos que {p, p q, q} |= q. C omo es esto posible?
Ejercicio
Demuestre el teorema de monotona.
Puede usarse la l ogica proposicional para modelar razonamiento
con sentido com un?
IIC2213 L ogica Proposicional 40 / 56
Un parentesis: Revision de conocimiento
Teorema de monotona: Agregar conocimiento no nos permite
retractarnos.
- No actualizamos nuestro conocimiento de acuerdo a la nueva
informaci on.
Dado y : queremos generar una formula que reeje la
actualizacion de dado .
Notacion: .
C omo podemos hacer esto? Que debera ser {p, p q} q?
IIC2213 L ogica Proposicional 41 / 56
Un parentesis: Revision de conocimiento
Una primera alternativa: = .
Vamos a mostrar una mejor alternativa: Belief Revision.
Notacion
Dado un conjunto de variables proposicionales P
- modelos(): Conjunto de las valuaciones de P que satisfacen .
- (
1
,
2
): Conjunto de las variables proposicionales p P tales que
1
(p) =
2
(p).
Ejemplo
Si P = {p, q},
1
(p) = 1,
1
(q) = 1,
2
(p) = 1
2
(q) = 0,
entonces (
1
,
2
) = {q}.
(
1
,
2
) mide la distancia entre
1
y
2
.
IIC2213 L ogica Proposicional 42 / 56
Un parentesis: Revision de conocimiento
Para actualizar dado , vamos a actualizar los modelos de
con respecto a .
Dado tal que () = 1, queremos seleccionar los modelos
1
de
que estan a distancia mnima de .
Formalmente:
mnimo(, ) = {
1
|
1
() = 1 y no existe
2
tal que
2
() = 1 y (,
2
) (,
1
)}.
IIC2213 L ogica Proposicional 43 / 56
Un parentesis: Revision de conocimiento
Denimos los modelos de como los modelos de que estan
mas cerca de los modelos de :
modelos( ) =
: ()=1
mnimo(, )
y denimos como una formula arbitraria tal que
modelos() = modelos( ).
Siempre existe esta formula? Es unica?
IIC2213 L ogica Proposicional 44 / 56
Un parentesis: Revision de conocimiento
Ejemplo
= {p, p q} y = q
Primero calculamos los modelos de y :
modelos() = {}, donde (p) = (q) = 1
modelos() = {
1
,
2
}, donde
1
(p) = 1,
1
(q) = 0 y
2
(p) =
2
(q) = 0.
Despues calculamos los modelos mnimos:
(,
1
) = {q}
(,
2
) = {p, q}
mnimo(, ) = {
1
}
modelos( ) = {
1
}
Resultado: {p, p q} q = p q.
IIC2213 L ogica Proposicional 45 / 56
El problema de satisfaccion
Denicion
Un conjunto de formulas es satisfacible si existe una valuaci on
tal que () = 1. En caso contrario, es inconsistente.
Existe una estrecha relacion entre las nociones de consecuencia
l ogica y satisfacibilidad.
Teorema
|= si y solo si {} es inconsistente.
Ejercicio
Demuestre el teorema.
IIC2213 L ogica Proposicional 46 / 56
El problema de satisfaccion
El teorema anterior nos permite reducir el problema de vericar si
|= al problema de vericar si {} es inconsistente.
Ejercicio
Demuestre que la reduccion inversa tambien es posible. Vale decir,
encuentre una formula tal que es satisfacible si y s olo si |= .
Entonces, si tenemos un algoritmo para uno de los problemas, lo
tenemos para el otro.
C omo vericamos si una formula es satisfacible?
IIC2213 L ogica Proposicional 47 / 56
El problema de satisfaccion
Un algoritmo simple: Dada una formula , construya la tabla de
verdad para y verique si en alguna la la salida es 1.
Cual es la complejidad de este algoritmo?
Si menciona n variables proposicionales, entonces el algoritmo
toma tiempo 2
n
(aproximadamente).
Este es un algoritmo de tiempo exponencial Es posible usar este
algoritmo en la practica?
IIC2213 L ogica Proposicional 48 / 56
El problema de satisfaccion: Complejidad
N umero estimado de electrones en el universo 10
130
.
Si n = 1000 y en cada electr on del universo tuvieramos un
supercomputador que ejecuta 10
50
operaciones por segundo,
entonces para vericar si es satisfacible necesitaramos:
2
1000
10
50
10
130
10
121
segundos.
Edad estimada del universo < 10
18
segundos! Y se puede
almacenar en algunos kilobytes de memoria!
Existe un algoritmo eciente para el problema de satisfacibilidad?
IIC2213 L ogica Proposicional 49 / 56
Otra nocion util
Denicion
Una formula es una tautologa si para cada valuaci on se tiene
que () = 1.
Ejemplo
p p.
Ejercicio
Sea un conjunto nito de formulas. Demuestre que el problema
de vericar si |= puede reducirse al problema de vericar si
una formula es una tautologa.
Puede ser innito? Que sucede en este caso?
IIC2213 L ogica Proposicional 50 / 56
Teorema de compacidad
Denicion
Un conjunto de formulas es nitamente satisfacible si cada
subconjunto nito de es satisfacible.
Ejemplo
El conjunto = {p
0
} {p
i
p
i +1
| i N} es nitamente
satisfacible.
Es satisfacible?
Teorema (Compacidad)
Un conjunto de formulas es satisfacible si y solo si es nitamente
satisfacible.
IIC2213 L ogica Proposicional 51 / 56
Teorema de compacidad: Demostracion
Necesitamos el siguiente lema:
Lema
Sea L(P) nitamente satisfacible y p P. Entonces {p}
es nitamente satisfacible o {p} es nitamente satisfacible.
Pueden ser ambos nitamente satisfacibles?
Ejercicio
Demuestre el lema.
IIC2213 L ogica Proposicional 52 / 56
Teorema de compacidad: Demostracion
Ahora vamos a demostrar la direcci on del teorema. La otra
direcci on es trivial.
() Suponga que P = {p
i
| i 1} y dena una sucesion {
i
}
i N
de conjuntos de literales:
Caso base:
0
= .
Para i N:
i +1
=
i
{p
i +1
}
i
{p
i +1
} es nitamente satisfacible,
i
{p
i +1
} en caso contrario.
Finalmente: =
i N
i
.
IIC2213 L ogica Proposicional 53 / 56
Teorema de compacidad: Demostracion
Para cada p
i
P: p
i
i
o p
i
i
, pero no ambas.
Por lo tanto: Existe una unica valuaci on que satisface a .
Vamos a demostrar que esta valuaci on satisface a .
Por contradicci on: Suponga que () = 0. Entonces existe
tal que () = 0.
Suponga que contiene n variables proposicionales y que p
k
es la
de mayor ndice.
IIC2213 L ogica Proposicional 54 / 56
Teorema de compacidad: Demostracion
Tenemos que considerar dos casos.
(p
k
) = 1: entonces {}
k1
{p
k
} es inconsistente.
Entonces:
k1
{p
k
} no es nitamente satisfacible y
p
k
k
.
Contradiccion:
k
y (p
k
) = 1.
(p
k
) = 0: entonces {}
k1
{p
k
} es inconsistente.
Entonces:
k1
{p
k
} es nitamente satisfacible (por lema) y
p
k
k
.
Contradiccion:
k
y (p
k
) = 0.
IIC2213 L ogica Proposicional 55 / 56
Teorema de compacidad y consecuencia logica
Corolario
|= si y solo si existe un subconjunto nito
de tal que
|= .
Ejercicio
Demuestre el corolario.
IIC2213 L ogica Proposicional 56 / 56