Está en la página 1de 56

Logica Proposicional

IIC2212

IIC2212

L
ogica Proposicional

1 / 56

Inicio de la Logica

Originalmente, la Logica trataba con argumentos en el lenguaje


natural.

Ejemplo
Es el siguiente argumento v
alido?
Todos los hombres son mortales.
Socrates es hombre.
Por lo tanto, Socrates es mortal.

La logica debera poder usarse para demostrar que s.

IIC2212

L
ogica Proposicional

2 / 56

Inicio de la Logica

Ejemplo
Que pasa con el siguiente caso?
Algunas personas son mujeres.
Socrates es una persona.
Por lo tanto, Socrates es mujer.

En este caso deberamos decir que el argumento no es valido.

IIC2212

L
ogica Proposicional

3 / 56

Inicio de la Logica

Pero los argumentos pueden ser m


as complejos ...
Creo que todos los hombres son mortales.
Creo que Socrates es hombre.
Por lo tanto, creo que Socrates es mortal.
Es este argumento valido? Por que?
Que significa creo? Que pasara si reemplazamos creo que por no
se si?

IIC2212

L
ogica Proposicional

4 / 56

Paradojas en el lenguaje natural

Un da de la proxima 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 interrogaci


on?

IIC2212

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
finito.
El n
umero de oraciones con a los m
as 50 palabras tambien es finito.

IIC2212

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 definido por una
oracion con a lo mas cincuenta palabras tomadas del Diccionario de la Real Academia.

B esta bien definido, pero con s


olo 25 palabras. Tenemos una
contradicci
on!
Que paso?

IIC2212

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.

IIC2212

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 definir el siguiente conjunto: U = {X | X 6 X }.
Tenemos: A U, B U, C 6 U.
U U? Por definicion, U U si y s
olo si U 6 U. Tenemos una
contradiccion!
Como definimos la nocion de conjunto?

IIC2212

L
ogica Proposicional

9 / 56

Por que necesitamos la Logica?

Necesitamos un lenguaje con una sintaxis precisa y una semantica


bien definida.
Queremos usar este lenguaje en matem
aticas.
- Definicion de objetos matematicos: conjunto, n
umeros naturales,
n
umeros reales.
- Definicion de teoras matematicas: teora de conjuntos, teora de los
n
umero naturales.
- Definicion del concepto de demostraci
on.

Tambien queremos usar este lenguaje en computacion. Por que?

IIC2212

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 artificial: Representaci
on de conocimiento, razonamiento
con sentido comun.
- Ingeniera de software: Especificaci
on de sistemas (lenguaje Z ),
verificacion de propiedades.
- Teora de la computaci
on: complejidad descriptiva, algoritmos de
aproximacion.
- Criptografa: verificaci
on de protocolos criptograficos.
- Procesamiento de lenguaje natural.
- ...

IIC2212

L
ogica Proposicional

11 / 56

Logica Proposicional: Sintaxis


Tenemos los siguientes elementos:
- Variables proposicionales (P): p, q, r , . . .
- Conectivos logicos: , , , ,
- Smbolos de puntuaci
on: (, )

Cada variable proposicional representa una proposicion completa e


indivisible, que puede ser verdadera o falsa.

Ejemplo
P = {socrates es hombre, socrates es mortal }.

IIC2212

L
ogica Proposicional

12 / 56

Logica Proposicional: Sintaxis

Conectivos logicos 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 puntuacion son usados para evitar ambig


uedades.

IIC2212

L
ogica Proposicional

13 / 56

Sintaxis de la Logica Proposicional: Definicion


Dado: Conjunto P de variables proposicionales.

Definicion
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
Verifique que ((p) (q r )) es una f
ormula.

IIC2212

L
ogica Proposicional

14 / 56

Sintaxis de la Logica Proposicional: Definicion

La naturaleza de la definicion es inductiva.


- Permite construir programas recursivos para chequear si una
f
ormula esta bien construida.
- Permite definir inductivamente conceptos asociados a las formulas.
- Permite demostrar inductivamente propiedades de las formulas.

IIC2212

L
ogica Proposicional

15 / 56

Definiciones inductivas
Queremos definir 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
Defina las funciones pi y pd que indican cuales son los numeros de
parentesis izquierdos y derechos en una f
ormula, respectivamente.
IIC2212

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 f
ormula .

