stringtranslate.com

Confluencia (reescritura abstracta)

Foto.1: El nombre confluencia está inspirado en la geografía, es decir, el encuentro de dos cuerpos de agua.

En informática y matemáticas, la confluencia es una propiedad de la reescritura de sistemas, que describe qué términos de dicho sistema se pueden reescribir de más de una forma para producir el mismo resultado. Este artículo describe las propiedades en la configuración más abstracta de un sistema de reescritura abstracta .

Ejemplos motivadores

Las reglas habituales de la aritmética elemental forman un sistema de reescritura abstracto. Por ejemplo, la expresión (11 + 9) × (2 + 4) se puede evaluar comenzando por el paréntesis izquierdo o derecho; sin embargo, en ambos casos finalmente se obtiene el mismo resultado. Si cada expresión aritmética da el mismo resultado independientemente de la estrategia de reducción, se dice que el sistema de reescritura aritmética es confluente. Los sistemas de reescritura aritmética pueden ser confluentes o sólo confluentes en tierra dependiendo de los detalles del sistema de reescritura. [1]

Un segundo ejemplo, más abstracto, se obtiene de la siguiente prueba de que cada elemento de grupo es igual al inverso de su inverso: [2]

Esta prueba parte de los axiomas del grupo dado A1-A3 y establece cinco proposiciones R4, R6, R10, R11 y R12, cada una de las cuales utiliza algunas anteriores, siendo R12 el teorema principal. Algunas de las demostraciones requieren pasos no obvios, o incluso creativos, como aplicar el axioma A2 a la inversa, reescribiendo así "1" como " a −1 ⋅ a" en el primer paso de la demostración de R6. Una de las motivaciones históricas para desarrollar la teoría de la reescritura de términos fue evitar la necesidad de tales pasos, que son difíciles de encontrar para un ser humano sin experiencia, y mucho menos para un programa de computadora [ cita requerida ] .

Si un sistema de reescritura de términos es confluente y termina , existe un método sencillo para demostrar la igualdad entre dos expresiones (también conocidas como términos ) s y t : comenzando con s , aplique igualdades [nota 1] de izquierda a derecha tanto como sea posible, eventualmente obteniendo un término s′ . Obtenga de t un término t′ de manera similar. Si ambos términos s′ y t′ concuerdan literalmente, entonces se demuestra que s y t son iguales. Más importante aún, si no están de acuerdo, entonces s y t no pueden ser iguales. Es decir, dos términos cualesquiera s y t que puedan demostrarse iguales pueden hacerlo mediante ese método.

El éxito de ese método no depende de un cierto orden sofisticado en el cual aplicar reglas de reescritura, ya que la confluencia asegura que cualquier secuencia de aplicaciones de reglas eventualmente conducirá al mismo resultado (mientras que la propiedad de terminación asegura que cualquier secuencia eventualmente llegará a un final). en absoluto). Por lo tanto, si se puede proporcionar un sistema de reescritura de términos confluente y terminal para alguna teoría ecuacional , [nota 2] no se requiere ni un ápice de creatividad para realizar pruebas de igualdad de términos; por lo tanto, esa tarea se vuelve susceptible de ser ejecutada por programas de computadora. Los enfoques modernos manejan sistemas de reescritura abstracta más generales en lugar de sistemas de reescritura de términos ; estos últimos son un caso especial de los primeros.

Caso general y teoría.

Imagen 2: En este diagrama, a se reduce a b o c en cero o más pasos de reescritura (indicados por el asterisco). Para que la relación de reescritura sea confluente, ambos reductos deben, a su vez, reducirse a algún d común .

Un sistema de reescritura se puede expresar como un gráfico dirigido en el que los nodos representan expresiones y los bordes representan reescrituras. Entonces, por ejemplo, si la expresión a se puede reescribir en b , entonces decimos que b es una reducción de a (alternativamente, a se reduce a b , o a es una expansión de b ). Esto se representa mediante notación de flechas; ab indica que a se reduce a b . Intuitivamente, esto significa que el gráfico correspondiente tiene un borde dirigido de a a b .

Si hay un camino entre dos nodos del gráfico cyd , entonces se forma una secuencia de reducción . Entonces, por ejemplo, si cc′c′′ → ... → d′d , entonces podemos escribir c d , indicando la existencia de una secuencia de reducción de c a d . Formalmente,es la clausura reflexivo-transitiva de →. Usando el ejemplo del párrafo anterior, tenemos (11+9)×(2+4) → 20×(2+4) y 20×(2+4) → 20×6, entonces (11+9)×( 2+4)20×6.

Una vez establecido esto, la confluencia se puede definir de la siguiente manera. aS se considera confluente si para todos los pares b , cS tales que a b y a c , existe a dS con b d y c d (denotado ). Si todo aS es confluente, decimos que → es confluente. Esta propiedad a veces también se denomina propiedad del diamante , por la forma del diagrama que se muestra a la derecha. Algunos autores reservan el término propiedad del diamante para una variante del diagrama con reducciones únicas en todas partes; es decir, siempre que ab y ac , debe existir un d tal que bd y cd . La variante de reducción única es estrictamente más fuerte que la de reducción múltiple.

Confluencia terrestre

Un sistema de reescritura de términos es confluente si todos los términos básicos son confluentes, es decir, todos los términos sin variables. [3]

Confluencia local

Imagen 3: Sistema de reescritura cíclico, con confluencia local, pero no confluencia global [4]
Imagen 4: Sistema de reescritura infinito, no cíclico, con confluencia local, pero no confluencia global [4]

