Logic a Pr Oposicional

56
L´ogicaProposicional IIC2212 IIC2212 ogica Proposicional 1 / 56

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