En lógica matemática , las lógicas de punto fijo son extensiones de la lógica de predicados clásica que se han introducido para expresar la recursión. Su desarrollo ha sido motivado por la teoría de la complejidad descriptiva y su relación con los lenguajes de consulta de bases de datos , en particular con Datalog .
La lógica de punto fijo mínimo fue estudiada sistemáticamente por primera vez por Yiannis N. Moschovakis en 1974, [ 1 ] y se introdujo a los científicos informáticos en 1979, cuando Alfred Aho y Jeffrey Ullman sugirieron la lógica de punto fijo como un lenguaje de consulta de bases de datos expresivo. [ 2 ]
Lógica de punto fijo parcial
Para una signatura relacional X , FO[PFP]( X ) es el conjunto de fórmulas formadas a partir de X utilizando conectores y predicados de primer orden , variables de segundo orden y un operador de punto fijo parcial.utilizado para formar fórmulas de la forma, dóndees una variable de segundo orden,una tupla de variables de primer orden,una tupla de términos y las longitudes deycoincidir con la aridad de.
Sea k un número entero,Sean vectores de k variables, P una variable de segundo orden de aridad k , y sea φ una función FO(PFP,X) que utiliza x y P como variables. Podemos definir iterativamentede tal manera quey(que significa φ consustituido por la variable de segundo orden P ). Entonces, o bien hay un punto fijo, o bien la lista des es cíclico. [ 3 ]
se define como el valor del punto fijo deensi hay un punto fijo, de lo contrario es falso. [ 4 ] Dado que P s son propiedades de aridad k , hay como máximovalores para els, por lo que con un contador de espacio polinomial podemos comprobar si hay un bucle o no. [ 5 ]
Se ha demostrado que en estructuras finitas ordenadas, una propiedad es expresable en FO(PFP, X ) si y solo si se encuentra en PSPACE . [ 6 ]
Lógica de mínimo punto fijo
Dado que los predicados iterados involucrados en el cálculo del punto fijo parcial no son en general monótonos, el punto fijo puede no existir siempre. FO(LFP,X), lógica de punto fijo mínimo , es el conjunto de fórmulas en FO(PFP,X) donde el punto fijo parcial se toma solo sobre aquellas fórmulas φ que solo contienen ocurrencias positivas de P (es decir, ocurrencias precedidas por un número par de negaciones). Esto garantiza la monotonicidad de la construcción del punto fijo (es decir, si la variable de segundo orden es P , entoncessiempre implica).
Debido a la monotonicidad, solo agregamos vectores a la tabla de verdad de P , y como solo hayvectores posibles siempre encontraremos un punto fijo antesiteraciones. El teorema de Immerman-Vardi, demostrado independientemente por Immerman [ 7 ] y Vardi , [ 8 ] muestra que FO(LFP, X ) caracteriza P en todas las estructuras ordenadas.
La expresividad de la lógica de punto fijo mínimo coincide exactamente con la expresividad del lenguaje de consulta de bases de datos Datalog , lo que demuestra que, en estructuras ordenadas, Datalog puede expresar exactamente aquellas consultas ejecutables en tiempo polinomial. [ 9 ]
Lógica de punto fijo inflacionaria
Otra forma de asegurar la monotonicidad de la construcción de punto fijo es agregando solo nuevas tuplas aen cada etapa de la iteración, sin eliminar tuplas para las cualesya no es válido. Formalmente, definimoscomodónde.
Este punto fijo inflacionario coincide con el punto fijo mínimo donde este último está definido. Aunque a primera vista parece que la lógica de punto fijo inflacionario debería ser más expresiva que la lógica de punto fijo mínimo, ya que admite una gama más amplia de argumentos de punto fijo, de hecho, toda fórmula FO[IFP]( X ) es equivalente a una fórmula FO[LFP]( X ). [ 10 ]
Inducción simultánea
Si bien todos los operadores de punto fijo introducidos hasta ahora iteraban únicamente sobre la definición de un solo predicado, muchos programas informáticos se conciben de forma más natural como iterando sobre varios predicados simultáneamente. Al aumentar la aridad de los operadores de punto fijo o al anidarlos, cualquier operador de punto fijo simultáneo, ya sea mínimo, inflacionario o parcial, puede expresarse utilizando las construcciones de una sola iteración correspondientes que se han comentado anteriormente. [ 11 ]
lógica de cierre transitivo
En lugar de permitir la inducción sobre predicados arbitrarios, la lógica de cierre transitivo solo permite que los cierres transitivos se expresen directamente.
FO[TC]( X ) es el conjunto de fórmulas formadas a partir de X utilizando conectores y predicados de primer orden, variables de segundo orden y un operador de cierre transitivo.utilizado para formar fórmulas de la forma, dóndeyson tuplas de variables de primer orden distintas entre sí,ytuplas de términos y longitudes de,,ycoincidir.
TC se define de la siguiente manera: Sea k un entero positivo ysean vectores de k variables. Entonceses cierto si existen n vectores de variablesde tal manera quey para todos,es cierto. Aquí, φ es una fórmula escrita en FO(TC) ysignifica que las variables u y v se reemplazan por x e y .
Sobre estructuras ordenadas, FO[TC] caracteriza la clase de complejidad NL . [ 12 ] Esta caracterización es una parte crucial de la prueba de Immerman de que NL es cerrada bajo complemento (NL = co-NL). [ 13 ]
Lógica de cierre transitivo determinista
FO[DTC]( X ) se define como FO(TC,X) donde el operador de cierre transitivo es determinista. Esto significa que cuando aplicamosSabemos que para todo u , existe como máximo un v tal que.
Podemos suponer quees azúcar sintáctico paradónde.
Sobre estructuras ordenadas, FO[DTC] caracteriza la clase de complejidad L. [ 12 ]
Ejemplos