Como podemos demostrar esto?


Podemos usar induccion ...

IIC2212

L
ogica Proposicional

17 / 56

Induccion en los numeros naturales


Principio de induccion: para cada A N tal que
Caso base
Caso inductivo

:
:

0 A,
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 inducci
on para las f
ormulas de un lenguaje
proposicional L(P).

IIC2212

L
ogica Proposicional

18 / 56

Induccion en la logica proposicional


Principio de induccion: Para cada A L(P) tal que
Caso base
Caso inductivo

:
:

p A, para cada p P,
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.

IIC2212

L
ogica Proposicional

19 / 56

Induccion en la logica proposicional: Ejercicios

1. Defina 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() 3 v ()2 .
Que sucede si contiene el smbolo ?
Que sucede si las formulas de la forma (()) no son
permitidas?
3. Demuestre que un prefijo propio de una f
ormula no es una
formula.

IIC2212

L
ogica Proposicional

20 / 56

Logica proposicional: Lectura unica


Una formula es atomica si = p, donde p P.
Una formula es compuesta si no es atomica.
- 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 u
nico conectivo primario y
u
nicas subformulas inmediatas.

Ejercicio
Demuestre el teorema de Lectura u
nica.
IIC2212

L
ogica Proposicional

21 / 56

Semantica de la logica proposicional

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

IIC2212

L
ogica Proposicional

22 / 56

Semantica: Definicion
Dado : P {0, 1}, queremos extender :

: L(P) {0, 1}.

Definicion
Dado L(P),
- Si = p, entonces
() := (p).
- Si = (), entonces