Se dice que un elemento aS es localmente confluente (o débilmente confluente [5] ) si para todo b , cS con ab y ac existe dS con b d y c d . Si cada aS es localmente confluente, entonces → se llama localmente confluente o tiene la propiedad débil de Church-Rosser . Esto se diferencia de la confluencia en que b y c deben reducirse de a en un solo paso. En analogía con esto, a la confluencia a veces se la denomina confluencia global .

La relación, introducido como una notación para secuencias de reducción, puede verse como un sistema de reescritura por derecho propio, cuya relación es el cierre reflexivo-transitivo de . Dado que una secuencia de secuencias reductoras es nuevamente una secuencia reductora (o, de manera equivalente, dado que formar la clausura reflexivo-transitiva es idempotente ),=. De ello se deduce que → es confluente si y sólo sies localmente confluente.

Un sistema de reescritura puede ser confluente localmente sin serlo (globalmente). Se muestran ejemplos en las imágenes 3 y 4. Sin embargo, el lema de Newman establece que si un sistema de reescritura con confluencia local no tiene secuencias de reducción infinitas (en cuyo caso se dice que es terminante o fuertemente normalizante ), entonces es confluente global.

Propiedad de la Iglesia-Rosser

Se dice que un sistema de reescritura posee la propiedad de Church-Rosser si y sólo si implica para todos los objetos x , y . Alonzo Church y J. Barkley Rosser demostraron en 1936 que el cálculo lambda tiene esta propiedad; [6] de ahí el nombre de la propiedad. [7] (El hecho de que el cálculo lambda tenga esta propiedad también se conoce como teorema de Church-Rosser ). En un sistema de reescritura con la propiedad de Church-Rosser, el problema verbal puede reducirse a la búsqueda de un sucesor común. En un sistema Church-Rosser, un objeto tiene como máximo una forma normal ; es decir, la forma normal de un objeto es única si existe, pero es posible que no exista. En el cálculo lambda, por ejemplo, la expresión (λx.xx)(λx.xx) no tiene una forma normal porque existe una secuencia infinita de β-reducciones (λx.xx)(λx.xx) → (λx.xx) (λx.xx) → ... [8]

Un sistema de reescritura posee la propiedad Church-Rosser si y sólo si es confluente. [9] Debido a esta equivalencia, en la literatura se encuentra bastante variación en las definiciones. Por ejemplo, en "Terese", la propiedad Church-Rosser y la confluencia se definen como sinónimas e idénticas a la definición de confluencia presentada aquí; Church-Rosser, tal como se define aquí, permanece sin nombre, pero se proporciona como una propiedad equivalente; esta desviación de otros textos es deliberada. [10]

Semiconfluencia

La definición de confluencia local difiere de la de confluencia global en que solo se consideran los elementos alcanzados a partir de un elemento determinado en un único paso de reescritura. Considerando un elemento alcanzado en un solo paso y otro elemento alcanzado mediante una secuencia arbitraria, llegamos al concepto intermedio de semiconfluencia: se dice que aS es semiconfluente si para todo b , cS con ab y a c existe dS con b d y c d ; si todo aS es semiconfluente, decimos que → es semiconfluente.

Un elemento semiconfluente no tiene por qué ser confluente, pero un sistema de reescritura semiconfluente es necesariamente confluente, y un sistema confluente es trivialmente semiconfluente.

Fuerte confluencia

La confluencia fuerte es otra variación de la confluencia local que nos permite concluir que un sistema de reescritura es confluente globalmente. Se dice que un elemento aS es fuertemente confluente si para todo b , cS con ab y ac existe dS con b d y cd o c = d ; si cada aS es fuertemente confluente, decimos que → es fuertemente confluente.

Un elemento confluente no tiene por qué ser fuertemente confluente, pero un sistema de reescritura fuertemente confluente es necesariamente confluente.

Ejemplos de sistemas confluentes

Ver también

Notas

  1. ^ luego se llama reescribir reglas para enfatizar su orientación de izquierda a derecha
  2. ^ El algoritmo de finalización de Knuth-Bendix se puede utilizar para calcular dicho sistema a partir de un conjunto determinado de ecuaciones. Aquí se muestra un sistema de este tipo, por ejemplo para grupos , con sus proposiciones numeradas de forma coherente. Utilizándolo, una prueba de, por ejemplo, R6 consiste en aplicar R11 y R12 en cualquier orden al término ( a −1 ) −1 ⋅1 para obtener el término a ; no se aplican otras reglas.

Referencias

  1. ^ Walters, recursos humanos; Zantema, H. (octubre de 1994). "Reescribir sistemas para aritmética de enteros" (PDF) . Universidad de Utrecht.
  2. ^ Bläsius y Bürckert 1992, pág. 134: los nombres de axiomas y proposiciones siguen el texto original
  3. ^ Robinson, Alan JA; Voronkov, Andrei (5 de julio de 2001). Manual de razonamiento automatizado. Publicaciones profesionales del Golfo. pag. 560.ISBN 978-0-444-82949-8.
  4. ^ ab N. Dershowitz y J.-P. Jouannaud (1990). "Reescribir sistemas". En Jan van Leeuwen (ed.). Modelos formales y semántica . Manual de informática teórica. vol. B. Elsevier. págs. 243–320. ISBN 0-444-88074-7.Aquí: p.268, Fig.2a+b.
  5. ^ Terese 2003, págs. 10-11.
  6. ^ Iglesia Alonzo y J. Barkley Rosser. Algunas propiedades de la conversión. Trans. AMS, 39:472-482, 1936
  7. ^ Baader y Nipkow 1998, pág. 9.
  8. ^ Cooper, SB (2004). Teoría de la computabilidad . Boca Ratón: Chapman & Hall/CRC. pag. 184.ISBN 1584882379.
  9. ^ Baader y Nipkow 1998, pág. 11.
  10. ^ Teresa 2003, pag. 11.

enlaces externos