En lógica matemática , una fórmula de lógica de primer orden está en forma normal de Skolem si está en forma normal prenex con solo cuantificadores universales de primer orden .
Toda fórmula de primer orden puede convertirse a la forma normal de Skolem sin cambiar su satisfacibilidad mediante un proceso llamado Skolemización (a veces escrito Skolemnización ). La fórmula resultante no es necesariamente equivalente a la original, pero es equisatisfacible con ella: es satisfacible si y solo si la original es satisfacible. [1]
La reducción a la forma normal de Skolem es un método para eliminar cuantificadores existenciales de enunciados lógicos formales , que a menudo se realiza como el primer paso en un demostrador de teoremas automatizado .
La forma más simple de skolemización es para variables cuantificadas existencialmente que no están dentro del alcance de un cuantificador universal. Estas pueden reemplazarse simplemente creando nuevas constantes. Por ejemplo, puede cambiarse a , donde es una nueva constante (no aparece en ningún otro lugar de la fórmula).
En términos más generales, la skolemización se realiza reemplazando cada variable cuantificada existencialmente por un término cuyo símbolo de función es nuevo. Las variables de este término son las siguientes. Si la fórmula está en forma normal prenex , entonces son las variables que están cuantificadas universalmente y cuyos cuantificadores preceden al de . En general, son las variables que están cuantificadas universalmente (suponemos que nos deshacemos de los cuantificadores existenciales en orden, por lo que todos los cuantificadores existenciales anteriores se han eliminado) y tales que ocurren en el ámbito de sus cuantificadores. La función introducida en este proceso se llama función de Skolem (o constante de Skolem si es de aridad cero ) y el término se llama término de Skolem .
Como ejemplo, la fórmula no está en forma normal de Skolem porque contiene el cuantificador existencial . La skolemización reemplaza con , donde es un nuevo símbolo de función, y elimina la cuantificación sobre . La fórmula resultante es . El término de Skolem contiene , pero no , porque el cuantificador que se eliminará está en el ámbito de , pero no en el de ; dado que esta fórmula está en forma normal prenex, esto es equivalente a decir que, en la lista de cuantificadores, precede mientras que no lo hace. La fórmula obtenida por esta transformación es satisfacible si y solo si la fórmula original es.
La skolemización funciona aplicando una equivalencia de segundo orden junto con la definición de satisfacibilidad de primer orden. La equivalencia proporciona una manera de "trasladar" un cuantificador existencial antes que uno universal.
dónde
Intuitivamente, la oración "para cada existe un tal que " se convierte en la forma equivalente "existe una función que asigna cada a un tal que, para cada se cumple que ".
Esta equivalencia es útil porque la definición de satisfacibilidad de primer orden cuantifica de manera existencial implícita sobre funciones que interpretan los símbolos de función. En particular, una fórmula de primer orden es satisfacible si existe un modelo y una evaluación de las variables libres de la fórmula que evalúan la fórmula como verdadera . El modelo contiene la interpretación de todos los símbolos de función; por lo tanto, las funciones de Skolem se cuantifican de manera existencial implícita. En el ejemplo anterior, es satisfacible si y solo si existe un modelo , que contiene una interpretación para , tal que es verdadera para alguna evaluación de sus variables libres (ninguna en este caso). Esto puede expresarse en segundo orden como . Por la equivalencia anterior, esto es lo mismo que la satisfacibilidad de .
En el metanivel, la satisfacibilidad de primer orden de una fórmula puede escribirse con un pequeño abuso de la notación como , donde es un modelo, es una evaluación de las variables libres y significa que es verdadero en bajo . Dado que los modelos de primer orden contienen la interpretación de todos los símbolos de función, cualquier función de Skolem que contenga está implícitamente cuantificada existencialmente por . Como resultado, después de reemplazar cuantificadores existenciales sobre variables por cuantificadores existenciales sobre funciones al principio de la fórmula, la fórmula aún puede tratarse como una de primer orden eliminando estos cuantificadores existenciales. Este paso final de tratar como puede completarse porque las funciones están implícitamente cuantificadas existencialmente por en la definición de satisfacibilidad de primer orden.
La corrección de la eskolemización se puede demostrar en la fórmula de ejemplo siguiente. Esta fórmula se satisface por un modelo si y solo si, para cada valor posible para en el dominio del modelo, existe un valor para en el dominio del modelo que hace que sea verdadero. Por el axioma de elección , existe una función tal que . Como resultado, la fórmula es satisfacible, porque tiene el modelo obtenido al agregar la interpretación de a . Esto muestra que es satisfacible solo si también es satisfacible. Por el contrario, si es satisfacible, entonces existe un modelo que lo satisface; este modelo incluye una interpretación para la función tal que, para cada valor de , la fórmula se cumple. Como resultado, se satisface por el mismo modelo porque se puede elegir, para cada valor de , el valor , donde se evalúa de acuerdo con .
Uno de los usos de la skolemización es en la demostración automática de teoremas . Por ejemplo, en el método de tablas analíticas , siempre que aparece una fórmula cuyo cuantificador principal es existencial, se puede generar la fórmula obtenida eliminando ese cuantificador mediante la skolemización. Por ejemplo, si aparece en una tabla, donde son las variables libres de , entonces se puede añadir a la misma rama de la tabla. Esta adición no altera la satisfacibilidad de la tabla: cada modelo de la fórmula anterior se puede extender, añadiendo una interpretación adecuada de , a un modelo de la nueva fórmula.
Esta forma de skolemización es una mejora con respecto a la skolemización "clásica" en el sentido de que sólo las variables que están libres en la fórmula se colocan en el término de skolem. Esto es una mejora porque la semántica de las tablas puede colocar implícitamente la fórmula en el ámbito de algunas variables cuantificadas universalmente que no están en la fórmula misma; estas variables no están en el término de skolem, mientras que estarían allí según la definición original de skolemización. Otra mejora que se puede utilizar es aplicar el mismo símbolo de función de skolem para fórmulas que son idénticas hasta el cambio de nombre de la variable. [2]
Otro uso es en el método de resolución de la lógica de primer orden , donde las fórmulas se representan como conjuntos de cláusulas que se entiende que están cuantificadas universalmente. (Para un ejemplo, consulte la paradoja del bebedor ).
Un resultado importante en la teoría de modelos es el teorema de Löwenheim-Skolem , que se puede demostrar mediante la skolemización de la teoría y el cierre bajo las funciones de Skolem resultantes. [3]
En general, si es una teoría y para cada fórmula con variables libres hay un símbolo de función n -aria que es demostrablemente una función de Skolem para , entonces se denomina teoría de Skolem . [4]
Toda teoría de Skolem es un modelo completo , es decir, cada subestructura de un modelo es una subestructura elemental . Dado un modelo M de una teoría de Skolem T , la subestructura más pequeña de M que contiene un cierto conjunto A se denomina envoltura de Skolem de A. La envoltura de Skolem de A es un modelo atómico primo sobre A.
La forma normal de Skolem recibe su nombre del difunto matemático noruego Thoralf Skolem .