() =
- Si = ( ), entonces
(

() =

IIC2212

L
ogica Proposicional

1
0

1 si
() = 0
0 si
() = 1

si
() = 1 o
() = 1
si
() = 0 y
() = 0
23 / 56

Semantica: Definicion (continuacion)


- Si = ( ), entonces
(

1
0

si
() = 1 y
() = 1
si
() = 0 o
() = 0

- Si = ( ), entonces
(
1

() =
0

si
() = 0 o
() = 1
si
() = 1 y
() = 0

() =

- Si = ( ), entonces

() =

1 si
() =
()
0 si
() 6=
()

Por simplicidad vamos a usar en lugar de


.
IIC2212

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

IIC2212

L
ogica Proposicional

25 / 56

Equivalencia de formulas
Definicion
Dos formulas , son equivalentes si para toda valuacion se
tiene que () = ().
Notacion: .
Algunas equivalencias u
tiles:
(( ))
(( ))
( ( ))
( ( ))

IIC2212

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

IIC2212

L
ogica Proposicional

27 / 56

Tablas de verdad
Cada formula se puede representar y analizar en una tabla de
verdad.
p
0
0
1
1

q
0
1
0
1

p
1
1
0
0

pq
0
1
1
1

pq
0
0
0
1

pq
1
1
0
1

pq
1
0
0
1

Observacion: Dos formulas son equivalentes si tienen la misma


tabla de verdad.

Ejercicio
Suponga que P = {p, q}. Cuantas f
ormulas contiene L(P)? Cuantas
formulas no equivalentes contiene este conjunto?
IIC2212

L
ogica Proposicional

28 / 56

Conectivos ternarios
Queremos definir el conectivo logico: si p entonces q si no r .
p
0
0
0
0
1
1
1
1

q
0
0
1
1
0
0
1
1

r
0
1
0
1
0
1
0
1

si p entonces q si no r
0
1
0
1
0
0
1
1

Como se puede representar este conectivo usando , y ?

IIC2212

L
ogica Proposicional

29 / 56

Conectivos ternarios (continuacion)


Solucion: (p q) ((p) r ).
p
0
0
0
0
1
1
1
1

q
0
0
1
1
0
0
1
1

r
0
1
0
1
0
1
0
1

si p entonces q si no r
0
1
0
1
0
0
1
1

(p q) ((p) r )
0
1
0
1
0
0
1
1

Por que el conectivo es equivalente a la f


ormula? Porque tienen la
misma tabla de verdad.
IIC2212

L
ogica Proposicional

30 / 56

Conectivos n-arios

Usando tablas de verdad podemos definir conectivos n-arios:


C (p1 , . . . , pn ).
p1
0
0
..
.

p2
0
0
..
.

pn1
0
0
..
.

pn
0
1
..
.

C (p1 , p2 , . . . , pn1 , pn )
b1
b2
..
.

b2 n

Es posible representar C (p1 , . . . , pn ) usando , , , y ?

IIC2212

L
ogica Proposicional

31 / 56

Conectivos n-arios
Veamos un ejemplo: C1 (p, q, r , s).
p
0
0
0
0
0
0
0
0

q
0
0
0
0
1
1
1
1

r
0
0
1
1
0
0
1
1

s
0
1
0
1
0
1
0
1

C1 (p, q, r , s)
0
1
0
0
0
0
1
0

p
1
1
1
1
1
1
1
1

q
0
0
0
0
1
1
1
1

r
0
0
1
1
0
0
1
1

s
0
1
0
1
0
1
0
1

C1 (p, q, r , s)
1
0
0
0
0
0
1
0

Como definimos C1 (p, q, r , s) usando , , , y ?


IIC2212

L
ogica Proposicional

32 / 56

Conectivos n-arios
Solucion: C1 (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)
IIC2212

L
ogica Proposicional

33 / 56

Conectivos n-arios
Solucion a nuestro problema original:
Suponiendo que i es la valuacion correspondiente a la fila i de la
tabla de verdad de C (p1 , . . . , pn ), este conectivo es equivalente a:
 

_  ^
^
pj
pk
.
i : bi =1

j : i (pj )=1

k : i (pk )=0

Conclusion
Basta con los conectivos logicos , , para representar cualquier
tabla de verdad.

IIC2212

L
ogica Proposicional

34 / 56

Conectivos funcionalmente completos


Definicion
Un conjunto de conectivos es funcionalmente completo si es
posible definir cada formula usando s
olo 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?
IIC2212

L
ogica Proposicional

35 / 56

Formas normales
Decimos que una formula est
a en forma normal disyuntiva
(DNF) si es de la forma:
ni
m ^
_

i =1

j=1

li ,j ,

donde cada li ,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?
IIC2212

L
ogica Proposicional

36 / 56

Formas normales
Decimos que una formula est
a en forma normal conjuntiva
(CNF) si es de la forma:
ni
m _
^

i =1

j=1

li ,j ,

donde cada li ,j es un literal.

Ejemplo
(p q) (p r s) (r s).

Teorema
Toda formula es equivalente a una formula en CNF.
Como se demuestre el teorema?
IIC2212

L
ogica Proposicional

37 / 56

La nocion de consecuencia logica

Una valuacion satisface un conjunto de f


ormulas si para cada
, se tiene que () = 1.
Notacion: () = 1.
Cuando decimos que una formula se deduce desde ?

Definicion
es consecuencia logica de si para cada valuacion tal que
() = 1, se tiene que () = 1.
Notacion: |= .

IIC2212

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

IIC2212

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. Como es esto posible?

Ejercicio
Demuestre el teorema de monotona.
Puede usarse la logica proposicional para modelar razonamiento
con sentido com
un?
IIC2212

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

Dado y : queremos generar una formula que refleje la


actualizacion de dado .
Notacion: .
Como podemos hacer esto? Que debera ser {p, p q} q?

IIC2212

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) 6= 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 .
IIC2212

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

IIC2212

L
ogica Proposicional

43 / 56

Un parentesis: Revision de conocimiento

Definimos los modelos de como los modelos de que estan


mas cerca de los modelos de :
[
modelos( ) =
mnimo(, )
: ()=1

y definimos como una formula arbitraria tal que


modelos() = modelos( ).
Siempre existe esta formula? Es u
nica?

IIC2212

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 )
(, 2 )
mnimo(, )
modelos( )

= {q}
= {p, q}
= {1 }
= {1 }

Resultado: {p, p q} q = p q.
IIC2212

L
ogica Proposicional

45 / 56

El problema de satisfaccion
Definicion
Un conjunto de formulas es satisfacible si existe una valuacion
tal que () = 1. En caso contrario, es inconsistente.

Existe una estrecha relacion entre las nociones de consecuencia


logica y satisfacibilidad.

Teorema
|= si y solo si {} es inconsistente.

Ejercicio
Demuestre el teorema.
IIC2212

L
ogica Proposicional

46 / 56

El problema de satisfaccion

El teorema anterior nos permite reducir el problema de verificar si


|= al problema de verificar si {} es inconsistente.

Ejercicio
Demuestre que la reducci
on inversa tambien es posible. Vale decir,
encuentre una formula tal que es satisfacible si y solo si 6|= .

Entonces, si tenemos un algoritmo para uno de los problemas, lo


tenemos para el otro.
Como verificamos si una formula es satisfacible?

IIC2212

L
ogica Proposicional

47 / 56

El problema de satisfaccion

Un algoritmo simple: Dada una formula , construya la tabla de


verdad para y verifique si en alguna fila la salida es 1.
Cual es la complejidad de este algoritmo?
Si menciona n variables proposicionales, entonces el algoritmo
toma tiempo 2n (aproximadamente).
Este es un algoritmo de tiempo exponencial Es posible usar este
algoritmo en la practica?

IIC2212

L
ogica Proposicional

48 / 56

El problema de satisfaccion: Complejidad


N
umero estimado de electrones en el universo 10130 .
Si n = 1000 y en cada electron del universo tuvieramos un
supercomputador que ejecuta 1050 operaciones por segundo,
entonces para verificar si es satisfacible necesitaramos:
21000
10130

1050

10121 segundos.

Edad estimada del universo < 1018 segundos! Y se puede


almacenar en algunos kilobytes de memoria!
Existe un algoritmo eficiente para el problema de satisfacibilidad?
IIC2212

L
ogica Proposicional

49 / 56

Otra nocion util


Definicion
Una formula es una tautologa si para cada valuacion se tiene
que () = 1.

Ejemplo
p p.

Ejercicio
Sea un conjunto finito de formulas. Demuestre que el problema
de verificar si |= puede reducirse al problema de verificar si
una formula es una tautologa.
Puede ser infinito? Que sucede en este caso?
IIC2212

L
ogica Proposicional

50 / 56

Teorema de compacidad
Definicion
Un conjunto de formulas es finitamente satisfacible si cada
subconjunto finito de es satisfacible.

Ejemplo
El conjunto = {p0 } {pi pi +1 | i N} es finitamente
satisfacible.
Es satisfacible?

Teorema (Compacidad)
Un conjunto de formulas es satisfacible si y s
olo si es finitamente
satisfacible.
IIC2212

L
ogica Proposicional

51 / 56

Teorema de compacidad: Demostracion

Necesitamos el siguiente lema:

Lema
Sea L(P) finitamente satisfacible y p P. Entonces {p}
es finitamente satisfacible o {p} es finitamente satisfacible.
Pueden ser ambos finitamente satisfacibles?

Ejercicio
Demuestre el lema.

IIC2212

L
ogica Proposicional

52 / 56

Teorema de compacidad: Demostracion


Ahora vamos a demostrar la direccion del teorema. La otra
direccion es trivial.
() Suponga que P = {pi | i 1} y defina una sucesion {i }i N
de conjuntos de literales:
Caso base: 0 = .
Para i N:
(
i {pi +1 }
i +1 =
i {pi +1 }

Finalmente: =

i {pi +1 } es finitamente satisfacible,


en caso contrario.

i .

i N
IIC2212

L
ogica Proposicional

53 / 56

Teorema de compacidad: Demostracion

Para cada pi P: pi i o pi i , pero no ambas.


Por lo tanto: Existe una u
nica valuacion que satisface a .
Vamos a demostrar que esta valuacion satisface a .
Por contradiccion: Suponga que () = 0. Entonces existe
tal que () = 0.
Suponga que contiene n variables proposicionales y que pk es la
de mayor ndice.

IIC2212

L
ogica Proposicional

54 / 56

Teorema de compacidad: Demostracion

Tenemos que considerar dos casos.


(pk ) = 1: entonces {} k1 {pk } es inconsistente.
Entonces: k1 {pk } no es finitamente satisfacible y
pk k .
Contradiccion: k y (pk ) = 1.
(pk ) = 0: entonces {} k1 {pk } es inconsistente.
Entonces: k1 {pk } es finitamente satisfacible (por lema) y
pk k .
Contradiccion: k y (pk ) = 0.

IIC2212

L
ogica Proposicional

55 / 56

Teorema de compacidad y consecuencia logica

Corolario
|= si y solo si existe un subconjunto finito 0 de tal que
0 |= .

Ejercicio
Demuestre el corolario.

IIC2212

L
ogica Proposicional

56 / 56

También podría gustarte