Tema 1: Sintaxis y Semántica de la Lógica Proposicional Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2010–11 LC, 2010–11 Lógica Proposicional 1.1 Contenido Sintaxis Fórmulas Inducción sobre fórmulas Semántica Valoraciones Consecuencia Lógica y satisfactibilidad Problemas de decisión LC, 2010–11 Lógica Proposicional 1.2 Problema básico (PB) Dado un conjunto de enunciados, BC, y un enunciado φ decidir si φ ha de ser necesariamente cierto, suponiendo que todos los enunciados de BC lo son. La Lógica nos proporciona formulaciones precisas de este problema y diferentes soluciones. Dos aspectos esenciales del problema son: I Un lenguaje para expresar (representar) los enunciados, y I Algoritmos para la Deducción. Discutiremos estas cuestiones en un caso sencillo: la Lógica Proposicional. LC, 2010–11 Lógica Proposicional 1.3 Sintaxis (I) Caracterı́sticas generales de la Lógica proposicional: I Una lógica de oraciones y/o propiedades I No distingue entre elementos no explı́citos en el lenguaje I Semántica: Verdadero/falso El lenguaje proposicional consta de: 1. Un conjunto numerable, Var , de variables proposicionales: p0 , p1 , . . . 2. Las conectivas lógicas: ¬ (negación) y ∨ (disyunción). 3. Sı́mbolos auxiliares: “(” y “)”. Los sı́mbolos p, q, r , . . . representarán variables proposicionales, y los sı́mbolos F , G , H, . . . representarán fórmulas. LC, 2010–11 Lógica Proposicional 1.4 Sintaxis (II) El conjunto PROP de las fórmulas proposicionales es el menor conjunto de expresiones C tal que: I Var ⊆ C, I F ∈C I F,G ∈ C =⇒ =⇒ ¬F ∈ C (F ∨ G ) ∈ C La sintaxis debe evitar la ambigüedad en la interpretación de las fórmulas. LC, 2010–11 Lógica Proposicional 1.5 Árboles de formación Podemos asociar de manera única un árbol a cada fórmula. Ejemplo: ¬(¬(p ∨ q) ∨ (¬r ∨ s)) (¬(p ∨ q) ∨ (¬r ∨ s)) H HH ¬(p ∨ q) (p ∨ q) HH p q (¬r ∨ s) H ¬r s r Las fórmulas que aparecen en el árbol de formación de una fórmula F se denominan subfórmulas de F . LC, 2010–11 Lógica Proposicional 1.6 Principio de Inducción sobre fórmulas Gracias a la definición de PROP si deseamos probar que toda fórmula proposicional satisface cierta propiedad Φ, podemos probarlo por inducción sobre fórmulas. Para ello probamos: 1. Caso base: Si F ∈ Var , entonces F tiene la propiedad Φ. 2. Paso de inducción: 2.1 Si F ∈ PROP tiene la propiedad Φ, entonces ¬F tiene la propiedad Φ. 2.2 Si F , G ∈ PROP tienen la propiedad Φ, entonces (F ∨ G ) tiene la propiedad Φ. LC, 2010–11 Lógica Proposicional 1.7 Notación Para facilitar la lectura de las fórmulas, se usará: 1. F ∧ G en lugar de ¬(¬F ∨ ¬G ). 2. (F → G ) en lugar de (¬F ∨ G ), y (F ↔ G ) en lugar de ((F → G ) ∧ (G → F )). 3. Para reducir el número de paréntesis I I Omitiremos los paréntesis externos. Daremos a las conectivas una precedencia de asociación. De mayor a menor, están ordenadas por: ¬, ∧, ∨, →, ↔. Ejemplo: F ∧ G → ¬F ∨ G es ((F ∧ G ) → (¬F ∨ G )). 4. Cuando una conectiva se usa repetidamente, se asocia por la derecha: F ∨ G ∨ H es (F ∨ (G ∨ H)). LC, 2010–11 Lógica Proposicional 1.8 Semántica (I) I Los elementos del conjunto {0, 1} se llaman valores de verdad. Se dice que 0 es el valor falso y el 1 es el valor verdadero. I El significado de una conectiva se determina mediante su función de verdad: I I I 1, si i = 0; 0, si i = 1. La funciónde verdad de la disyunción es la función 0, si i = j = 0; H∨ (i, j) = 1, en otro caso. Para la negación es la función H¬ (i) = Las variables proposicionales se interpretan mediante una valoración de verdad, es decir, una aplicación v : Var → {0, 1} LC, 2010–11 Lógica Proposicional 1.9 Semántica (II) Podemos extender cada valoración, v , al conjunto de todas las fórmulas de manera que para cada fórmula F se verifique: I v (¬F ) = H¬ (v (F )). I v ((F ∨ G )) = H∨ (v (F ), v (G )). Fijada v estas ecuaciones permiten asignar de manera única un valor v (F ) a cada fórmula. Se dice que v (F ) es el valor de verdad de F respecto de v . Para las demás conectivas podemos usar las funciones de verdad: 1, si i = j = 1; H∧ (i, j) = 0, en otro caso. 0, si i = 1, j = 0; H→ (i, j) = 1, en otro caso. 1, si i = j; H↔ (i, j) = 0, en otro caso. LC, 2010–11 Lógica Proposicional 1.10 Semántica (III) Veamos el cálculo de v (¬(¬(p ∨ q) ∨ (¬r ∨ s)) en el árbol de formación. ¬(¬(p ∨ q) ∨ (¬r ∨ s)) (0) ¬(p ∨ q) ∨ (¬r ∨ s) (1) H H HH ¬(p ∨ q) (0) (¬r ∨ s) (1) H H (p ∨ q) (1) H H H p (1) LC, 2010–11 q (1) ¬r (1) s (0) r (0) Lógica Proposicional 1.11 Semántica (IV) El valor v (F ) está bien definido gracias al siguiente resultado: Teorema. Para cada valoración de verdad, v , existe única a una aplicación V : PROP → {0, 1} tal que si A ∈ Var v (A) V (A) = H∨ (V (B), V (C )) si A es (B ∨ C ) H¬ (V (B)) si A es ¬B LC, 2010–11 Lógica Proposicional 1.12 Tablas de verdad Dada una valoración v , el valor de verdad de F respecto de v está determinado por los valores de verdad de las subfórmulas de F Ejemplo: si v (p) = v (q) = 0 y v (r ) = 1, entonces v (¬((p → q) ∨ r )) = H¬ (H∨ (v (p → q), v (r ))) = = H¬ (H∨ (H→ (p, q), 1)) = 0 Fijada v podemos presentar el cálculo de F mediante una tabla: p q r p → q (p → q) ∨ r 0 0 1 1 1 ¬((p → q) ∨ r ) 0 Una tabla de verdad para F es una tabla similar que contiene una fila por cada valoración que asigne valores distintos a las variables proposicionales que aparecen en F . LC, 2010–11 Lógica Proposicional 1.13 Validez y consistencia I F es válida para v (o v modelo de F , v |= F ) si v (F ) = 1. I v es modelo de un conjunto U, v |= U, si v es modelo de toda fórmula de U. I F es lógicamente válida (tautologı́a) si es válida para toda valoración (notación |= F ). I Un conjunto de fórmulas U es satisfactible (o consistente) si existe una valoración que es modelo de U. En caso contrario diremos que es insatisfactible (o inconsistente). Relación entre estos conceptos: Lema. Para cada F ∈ PROP se verifica: I F lógicamente válida =⇒ F satisfactible. I F lógicamente válida ⇐⇒ ¬F insatisfactible. LC, 2010–11 Lógica Proposicional 1.14 Consecuencia Lógica Una fórmula F es consecuencia lógica de un conjunto de fórmulas U, U |= F , si todo modelo de U es modelo de F . Es decir, Para toda valoración, v , v |= U =⇒ v |= F La relación de consecuencia lógica permite formular el problema básico (PB) en el marco de la lógica proposicional. Relación entre consecuencia lógica, consistencia y validez: Proposición. Sea {F1 , . . . Fn } ⊆ PROP. Son equivalentes: I {F1 , . . . , Fn } |= F I |= F1 ∧ · · · ∧ Fn → F I {F1 , . . . , Fn , ¬F } es inconsistente. LC, 2010–11 Lógica Proposicional 1.15 Algoritmos de decisión Dado un conjunto de fórmulas proposicionales, U, un algoritmo de decisión para U es un algoritmo que dada A ∈ PROP, devuelve SI cuando A ∈ U y NO si A 6∈ U. Casos especialmente interesantes: I SAT = {A ∈ PROP : A es satisfactible} I TAUT = {A ∈ PROP : A es una tautologı́a} I Fijado U ⊆ PROP, la teorı́a de U es T (U) = {A ∈ PROP : U |= A} Un algoritmo de decisión para T (U) propociona una respuesta al Problema Básico considerado al principio del tema. LC, 2010–11 Lógica Proposicional 1.16 Algoritmos de decisión (II) Problema Básico: Obtener un algoritmo que dado un conjunto finito de fórmulas proposicionales, U, y una fórmula F decida si U |= F . El problema anterior se reduce a decidir la satisfactibilidad de una cierta fórmula (o si se prefiere, la validez de otra). Por tanto, I La construcción de tablas de verdad proporciona un algoritmo (ineficiente) para decidir la consecuencia lógica. I El Problema Básico es resoluble algorı́tmicamente, aunque no se conoce ninguna solución eficiente y se duda de la existencia de algoritmos de decisión eficientes para este problema, ya que I Determinar la satisfactibilidad de una fórmula proposicional es un problema NP-completo. LC, 2010–11 Lógica Proposicional 1.17 Algoritmos de decisión (III) Problema Básico (bis): Obtener un algoritmo eficiente que dado un conjunto finito de fórmulas proposicionales, U, y una fórmula F decida si U |= F . Observaciones: I Este problema es equivalente al de obtener un algortimo eficiente para determinar la satisfactibilidad de una fórmula proposicional. I Se trata de un problema abierto, que posiblemente tendrá una respuesta negativa (se sospecha que no existen algoritmos eficientes para resolver SAT). I Para propósitos prácticos puede bastar con algoritmos eficientes para alguna clase especial de fórmulas. LC, 2010–11 Lógica Proposicional 1.18