Lógica Clásica de Predicados Lógica Computacional Departamento de Matemática Aplicada Universidad de Málaga 10 de enero de 2008
Contenido 1 Sintaxis 2 Variables y Sustituciones 3 Significado y verdad 4 Semántica 5 Formas normales
Sintaxis de la Lógica de Primer Orden El alfabeto de la Lógica de Primer orden está formado por los siguientes conjuntos: 1 Las conectivas proposicionales:,,,,. 2 Las constantes lógicas:,. 3 Los símbolos de cuantificación:,. 4 Los delimitadores: (, ). 5 Un conjunto infinito numerable V de variables: usaremos las últimas letras del alfabeto x, y, z,..., posiblemente subindizadas.
Sintaxis de la Lógica de Primer Orden Un conjunto numerable (posiblemente vacío) C de símbolos de constantes: usaremos las primeras letras del alfabeto a, b, c,..., posiblemente subindizadas. Un conjunto numerable (posiblemente vacío) F de símbolos de funciones y una función r 1 que asigna a cada símbolo de función un elemento de N llamado aridad: usaremos las letras f, g, h, posiblemente subindizadas. Un conjunto numerable P de símbolos de predicados y una función r 2 que asigna a cada símbolo de predicado un elemento de N llamado su aridad: usaremos las letras P, Q, R,..., posiblemente subindizadas.
Observaciones y terminología Los conjuntos V, C, F y P son disjuntos dos a dos. Los conjuntos C, F y P dependen de la aplicación y determinan un lenguaje específico de primer orden. Los restantes símbolos del alfabeto son comunes a todos los lenguajes de primer orden. Los símbolos de predicado de aridad 1 se denominan propiedades. Los de aridad mayor que 1 son las relaciones. Definición Los lenguajes de primer orden sobre una signatura Σ = (C, F, P) se denotan L 1 (C, F, P) o L 1 (Σ).
Términos Definición El conjunto de términos sobre el conjunto de variables V y la signatura Σ = (C, F, P) se define inductivamente como sigue: 1 Los elementos de V y C son términos; 2 Si f es un símbolo de función de aridad n y t 1,..., t n son términos, entonces f(t 1,..., t n ) es un término; Denotaremos por T (Σ), o simplemente T si no hay posibilidad de confusión, al conjunto de términos. Un término se dice básico si en él no intervienen variables. Denotaremos por T B(Σ), o simplemente T B si no hay posibilidad de confusión, al conjunto de términos básicos.
Fórmulas bien formadas de L 1 (C, F, P) Definición Las fórmulas atómicas, o átomos de L 1 (C, F, P), son las cadenas de la forma P(t 1,..., t n ), donde P es un símbolo de predicado de aridad n y t 1,...,t n son términos. 1 Las fórmulas atómicas son fbfs. 2 y son fbfs. 3 Si A y B son fbfs, A, (A B), (A B), (A B) y (A B) son fbfs. 4 Si A es una fbf y x es símbolo de variable, xa y xa son fbfs.
Observaciones Los términos NO son fórmulas bien formadas. Solo se permite cuantificar variables que representen objetos. No se puede cuantificar ni funciones ni predicados!! Únicamente se puede predicar sobre objetos, es decir, todo predicado de aridad n necesariamente ha de aplicarse a n términos.
Ocurrencias libres de variables Definiciones Las fórmulas que no contienen variables se llaman básicas. En las fórmulas xa y xa, decimos que A es el radio de acción del cuantificador. Decimos que una variable x aparece ligada en la fbf A si es la variable de un cuantificador en A o aparece en el radio de acción de un cuantificador con variable x en A. Decimos que x aparece libre en A si no aparece ligada. Ejercicio Dada una variable x y una fbf A, puede x aparecer simultáneamente libre y ligada en A?
Cierre universal y cierre existencial Una variable x es libre en una fórmula A si tiene apariciones libres y es ligada si tiene apariciones ligadas. Una fórmula sin variables libres se dice cerrada. Una fórmula con variables libres se dice abierta. Definición Escribamos A(x 1,..., x n ) para denotar que {x 1,..., x n } son las variables libres de A: El cierre universal de A es x 1... x n A(x 1,..., x n ) El cierre existencial de A es x 1... x n A(x 1,..., x n )
Sustitución de variables Definición Sean x 1,..., x n variables distintas dos a dos y t 1,..., t n términos. La sustitución de x 1,..., x n por t 1,..., t n respectivamente, es la aplicación σ : T T definida recursivamente como sigue: 1 σx i = t i, para todo i = 1,..., n 2 σy = y, si y x i para todo i = 1,..., n 3 σa = a, para todo a C 4 σf(s 1,..., s n ) = f(σs 1,..., σs n ), donde s 1,..., s n son términos y f F.
Sustitución de variables Esta aplicación se extiende al conjunto de las fórmulas bien formadas, como sigue: 1 σ =, σ =. 2 σp(s 1,..., s n ) = P(σs 1,..., σs n ), donde los s i son términos y P P. 3 σ( B) = σb. 4 σ(b C) = σb σc, donde {,,, }. 5 σ( yb) = yσb, si y x i para todo i = 1,..., n y para {, }. 6 {x 1 /t 1,..., x i /t i,..., x n /t n }( x i B) = x i {x 1 /t 1,..., x i 1 /t i 1, x i+1 /t i+1,..., x n /t n }B, {, }.
Observaciones La sustitución σ = {x 1 /t 1,..., x n /t n } sustituye, a la vez, todas las apariciones de x 1,..., x n por t 1,...,t n respectivamente. De la misma forma, la sustitución {x 1 /t 1,..., x n /t n } aplicada a una fórmula A, sustituye todas las apariciones libres de x 1,..., x n por t 1,...,t n respectivamente. Si n = 1, la sustitución de x por t se denota igualmente por [x/t].
Composición de sustituciones Ejemplo Calculemos la composición σ τ para las sustituciones σ = {x/f(a, z), y/h(x), z/a} τ = {x/h(y), y/f(x, z)} La respuesta es σ τ = {x/h(h(x)), y/f(f(a, z), a), z/a} Ejercicio Demuestre que la composición es una operación interna en el conjunto de las sustituciones. Calcule τ σ. Es conmutativa la composición de sustituciones?
Variable sustituible por un término Sea A(x) una fórmula y t un término. Decimos que x es sustituible por t en A si x no aparece libre en el radio de acción de y dentro de A (con {, }) para ninguna variable y de t, En tal caso, [x/t]a(x) se denota igualmente por A(t) y se denomina instancia de A(x). Los términos básicos son siempre libres para cualquier variable. Sea t un término, V el conjunto de variables que aparecen en t y A una fórmula. Si Ligadas(A) V = entonces todas las variables libres en A son sustituibles por t.
Consideraciones sobre la semántica Las interpretaciones proposicionales asignan un valor 0 ó 1 a los símbolos proposicionales (elementos primitivos del lenguaje). Puesto que los elementos primitivos del lenguaje de primer orden son los átomos, las interpretaciones de primer orden han de asignar un valor 0 ó 1 a los átomos. Esta asignación necesariamente debe tener en cuenta tanto el símbolo de predicado como los términos a los que está aplicado. Dependiendo de la interpretación que se le dé tanto a las constantes, como a las funciones y los predicados, se obtendrá un valor de verdad para cada átomo.
Estructuras y valuaciones de variables Definición Sea L 1 un lenguaje de primer orden; una estructura es un par (M, I), donde M es un conjunto no vacío, llamado dominio o universo, e I es una función de interpretación, es decir: 1 I(a) M para cada símbolo de constante a. 2 I(f) es una función de M n a M para cada símbolo de función f de aridad n > 0. 3 I(P) es una relación m-aria sobre M, es decir, para cada símbolo de predicado P de aridad m se tiene que I(P) M m.
Ejemplo: x y((p(x) P(y)) Q(x, y)) Podemos interpretar esta fórmula de muchas maneras distintas: 1 Todos los hombres nacen iguales y libres. 2 Dos bolas de billar tienen el mismo diámetro. 3 Dos personas que aprueban selectividad se matriculan en la universidad. 4... 5...
Sobre los símbolos de la signatura Constantes 1 Todo símbolo de constante denomina un (único) elemento de M. 2 Un elemento de M puede tener asociado más de un símbolo de constante. 3 Un elemento de M puede no tener asociado símbolo de constante alguno.
Sobre los símbolos de la signatura Funciones 1 Todo símbolo de función denomina una (única) función. 2 Una función puede tener asociado más de un símbolo de función. 3 Puede haber funciones que no tengan asociado ningún símbolo de función.
Sobre los símbolos de la signatura Predicados 1 Todo símbolo de predicado representa una (única) propiedad o relación. 2 Una propiedad o relación puede tener asociado más de un símbolo de predicado. 3 Puede haber propiedades o relaciones que no tengan asociado ningún símbolo de predicado.
Estructuras y valuaciones de variables Una estructura permite asignarle un significado a cada uno de los símbolos de la signatura del lenguaje de primer orden. Pero aún queda por determinar la interpretación de los símbolos de variable. Definición Dada una estructura (M, I), una valuación de variables es cualquier aplicación σ : V M.
Función de significado Definición Dada una estructura (M, I) y una valuación de variables σ, se define la función de significado, σ I : T M, como sigue: σ I (a) = I(a) para cada constante a. σ I (x) = σ(x) para cada variable x. σ I (f(t 1,..., t n )) = I(f)(σ I (t 1 ),..., σ I (t n )) donde t i son términos y f es un símbolo de función de aridad n. Observación La función de significado, junto con la interpretación de los símbolos de predicado como relaciones, nos permite asignar un valor de verdad a cada átomo del lenguaje como sigue: I σ (P(t 1,..., t n )) = 1 sii (σ I (t 1 ),..., σ I (t n )) I(P)
Función de verdad Átomos Definición Dada una estructura (M, I) y una valuación de variables σ, se define la función de verdad, I σ : L 1 {0, 1} para las fórmulas atómicas como sigue: I σ ( ) = 0. I σ ( ) = 1. I σ (P(t 1,..., t n )) = 1 si y solo si (σ I (t 1 ),..., σ I (t n )) I(P).
Función de verdad Conectivos proposicionales Definición Dada una estructura (M, I) y una valuación de variables σ, se define la función de verdad, I σ : L 1 {0, 1} recursivamente sobre los conectivos proposicionales como sigue: I σ ( A) = 1 I σ (A) I σ (A B) = mín{i σ (A), I σ (B)} I σ (A B) = máx{i σ (A), I σ (B)} I σ (A B) = máx{1 I σ (A), I σ (B)} I σ (A B) = 1 si y solo si I σ (A) = I σ (B)
Función de verdad Cuantificadores Definición Dada una estructura (M, I) y una valuación de variables σ, se define la función de verdad, I σ : L 1 {0, 1} recursivamente sobre las fórmulas cuantificadas como sigue: I σ ( xa) = 1 si y solo si I ξ (A) = 1 para TODA valuación ξ tal que ξ(y) = σ(y) si y x I σ ( xa) = 1 si y solo si I ξ (A) = 1 para ALGUNA valuación ξ tal que ξ(y) = σ(y) si y x.
Observaciones Si σ y ξ son dos valuaciones de variables tales que ξ(y) = σ(y) para toda variable y x, entonces decimos que σ y ξ son x-equivalentes. De la definición de función de verdad, I σ, se deduce que la valuación de variables σ solo interviene en el cálculo de I σ (A) si la fórmula A es abierta. Demostrar que si A es una fórmula cerrada, entonces I σ (A) = I ξ (A) para todo par de valuaciones σ y ξ. En adelante, escribiremos I(A) para representar a este valor de verdad independiente de la valuación.
Estructuras para un conjunto Ω de fbfs Sea Ω un conjunto finito de fbfs y consideremos la signatura (C Ω, F Ω, P Ω ) en la que: C Ω son constantes que aparecen en Ω, F Ω son los símbolos de función que aparecen en Ω, P Ω son los símbolos de predicado que aparecen en Ω Definición Una estructura para Ω es un par (M, I) donde M es un conjunto cualquiera (no necesariamente finito) e I es una aplicación que interpreta los símbolos de C Ω F Ω P Ω.
Valuaciones para un conjunto Ω de fbfs Sea Ω un conjunto finito de fbfs y sea V Ω el conjunto de variables que aparecen en Ω (libres o ligadas). Definición Una valuación de variables para Ω es una función σ : V Ω M
Semántica de los lenguajes de primer orden El conjunto de valores semánticos es el de los valores booleanos BOOL= {0, 1}. El valor destacado es 1. Como interpretaciones se consideran todas las funciones de verdad I σ definidas para cada estructura (M, I) y cada valuación de variables σ.
Semántica de los lenguajes de primer orden Definiciones Decimos que A es satisfacible si existe una estructura (M, I) y una valuación σ tal que I σ (A) = 1. Una fórmula A se dice verdadera en una estructura M = (M, I) si para toda valuación de variables σ se verifica I σ (A) = 1. Diremos igualmente que M es un modelo de A y lo denotaremos = M A. Decimos que la fórmula A es válida si es verdadera en toda estructura; en tal caso escribimos: = A.
Semántica de los lenguajes de primer orden Decimos que un conjunto de fbfs Ω es satisfacible si existe una estructura (M, I) y una valuación σ tal que I σ (A) = 1 para toda A Ω. Decimos que A es consecuencia lógica o que se infiere semánticamente del conjunto de fórmulas Ω si para cada estructura (M, I) y cada valuación σ se verifica que si I σ (C) = 1 para toda C Ω, entonces I σ (A) = 1. En tal caso escribimos Ω = A. Decimos que A y B son equivalentes y lo denotamos A B si I σ (A) = I σ (B) para cada estructura (M, I) y cada valuación σ.
Algunos resultados sobre la semántica Teorema Sean A i, i = 1,..., n, A y B fbfs: A = B si y solo si = A B. A 1,..., A n = A si y solo si = (A 1 A n ) A A 1,..., A n = A si y solo si A 1 A n A es insatisfacible. A es válida si y solo si A es insatisfacible
Algunos resultados sobre la semántica Teorema Todo esquema de tautología (o equivalencia) de la lógica proposicional proporciona un esquema de tautología (o equivalencia) en la lógica de primer orden. Teorema (de equivalencia) Si B es una subfórmula de A y B C, entonces A A[B/C].
Equivalencias básicas Las mismas que en el caso proposicional más las siguientes: xa x A xa x A xa xb x(a B) xa xb x(a B) xa xb x(a B) Además, si x no es libre en C: C xb x(c B) C xb x(c B) C xb x(c B) C xb x(c B) C xb x(c B) C xb x(c B) xb C x(b C) xb C x(b C)
Otras equivalencias Sea A fbf, y sean dos cuantificadores, {, } Si y no aparece en A entonces xa y[x/y]a. Esta equivalencia recibe el nombre de renombramiento. Si z no aparece libre en A entonces za A. Como consecuencia, no tiene sentido cuantificar repetidamente sobre la misma variable, es decir, z... za za.
Consecuencias Teniendo en cuenta las equivalencias anteriores (y el teorema de equivalencia), en adelante podremos suponer que: 1 Una misma variable no aparece libre y ligada en un fórmula. 2 En una fórmula A no aparecen cuantificadores x si la variable x no aparece libre en el radio de acción de dicho cuantificador.
Suficiencia de las fórmulas cerradas La potencia expresiva de la lógica de primer orden queda determinada por las fórmulas cerradas. Respecto de la validez se tiene que una fórmula es válida si y solo si su cierre universal lo es. Es decir, = A(x 1,..., x n ) si y solo si = x 1... x n A(x 1,..., x n ) Respecto a la satisfacibilidad, una fórmula es satisfacible si y solo si su cierre existencial lo es. Es decir, A(x 1,..., x n ) es satisfacible si y solo si x 1... x n A(x 1,..., x n ) es satisfacible.
Forma normal prenexa Definición Una fbf está en forma normal prenexa si es de la forma 1 x 1... 1 x n A donde los i son cuantificadores, x i variables distintas y A es una fórmula sin cuantificadores. La secuencia 1 x 1... 1 x n es el prefijo y A es la matriz. Definición 1 Una fórmula está en forma normal prenexa conjuntiva si está en forma normal prenexa y su matriz está en forma normal conjuntiva. 2 Una fórmula está en forma normal prenexa disyuntiva si está en forma normal prenexa y su matriz está en forma normal disyuntiva.
Paso a forma normal prenexa Teorema Para toda fbf existe una forma normal conjuntiva (disyuntiva) prenexa equivalente a ella. La demostración se basa en el uso de las equivalencias proposicionales y las ya citadas para primer orden. Observación Nótese que el uso de renombramientos puede ayudar a minimizar el número de cuantificadores en el prefijo resultante.
Forma normal de Skolem Las formas prenexas contienen toda la potencia expresiva de la Lógica de Primer Orden, pero aún pueden ser simplificadas si nuestro interés está en el estudio de la satisfacibilidad. La forma normal de Skolem es un tipo particular de forma prenexa, pues en su prefijo solo hay cuantificadores universales, pero no conserva la equivalencia, sino la equisatisfacibilidad. Teorema Toda fbf A es equisatisfacible a alguna otra fórmula B en forma normal de Skolem.
Paso a forma normal de Skolem Sea A una fbf y A una forma prenexa equivalente. La fbf B del teorema se obtiene a partir de A mediante skolemización: 1 Si x aparece en el prefijo e y 1,..., y n son las variables universalmente cuantificadas que la preceden, entonces eliminamos x considerando un nuevo símbolo de función f (no utilizado antes) de aridad n y efectuando en la matriz la sustitución [x/f(y 1,..., y n )]. 2 Si el prefijo comienza con x, se elimina el cuantificador considerando una nueva constante, a, (no utilizada antes) y efectuando en la matriz la sustitución [x/a]. Las nuevas constantes y funciones introducidas se denominan constantes y funciones de Skolem respectivamente.
Paso a forma normal de Skolem: un ejemplo Los dos distintos tipos de eliminación de existenciales se ilustran sobre la fórmula x y zp(x, y, z) La variable x se sustituye por un nuevo símbolo de constante, digamos a, y obtenemos y zp(a, y, z) Finalmente, la variable z depende de y, por lo que se sustituye por un término con un nuevo símbolo de función en la variable y, obteniendo yp(a, y, f(y))