28/08/2012 conceptos básicos: la lógica lógica proposicional CONTENIDO Fórmulas y su semántica [H6.2]. Funciones de verdad [H6.2]. Formas lógica normales [H6.2]. Razonamiento formal: proposicional 1 reglas de inferencia, pruebas, sistemas axiomáticos [H6.3]. Completitud y sensatez [H6.2]. LENGUAJES FORMALES Y AUTÓMATAS LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional La lógica es la disciplina que trata con métodos de razonamiento. La lógica provee reglas y técnicas para determinar si un argumento dado es válido. 2 HEIN, JAMES. Discrete Structures, Logic and Computability. Jones and Bartlett Publishers. 1995 - 2001 Augustus De Morgan (1806-1871) conceptos básicos: la lógica LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 3 Pregunta: ¿Qué relación existe entre la lógica y la computación? mecanizar tareas complejas. verificación de programas (¿coincide lo que se cree que hace el programa y lo que realmente hace?). los ordenadores lo constituyen circuitos lógicos. la lógica formal puede considerarse como una especie de lenguaje de programación. ¿cómo razonamos? LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 4 ¿Cómo razonamos en nuestras vidas cotidianas? Declaramos hechos y luego declaramos conclusiones en base a esos hechos. Utilizamos palabras o frases de la siguiente lista para indicar que se realiza cierta conclusión: por lo tanto entonces de esto se concluye que de esto sigue que … ¿cómo razonamos? LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 5 La regla de inferencia más común se denomina modus ponens y funciona de la siguiente manera: Supongamos A y B son sentencias y asumamos que A entonces B es verdadera y A es verdadera Entonces podemos concluir B es verdadera George Boole (1815-1864) ¿cómo razonamos? LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 6 Ejemplo típico de inferencia por modus ponens: Si llueve entonces hay nubes en el cielo Llueve Por lo tanto hay nubes en el cielo ¿Cómo se aprende la regla de modus ponens? Probablemente durante la infancia 1 28/08/2012 ¿cómo razonamos? LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 7 Otra regla que se aprende durante la infancia es llamada modus tollens y funciona de la siguiente manera: Supongamos A y B son sentencias y asumamos que ¿cómo razonamos? LENGUAJES FORMALES Y AUTÓMATAS Falacias lógicas Non sequitur: no se sigue Ío es la luna de Júpiter Titán es la luna de Saturno La Tierra es el tercer planeta más cercano al sol lógica proposicional 8 Si un objeto es de oro, brilla. Esta daga brilla. Esta daga es de oro. A entonces B es verdadera y B es falsa Entonces podemos concluir A es falsa Si es Bahiense es Argentino No es Bahiense No es Argentino cálculo proposicional LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 9 Una oración que es verdadera o falsa se denomina proposición: Ejemplos El verano comienza en junio en el hemisferio Sur. 2+2=4. Si llueve, entonces hay nubes en el cielo. Puedo ir o no ir al cine esta noche. Todos los enteros son pares. Existe un número primo mayor que 10100 (googol). cálculo proposicional LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 10 Conectivos lógicos (o ’) negación Λ conjunción V disyunción → implicación ┐ Otros conectivos se introducen para simplificar notación ej: ↔ equivalencia A B ┐A AΛ B AVB A→B V V F V V V V F F V F F V F V V F F F F V V sintaxis vs. semántica LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 11 Sintaxis: ¿Es esta sentencia gramaticalmente correcta? Semántica ¿Cuál es el significado de la siguiente expresión? sintaxis LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 12 Conjunto de símbolos: Símbolos de verdad: v, f Conectivos : Λ,V,→,┐ Variables Proposicionales: P, Q, R Símbolos de puntuación: ( , ) 2 28/08/2012 sintaxis LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional Definición informal de fórmula bien formada (fbf) Una fórmula bien formada es un símbolo de verdad una letra proposicional la negación de una fbf la conjunción de dos fbf la disyunción de dos fbf la implicación de una fbf a otra fbf una fbf rodeada de paréntesis 13 sintaxis LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional Ejemplos de fbf: verdadero, falso, P, ┐Q, P ΛQ, P→Q, (PVQ) ΛR, PΛQ → R 14 Ejercicios Dar una gramática BNF para las fbf del cálculo proposicional. Mostrar que PΛQVR es una fbf. Mostrar que P→QV(RΛ┐Q) es una fbf. sintaxis LENGUAJES FORMALES Y AUTÓMATAS ¿Es posible asociar una tabla de verdad a cada fbf? Sí, pero antes debemos establecer una jerarquía de precedencia para los conectivos: lógica proposicional 15 ┐ (mayor precedencia, aplicar primero) Λ V → (menor precedencia, aplicar último) sintaxis PVQΛR significa P V (Q Λ R) P→Q→R significa (P → Q) → R ┐P V Q significa (┐P) V Q ┐ ┐P) → ((P Λ Q) V R) lógica P → P Λ Q V R significa ( proposicional ┐┐P ┐ significa (┐ P) 16 Toda fbf tiene un árbol de sintaxis natural que muestra claramente la jerarquía de los conectivos. Λ Ejemplo: LENGUAJES FORMALES Y AUTÓMATAS A continuación planteamos algunos ejercicios para repasar el concepto de tablas de verdad. lógica proposicional Ejercicio 17 Asumamos que P→Q es falso ¿Cuáles son los posibles valores de verdad para las siguientes fbf? PVQ ┐P → Q Λ R ¿Y si asumimos P→Q es verdadero? ¿Qué valores de verdad deben tener P, Q, R, S y T para que la siguiente fbf sea falsa? ( P ΛQ ) Λ R ( S V T ) ┐ R) Q ┐ R árbol sintáctico mostrando jerarquía de conectivos semántica LENGUAJES FORMALES Y AUTÓMATAS V P P Λ (Q V Además Λ, V y → son asociativos a izquierda Notar analogía con expresiones aritméticas semántica LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 18 Tautologías, Contradicciones y Contingencias Una fbf cuyos valores de verdad son siempre verdaderos (v) es llamada tautología. Una fbf cuyos valores de verdad son siempre falsos (f) es llamada contradicción. Una fbf cuyos valores de verdad son a veces v y otras f es llamada contingencia. 3 28/08/2012 semántica Dos fbf son equivalentes si tienen la misma tabla de verdad. Se nota A ↔ B o A≡B lógica proposicional Ya vimos algunos ejemplos. Repasémoslos y 19 veamos algunos nuevos. Algunas equivalencias básicas LENGUAJES FORMALES Y AUTÓMATAS Negación Disyunción Conjunción ┐┐A ≡ A AΛv ≡ A AVv≡v AVf≡A AΛf ≡ f AVA≡A AΛA ≡ A A V ┐A ≡ v A Λ ┐A ≡ f semántica LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 20 Implicación A→v≡v A → f ≡ ┐A v→A≡A f → ┐A ≡ v A→A≡v Algunas conversiones A→B≡ ┐ A VB ┐(A→B) ≡AΛ┐B A→B ≡ AΛ┐B → f AVB≡BVA AΛ B ≡ B ΛA (A V B) V C ≡ A V (B V C) (A Λ B) Λ C ≡ A Λ (B Λ C) A Λ (B V C) ≡ (A Λ B) V (A Λ C) A V (B Λ C) ≡ (A V B) Λ (A V C) semántica LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 21 Leyes de absorción semántica LENGUAJES FORMALES Y AUTÓMATAS A Λ (AVB)≡ A A V (AΛB)≡ A A Λ (┐AVB)≡ AΛB A V (┐AΛB)≡ A VB lógica proposicional 22 Propiedades de la equivalencia: ≡ es una relación de equivalencia. Cualquier sub-fbf de una fbf puede ser reemplazada por una fbf equivalente sin cambiar el valor de verdad de la fbf original. Leyes de De Morgan ┐(AΛB)≡ ┐ A V┐B B ┐(AVB)≡ ┐ A Λ ┐ funciones booleanas LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 23 ¿Que otros conectivos unarios existen además de ‘’? P g1(P) P g2(P) P g3(P) P g4(P) v f v v f v f v f f v f f v ¿Cuántos conectivos binarios diferentes podríamos definir? En general podemos 2n definir 2 conectivos n-arios v f forma normal disyuntiva LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 24 Expresando otros conectivos en términos de Λ,V y P Q g(P,Q) v v f paso 1: v f v PQ P Q g(P,Q) f v v PQ v v v/f f f f v f v/f f v v/f f f v/f paso 2: (PQ) (PQ) Toda fbf es equivalente a una forma normal disyuntiva (FND) 4 28/08/2012 forma normal conjuntiva LENGUAJES FORMALES Y AUTÓMATAS De manera análoga P Q lógica proposicional 25 g(P,Q) v v f v f v f v v f f f conjunto completo de conectivos LENGUAJES FORMALES Y AUTÓMATAS paso 1: paso 2: P Q lógica proposicional 26 Dado que se puede expresar cualquier función de verdad utilizando sólo ‘’, ‘’, e ‘’, decimos que el conjunto de operadores {, , } es completo. Recordemos las leyes de De Morgan: (P Q) ≡ P Q (P Q) ≡ P Q (P Q ) (P Q) Por la propiedad de substitución, dado que {, , } es un conjunto completo, de conectivos también lo son los conjuntos {, } y {, } PQ Toda fbf es equivalente a una forma normal conjuntiva (FNC) un poco de terminología LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 27 Un literal es una letra proposicional o su negación Una conjunción fundamental es un literal o una conjunción de dos o más literales Una forma normal disyuntiva (FND) es una conjunción fundamental, o la disyunción de una o más conjunciones fundamentales Ejemplos: P, Q, P, Q Ejemplos: P, PQ Ejemplos: seguimos con funciones de verdad y formas normales … LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 28 P (PQ) (P Q) (Q P) (P Q R) ( P Q R) P P PP P Q Previamente presentamos un método que permite obtener la FND y la FNC para cualquier función de verdad. Pregunta: ¿Qué ocurre cuando queremos obtener la FND (FNC) a partir de una tabla que no tiene ningún valor verdadero (falso)? P P ≡ falso dos maneras para obtener FND Podemos construir una FND para cualquier función de verdad utilizando el lógica proposicional método visto en la 29 clase previa LENGUAJES FORMALES Y AUTÓMATAS Otra manera es mediante el uso de equivalencias que permiten transformar una fbf en una fbf en FND P Q g(P,Q) v v f f v f v f paso 1: paso 2: f v PQ (PQ) (PQ) v PQ f método para transformar una fbf a FND LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 1. 2. 30 Remover todas las apariciones del conectivo → A→B≡ A VB Llevar las negaciones hacia adentro para crear literales utilizando leyes de De Morgan 1. ¿Existe un método automático para tal fin? P P ≡ verdadero 2. 3. (A B) ≡ A B (A B) ≡ A B Aplicar las leyes distributivas para obtener una FND A (B C) ≡ (A B) (A C) A (B C) ≡ (A B) (A C) 5 28/08/2012 método para transformar una fbf a FND LENGUAJES FORMALES Y AUTÓMATAS Ejemplo Escribir la siguiente fbf en FND ((P Q) (Q → R)) ((P Q) (Q → R)) (P Q) (Q → R) ( P Q) (Q → R) ( P Q) ( Q R) ( P Q) (Q R) lógica proposicional 31 ≡ ≡ (De Morgan) ≡ (De Morgan) ≡ (implicación) (De Morgan) más terminología: el caso de FNC LENGUAJES FORMALES Y AUTÓMATAS De manera análoga a la FND, existen dos maneras para obtener una FNC para cualquier función de verdad lógica Utilizando el paso 2: P Q g(P,Q) paso 1: proposicional método de la P Q f v v 33 tabla de verdad v f v (P Q ) (P Q) f v v visto en la PQ f f f clase previa 32 lógica proposicional 35 Ejemplo ((P Q) (Q → R)) (P Q) (Q → R) (P Q) (Q → R) (P Q) (Q R) (P Q) (Q R) ≡ ≡ (De Morgan) ≡ (De Morgan) ≡ (implicación) (De Morgan) La obtenida no es una forma completa. Realizamos los siguientes pasos adicionales aplicando equivalencias básicas y la ley distributiva: (PQ) (Q R) ≡ (PQ) (RR ) (QR) (PP) ≡ (PQR) (PQR) (PQR) (PQR) Un forma normal conjuntiva (FNC) es una disyunción fundamental o la conjunción de dos o más disyunciones fundamentales. formas completa Supongamos que una fbf W tienen n letras proposicionales diferentes. Una FND para W se denomina forma norma disyuntiva completa si cada conjunción fundamental lógica tiene exactamente n literales, uno para cada proposicional una de las n letras que aparecen en W. 34 Ejemplo LENGUAJES FORMALES Y AUTÓMATAS (P Q R) ( P Q R) es una FND completa. P ( P Q) es una FND pero no es una FND completa. Mediante el uso de equivalencias que permiten transformar una fbf en una fbf en FNC Escribir la siguiente fbf en FND completa ((P Q) (Q → R)) Ejemplos: P (P Q), (P Q) (Q P) (P Q R) ( P Q R) P P PP PQ La definición para forma norma conjuntiva completa es análoga. método para transformar una fbf a FND completa LENGUAJES FORMALES Y AUTÓMATAS Una disyunción fundamental es un literal o una disyunción de dos o más literales. Ejemplos: P, P Q lógica proposicional dos maneras para obtener FNC LENGUAJES FORMALES Y AUTÓMATAS razonamiento formal LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 36 Las tablas de verdad son suficientes para determinar si una fbf es verdadera. Sin embargo, construir una tabla de verdad para una fbf con muchas variables y conectivos puede volverse una tarea muy compleja. Alternativa: utilizar un sistema de razonamiento formal. 6 28/08/2012 reglas de inferencia LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 37 Regla de inferencia: Patrón sintáctico que establece que a partir de un conjunto de premisas (hipótesis o antecedentes) podemos derivar una conclusión. P1 … Pk C “” significa “por lo tanto” reglas de inferencia LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 38 lógica proposicional 39 Modus Ponens (MP) A A→B B A B A→B A (A→B) A (A→B) → B v v f f v f v f v f v v v f f f v v v v Cualquier tautología condicional de la forma P1 ... Pk → C puede ser usada como regla de inferencia. Por ejemplo, la tautología (A → B) B → A da lugar a la regla de Modus tollens (MT) B AB A lógica proposicional 41 Silogismo Disyuntivo (SD) A B, A . B Silogismo Hipotético (SH) A →B, B →C A→C Cuando P1 ... Pk → C es una tautología (recordar definición de argumento válido) reglas de inferencia LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 40 reglas de inferencia LENGUAJES FORMALES Y AUTÓMATAS Pregunta: ¿Cuándo podemos asegurar que una regla de inferencia preserva la verdad? P1 … Pk C reglas de inferencia LENGUAJES FORMALES Y AUTÓMATAS Queremos que nuestras reglas de inferencia preserven la verdad. Listemos otras reglas de inferencia Regla de Conjunción (Conj.) A,B . AB Regla de Simplificación (Simp.) A B. A Regla de Adición (Ad.) A . AB axioma Un axioma es una fbf que queremos usar como base a partir de la cual podremos razonar. lógica Un axioma es usualmente una fbf que proposicional 42 conocemos como verdadera (por ejemplo, luego de verificar su valor de verdad usando una tabla de verdad). Cuando la lógica es aplicada a cierto tema, entonces un axioma podría ser algo que “queremos que sea verdadero” (ejemplo, “dos puntos determinan una única recta”). LENGUAJES FORMALES Y AUTÓMATAS 7 28/08/2012 sistemas de razonamiento LENGUAJES FORMALES Y AUTÓMATAS Reglas de inferencia Una teoría formal lógica proposicional prueba LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 43 … Axiomas de la teoría 44 Una prueba es una secuencia finita de fbf con la propiedad de que cada fbf en la secuencia es un axioma, o puede ser inferido de fbf previas en la secuencia La última fbf en la secuencia es llamada teorema. Teoremas varios adaptado de Rosen pruebas Escribiremos las pruebas en forma de tabla, donde cada línea está numerada y contiene una fbf junto con la razón por la cual fue incluida. Prueba 1. W1 Razón para W1 2. W2 Razón para W2 LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 45 n. prueba condicional (PC) LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional lógica proposicional 47 P (premisa) P P k. D … 1,2,3,k,PC k+1. A B C → D Wn Razón para Wn Ejemplo Probar la siguiente sentencia (A B) (A C) A → B C 1. 2. 3. 4. 5. 6. 7. A B C 46 prueba condicional LENGUAJES FORMALES Y AUTÓMATAS 1. 2. 3. AB AC A B C BC (A B) (A C) A → B C prueba condicional: simplificaciones LENGUAJES FORMALES Y AUTÓMATAS P P P 1,3,SD 2,3,SD 4,5,Conj 1,2,3,6,PC lógica proposicional 48 Ejemplo Probar la siguiente sentencia ((A B) → (B C)) → (B → C) D 1. ((A B) → (B C)) P 2. B P – sub-prueba (B → C) 3. AB 2,Ad. 4. B C 1,3,MP 5. C 4,Simp. 6. B → C 2,5,PC – fin sub-prueba 7. (B → C) D 6,Ad. 8. ((A B) → (B C)) → (B → C) D 1,7,PC Advertencia: no usar líneas de la sub-prueba para inferir líneas que aparezcan luego de que la sub-prueba haya finalizado 8 28/08/2012 prueba condicional: simplificaciones LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 49 Ejemplo Probar la siguiente sentencia (A B) (B C) (C → D) → (A → D) prueba indirecta (PI) LENGUAJES FORMALES Y AUTÓMATAS 1. (A B) P Nota: podemos utilizar reglas de 2. B C P equivalencia 3. C → D P 4. A B 1, (A B) ≡ A B 5. A P 6. B 4,5,SD 7. C 2,6,SD 8. D 3,7,MP 9. A → D 5,8,PC 10. (AB)(BC)(C→D)→(A→D) 1,2,3,9,PC lógica proposicional 50 1. 2. 3. A B C P P P 4. D P para PI k. falso … 1,2,3,4,k,PI k+1. A B C → D prueba indirecta LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 51 Ejemplo Probar la siguiente sentencia (A B) A (C → B) → C 1. A B 2. A 3. C → B 4. C 5. B 6. A 7. A A 8. falso 9.(A B) A (C → B) → C pruebas Ejercicio Supongamos que tenemos las siguientes premisas: lógica “No está soleado y no hace frío” proposicional 52 “Si no está soleado entonces no vamos a nadar” “Si no vamos a nadar entonces vamos al cine” “Si vamos al cine entonces regresamos a casa tarde.” Probar que las premisas anteriores implican “Regresamos a casa tarde” LENGUAJES FORMALES Y AUTÓMATAS P P P P para PI 3,4,MP 1,5,SD 2,6,Conj 7,AA ≡ falso 1,2,3,4,8,PI sensatez y completitud pruebas LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 53 Ejercicio: Mostrar que los siguientes argumentos son válidos: “Pedro sacó dos A’s, pero si Pedro no promocionó entonces Pedro no sacó dos A’s, entonces Pedro promocionó”. “Si el programa es eficiente, entonces ejecuta rápidamente. O bien el programa es eficiente o bien tiene un error. Sin embargo, el programa no ejecuta rápidamente. Por lo tanto el programa tiene un error”. Sensatez: (correctitud/sanidad): Queremos que todas lógica las pruebas de proposicional teoremas devuelvan 54 tautologías. tautologías LENGUAJES FORMALES Y AUTÓMATAS teoremas tautologías Completitud: Queremos que todas las tautologías puedan ser probadas como teoremas. teoremas 9 28/08/2012 sistema de Hilbert (similar al original) Axiomas 1. A A → A 2. A → A B lógica proposicional 3. A B → B A 55 4. (A → B) → (C A → C B) LENGUAJES FORMALES Y AUTÓMATAS 5. A → B ≡ A B ≡ (A B) pruebas usando el sistema de Hilbert Teorema 1: (A → B) (B → C) → (A → C) 1. (A → B) P 2. (B → C) P 3. A P lógica B 1,3,MP proposicional 4. 5. C 2,4,MP 56 6. A → C 3,5,PC 7. (A → B) (B → C) → (A → C) 1,2,6,PC LENGUAJES FORMALES Y AUTÓMATAS David Hilbert (1862-1943) Reglas Regla de inferencia Modus Ponens (MP) Regla de Prueba Condicional (PC) Podemos usar teoremas previamente probados para probar nuevos teoremas Teorema 2: A → A 1. A → A A axioma 2 2. A A → A axioma 1 3. A → A 1,2, Teorema 1,MP pruebas usando el sistema de Hilbert LENGUAJES FORMALES Y AUTÓMATAS lógica proposicional 57 Ejercicios Dar una prueba para los siguientes teoremas usando el sistema de Hilbert Teorema 3: A A Teorema 4: A A Teorema 5: A A Teorema 6: A → A Teorema 7: A→ A 10