Definir un vérticeser débil si, con como máximo una excepción, cada uno de sus vecinoses débil, según la fórmula de punto fijoLos vértices restantes forman el núcleo 2 del grafo.
La siguiente fórmula escrita en lógica de mínimos puntos fijos establece que el núcleo 2 de un grafo no está vacío:
Un grafo es conexo si existe un camino entre cada par de vértices. El hecho de que exista un camino entre dos vértices constituye el cierre transitivo de la relación de adyacencia. Por lo tanto, la siguiente fórmula, escrita en lógica de cierre transitivo, establece que un grafo es conexo:
Iteraciones
Las operaciones de punto fijo que hemos definido hasta ahora iteran indefinidamente las definiciones inductivas de los predicados mencionados en la fórmula, hasta alcanzar un punto fijo. En las implementaciones, puede ser necesario limitar el número de iteraciones para reducir el tiempo de cálculo. Los operadores resultantes también son de interés desde un punto de vista teórico, ya que pueden utilizarse para caracterizar clases de complejidad.
Definiremos el primer orden con iteración,; aquíes una (clase de) funciones de enteros a enteros, y para diferentes clases de funcionesobtendremos diferentes clases de complejidad.
En esta sección escribiremos significarysignificar. Primero necesitamos definir los bloques cuantificadores (QB), un bloque cuantificador es una listadonde els son fórmulas FO sin cuantificador ys son oo. Si Q es un bloque de cuantificadores, entonces lo llamaremosel operador de iteración, que se define como Q escritotiempo. Hay que prestar atención a que aquí haycuantificadores en la lista, pero solo k variables y cada una de esas variables se utilizaveces. [ 14 ]
Ahora podemos definirser las fórmulas FO con un operador de iteración cuyo exponente está en la clasey obtenemos las siguientes igualdades:
Notas
- ↑ Moschovakis, Yiannis N. (1974). «Inducción elemental sobre estructuras abstractas» . Estudios en lógica y fundamentos de las matemáticas . 77. doi : 10.1016 /s0049-237x(08)x7092-2 . ISBN 9780444105370ISSN 0049-237X
- ↑ Aho, Alfred V.; Ullman, Jeffrey D. (1979). "Universalidad de los lenguajes de recuperación de datos". Actas del 6.º simposio ACM SIGACT-SIGPLAN sobre Principios de los lenguajes de programación - POPL '79 . Nueva York, Nueva York, EE. UU.: ACM Press. págs. 110–119 . doi : 10.1145/567752.567763 . S2CID 3242505 .
- ↑ Ebbinghaus y Flum, pág. 121
- ↑ Ebbinghaus y Flum, pág. 121
- ↑ Immerman 1999, pág. 161
- ↑ Abiteboul, S.; Vianu, V. (1989). "Extensiones de punto fijo de la lógica de primer orden y lenguajes tipo datalog" . [ 1989 ] Actas del Cuarto Simposio Anual sobre Lógica en Ciencias de la Computación . IEEE Comput. Soc. Press. págs. 71–79 . doi : 10.1109/lics.1989.39160 . ISBN 0-8186-1954-6. S2CID 206437693 .
- ↑ Immerman, Neil (1986). "Consultas relacionales computables en tiempo polinomial" . Information and Control . 68 ( 1–3 ): 86–104 . doi : 10.1016/s0019-9958(86)80029-8 .
- ↑ Vardi, Moshe Y. (1982). "La complejidad de los lenguajes de consulta relacionales (Resumen extendido)". Actas del decimocuarto simposio anual de la ACM sobre Teoría de la Computación - STOC '82 . Nueva York, NY, EE. UU.: ACM. págs. 137–146 . CiteSeerX 10.1.1.331.6045 . doi : 10.1145/800070.802186 . ISBN 978-0897910705. S2CID 7869248 .
- ↑ Ebbinghaus y Flum, pág. 242
- ↑ Yuri Gurevich y Saharon Shelah, Extensión de punto fijo de la lógica de primer orden, Annals of Pure and Applied Logic 32 (1986) 265--280.
- ↑ Ebbinghaus y Flum, págs. 179, 193
- 1 2 Immerman, Neil (1983). «Lenguajes que capturan clases de complejidad» . Actas del decimoquinto simposio anual de la ACM sobre Teoría de la Computación - STOC '83 . Nueva York, Nueva York, EE. UU.: ACM Press. págs. 347–354 . doi : 10.1145/800061.808765 . ISBN 0897910990. S2CID 7503265 .
- ↑ Immerman, Neil (1988). "El espacio no determinista es cerrado bajo la complementación" . SIAM Journal on Computing . 17 (5): 935– 938. doi : 10.1137/0217058 . ISSN 0097-5397 .
- ↑ Immerman 1999, pág. 63
- ↑ Immerman 1999, pág. 82
- ↑ Immerman 1999, pág. 84
- ↑ Immerman 1999, pág. 58
- ↑ Immerman 1999, pág. 161
Referencias
- Complejidad descriptiva
- teoría de bases de datos
- Lógica de predicados