Logic a Pr Oposicional
Transcript of Logic a Pr Oposicional
-
Logica Proposicional
IIC2212
IIC2212 Logica Proposicional 1 / 56
-
Inicio de la Logica
Originalmente, la Logica trataba con argumentos en el lenguajenatural.
Ejemplo
Es el siguiente argumento valido?
Todos los hombres son mortales.Socrates es hombre.
Por lo tanto, Socrates es mortal.
La logica debera poder usarse para demostrar que s.
IIC2212 Logica 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 Logica Proposicional 3 / 56
-
Inicio de la Logica
Pero los argumentos pueden ser mas 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 nose si?
IIC2212 Logica Proposicional 4 / 56
-
Paradojas en el lenguaje natural
Un da de la proxima semana les voy a hacer una interrogacion,y les aseguro que el da que se las haga van a estar sorprendidos.
Que da voy a hacer la interrogacion?
IIC2212 Logica Proposicional 5 / 56
-
Matematica en el lenguaje natural: Paradoja de Berry
Podemos representar los numeros naturales usando oraciones dellenguaje natural: Mil quinientos veinte, el primer numero, ...
El numero de palabras en el Diccionario de la Real Academia esfinito.
El numero de oraciones con a los mas 50 palabras tambien es finito.
IIC2212 Logica Proposicional 6 / 56
-
Matematica en el lenguaje natural: Paradoja de Berry
Sea B el siguiente numero natural:
El primer numero natural que no puede ser definido por unaoracion con a lo mas cincuenta palabras tomadas del Dicciona-rio de la Real Academia.
B esta bien definido, pero con solo 25 palabras. Tenemos unacontradiccion!
Que paso?
IIC2212 Logica Proposicional 7 / 56
-
Mas paradojas: Russell (1902)
Tambien pueden aparecer paradojas usando lenguaje matematico.
Sea A = {1, 2, 3}A A? No.
Sea B = {{1, 2, 3}, {4, 5}}A B? S.B B? No.
IIC2212 Logica Proposicional 8 / 56
-
Mas paradojas: Russell (1902)
Sea C el conjunto de todos los conjuntos que tienen a lo menosdos 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 solo si U 6 U. Tenemos unacontradiccion!
Como definimos la nocion de conjunto?
IIC2212 Logica Proposicional 9 / 56
-
Por que necesitamos la Logica?
Necesitamos un lenguaje con una sintaxis precisa y una semanticabien definida.
Queremos usar este lenguaje en matematicas.
- Definicion de objetos matematicos: conjunto, numeros naturales,numeros reales.
- Definicion de teoras matematicas: teora de conjuntos, teora de losnumero naturales.
- Definicion del concepto de demostracion.
Tambien queremos usar este lenguaje en computacion. Por que?
IIC2212 Logica Proposicional 10 / 56
-
Por que necesitamos la Logica en computacion?
Algunas aplicaciones:
- Bases de datos: Lenguajes de consulta, lenguajes para restriccionesde integridad.
- Inteligencia artificial: Representacion de conocimiento, razonamientocon sentido comun.
- Ingeniera de software: Especificacion de sistemas (lenguaje Z ),verificacion de propiedades.
- Teora de la computacion: complejidad descriptiva, algoritmos deaproximacion.
- Criptografa: verificacion de protocolos criptograficos.
- Procesamiento de lenguaje natural.
- ...
IIC2212 Logica 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 eindivisible, que puede ser verdadera o falsa.
Ejemplo
P = {socrates es hombre , socrates es mortal}.
IIC2212 Logica Proposicional 12 / 56
-
Logica Proposicional: Sintaxis
Conectivos logicos son usados para construir expresiones quetambien 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 ambiguedades.
IIC2212 Logica 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 formula.
IIC2212 Logica Proposicional 14 / 56
-
Sintaxis de la Logica Proposicional: Definicion
La naturaleza de la definicion es inductiva.
- Permite construir programas recursivos para chequear si unaformula esta bien construida.
- Permite definir inductivamente conceptos asociados a las formulas.
- Permite demostrar inductivamente propiedades de las formulas.
IIC2212 Logica Proposicional 15 / 56
-
Definiciones inductivas
Queremos definir una funcion la que indica cuantos smbolos tieneuna 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 deparentesis izquierdos y derechos en una formula, respectivamente.
IIC2212 Logica Proposicional 16 / 56
-
Demostraciones inductivas
Lo siguiente parece ser cierto: Cada formula contiene el mismonumero de parentesis izquierdos y derechos.
pi() = pd(), para cada formula .
Como podemos demostrar esto?
Podemos usar induccion ...
IIC2212 Logica 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 tienenalguna propiedad. Por que funciona?
Ejercicio
Dar un principio de induccion para las formulas de un lenguajeproposicional L(P).
IIC2212 Logica 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 numero deparentesis izquierdos y derechos.
IIC2212 Logica Proposicional 19 / 56
-
Induccion en la logica proposicional: Ejercicios
1. Defina v() como el numero de ocurrencias de variablesproposicionales en .
2. Demuestre que para cada formula proposicional que nocontiene el smbolo se tiene que la() 3 v()2.
Que sucede si contiene el smbolo ?
Que sucede si las formulas de la forma (()) no sonpermitidas?
3. Demuestre que un prefijo propio de una formula no es unaformula.
IIC2212 Logica 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 unasubformula 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 subformulas inmediatas.
Ejercicio
Demuestre el teorema de Lectura unica.
IIC2212 Logica 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 alas variables proposicionales y de los conectivos utilizados.
Valuacion (asignacion): : P {0, 1}.
Ejemplo
(socrates es hombre) = 1 y (socrates es mortal) = 0.
IIC2212 Logica 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
() =
{1 si () = 0
0 si () = 1
- Si = ( ), entonces
() =
{1 si () = 1 o () = 1
0 si () = 0 y () = 0
IIC2212 Logica Proposicional 23 / 56
-
Semantica: Definicion (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 () 6= ()
Por simplicidad vamos a usar en lugar de .
IIC2212 Logica 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 Logica Proposicional 25 / 56
-
Equivalencia de formulas
Definicion
Dos formulas , son equivalentes si para toda valuacion se
tiene que () = ().
Notacion: .
Algunas equivalencias utiles:
(( )) (() ()) ( ) (() )(( )) (() ()) ( ) (( ) ( ))
( ( )) (( ) ) (()) ( ( )) (( ) )
IIC2212 Logica 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 Logica Proposicional 27 / 56
-
Tablas de verdad
Cada formula se puede representar y analizar en una tabla deverdad.
p q p p q p q p q p q
0 0 1 0 0 1 10 1 1 1 0 1 01 0 0 1 0 0 01 1 0 1 1 1 1
Observacion: Dos formulas son equivalentes si tienen la mismatabla de verdad.
Ejercicio
Suponga que P = {p, q}. Cuantas formulas contiene L(P)? Cuantasformulas no equivalentes contiene este conjunto?
IIC2212 Logica Proposicional 28 / 56
-
Conectivos ternarios
Queremos definir el conectivo logico: si p entonces q si no r .
p q r si p entonces q si no r
0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 01 1 0 11 1 1 1
Como se puede representar este conectivo usando , y ?
IIC2212 Logica Proposicional 29 / 56
-
Conectivos ternarios (continuacion)
Solucion: (p q) ((p) r).
p q r si p entonces q si no r (p q) ((p) r)
0 0 0 0 00 0 1 1 10 1 0 0 00 1 1 1 11 0 0 0 01 0 1 0 01 1 0 1 11 1 1 1 1
Por que el conectivo es equivalente a la formula? Porque tienen lamisma tabla de verdad.
IIC2212 Logica Proposicional 30 / 56
-
Conectivos n-arios
Usando tablas de verdad podemos definir conectivos n-arios:C (p1, . . . , pn).
p1 p2 pn1 pn C (p1, p2, . . . , pn1, pn)
0 0 0 0 b10 0 0 1 b2...
... ...
......
1 1 1 1 b2n
Es posible representar C (p1, . . . , pn) usando , , , y ?
IIC2212 Logica Proposicional 31 / 56
-
Conectivos n-arios
Veamos un ejemplo: C1(p, q, r , s).
p q r s C1(p, q, r , s) p q r s C1(p, q, r , s)
0 0 0 0 0 1 0 0 0 10 0 0 1 1 1 0 0 1 00 0 1 0 0 1 0 1 0 00 0 1 1 0 1 0 1 1 00 1 0 0 0 1 1 0 0 00 1 0 1 0 1 1 0 1 00 1 1 0 1 1 1 1 0 10 1 1 1 0 1 1 1 1 0
Como definimos C1(p, q, r , s) usando , , , y ?
IIC2212 Logica 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 losconectivos binarios. As por ejemplo, (p) q es lo mismo quep 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 Logica Proposicional 33 / 56
-
Conectivos n-arios
Solucion a nuestro problema original:
Suponiendo que i es la valuacion correspondiente a la fila i de latabla de verdad de C (p1, . . . , pn), este conectivo es equivalente a:
i : bi=1
(( j :i (pj )=1
pj
)
( k : i (pk )=0
pk
)).
Conclusion
Basta con los conectivos logicos ,, para representar cualquiertabla de verdad.
IIC2212 Logica Proposicional 34 / 56
-
Conectivos funcionalmente completos
Definicion
Un conjunto de conectivos es funcionalmente completo si es
posible definir 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?
IIC2212 Logica Proposicional 35 / 56
-
Formas normales
Decimos que una formula esta en forma normal disyuntiva(DNF) si es de la forma:
mi=1
( nij=1
li ,j
),
donde cada li ,j es un literal, es decir, una letra proposicional o lanegacion 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 Logica Proposicional 36 / 56
-
Formas normales
Decimos que una formula esta en forma normal conjuntiva(CNF) si es de la forma:
mi=1
( nij=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 Logica Proposicional 37 / 56
-
La nocion de consecuencia logica
Una valuacion satisface un conjunto de formulas 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 Logica 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 Logica 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 monotonadeducimos que {p, p q, q} |= q. Como es esto posible?
Ejercicio
Demuestre el teorema de monotona.
Puede usarse la logica proposicional para modelar razonamientocon sentido comun?
IIC2212 Logica Proposicional 40 / 56
-
Un parentesis: Revision de conocimiento
Teorema de monotona: Agregar conocimiento no nos permiteretractarnos.
- No actualizamos nuestro conocimiento de acuerdo a la nueva
informacion.
Dado y : queremos generar una formula que refleje laactualizacion de dado .
Notacion: .
Como podemos hacer esto? Que debera ser {p, p q} q?
IIC2212 Logica 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 Logica 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 Logica Proposicional 43 / 56
-
Un parentesis: Revision de conocimiento
Definimos los modelos de como los modelos de que estanmas cerca de los modelos de :
modelos( ) =
: ()=1
mnimo(, )
y definimos como una formula arbitraria tal quemodelos() = modelos( ).
Siempre existe esta formula? Es unica?
IIC2212 Logica Proposicional 44 / 56
-
Un parentesis: Revision de conocimiento
Ejemplo
= {p, p q} y = q
Primero calculamos los modelos de y :modelos() = {}, donde (p) = (q) = 1modelos() = {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.
IIC2212 Logica 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 consecuencialogica y satisfacibilidad.
Teorema
|= si y solo si {} es inconsistente.
Ejercicio
Demuestre el teorema.
IIC2212 Logica 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 reduccion 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, lotenemos para el otro.
Como verificamos si una formula es satisfacible?
IIC2212 Logica Proposicional 47 / 56
-
El problema de satisfaccion
Un algoritmo simple: Dada una formula , construya la tabla deverdad 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 algoritmotoma tiempo 2n (aproximadamente).
Este es un algoritmo de tiempo exponencial Es posible usar estealgoritmo en la practica?
IIC2212 Logica Proposicional 48 / 56
-
El problema de satisfaccion: Complejidad
Numero estimado de electrones en el universo 10130.
Si n = 1000 y en cada electron del universo tuvieramos unsupercomputador que ejecuta 1050 operaciones por segundo,entonces para verificar si es satisfacible necesitaramos:
21000
1050 10130 10121 segundos.
Edad estimada del universo < 1018 segundos! Y se puedealmacenar en algunos kilobytes de memoria!
Existe un algoritmo eficiente para el problema de satisfacibilidad?
IIC2212 Logica Proposicional 49 / 56
-
Otra nocion util
Definicion
Una formula es una tautologa si para cada valuacion se tiene
que () = 1.
Ejemplop p.
Ejercicio
Sea un conjunto finito de formulas. Demuestre que el problemade verificar si |= puede reducirse al problema de verificar siuna formula es una tautologa.
Puede ser infinito? Que sucede en este caso?
IIC2212 Logica Proposicional 50 / 56
-
Teorema de compacidad
Definicion
Un conjunto de formulas es finitamente satisfacible si cadasubconjunto finito de es satisfacible.
Ejemplo
El conjunto = {p0} {pi pi+1 | i N} es finitamentesatisfacible.
Es satisfacible?
Teorema (Compacidad)
Un conjunto de formulas es satisfacible si y solo si es finitamente
satisfacible.
IIC2212 Logica 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 Logica Proposicional 52 / 56
-
Teorema de compacidad: Demostracion
Ahora vamos a demostrar la direccion del teorema. La otradireccion es trivial.
() Suponga que P = {pi | i 1} y defina una sucesion {i}iNde conjuntos de literales:
Caso base: 0 = .
Para i N:
i+1 =
{i {pi+1} i {pi+1} es finitamente satisfacible,
i {pi+1} en caso contrario.
Finalmente: =iN
i .
IIC2212 Logica Proposicional 53 / 56
-
Teorema de compacidad: Demostracion
Para cada pi P : pi i o pi i , pero no ambas.
Por lo tanto: Existe una unica 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 lade mayor ndice.
IIC2212 Logica 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 ypk k .Contradiccion: k y (pk) = 1.
(pk) = 0: entonces {} k1 {pk} es inconsistente.Entonces: k1 {pk} es finitamente satisfacible (por lema) ypk k .Contradiccion: k y (pk) = 0.
IIC2212 Logica Proposicional 55 / 56
-
Teorema de compacidad y consecuencia logica
Corolario
|= si y solo si existe un subconjunto finito de tal que |= .
Ejercicio
Demuestre el corolario.
IIC2212 Logica Proposicional 56 / 56