stringtranslate.com

Forma normal (reescritura abstracta)

En la reescritura abstracta , [1] un objeto está en forma normal si no se puede reescribir más, es decir, es irreducible. Dependiendo del sistema de reescritura, un objeto puede reescribirse en varias formas normales o en ninguna. Muchas propiedades de los sistemas de reescritura se relacionan con las formas normales.

Definiciones

Enunciado formalmente, si ( A ,→) es un sistema de reescritura abstracto , xA está en forma normal si no existe ningún yA tal que xy , es decir, x es un término irreducible.

Un objeto a es débilmente normalizante si existe al menos una secuencia particular de reescrituras que comienzan desde a y que finalmente dan lugar a una forma normal. Un sistema de reescritura tiene la propiedad de normalización débil o es (débilmente) normalizante (WN) si cada objeto es débilmente normalizante. Un objeto a es fuertemente normalizante si cada secuencia de reescrituras que comienzan desde a finalmente termina con una forma normal. Un sistema de reescritura abstracto es fuertemente normalizante , terminal , noetheriano o tiene la propiedad de normalización (fuerte) (SN), si cada uno de sus objetos es fuertemente normalizante. [2]

Un sistema de reescritura tiene la propiedad de forma normal (NF) si para todos los objetos a y formas normales b , b puede alcanzarse desde a mediante una serie de reescrituras y reescrituras inversas solo si a se reduce a b . Un sistema de reescritura tiene la propiedad única de forma normal (UN) si para todas las formas normales a , bS , a puede alcanzarse desde b mediante una serie de reescrituras y reescrituras inversas solo si a es igual a b . Un sistema de reescritura tiene la propiedad única de forma normal con respecto a la reducción (UN ) si para cada término que se reduce a las formas normales a y b , a es igual a b . [3]

Resultados

En esta sección se presentan algunos resultados conocidos. En primer lugar, SN implica WN. [4]

La confluencia (abreviada CR) implica NF implica UN implica UN . [3] Las implicaciones inversas generalmente no se cumplen. {a→b,a→c,c→c,d→c,d→e} es UN pero no UN ya que b=e y b,e son formas normales. {a→b,a→c,b→b} es UN pero no NF ya que b=c, c es una forma normal y b no se reduce a c. {a→b,a→c,b→b,c→c} es NF ya que no hay formas normales, pero no CR ya que a se reduce a b y c, y b,c no tienen una reducción común.

WN y UN implican confluencia. Por lo tanto, CR, NF, UN y UN coinciden si se cumple WN. [5]

Ejemplos

Un ejemplo es que la simplificación de expresiones aritméticas produce un número (en aritmética, todos los números son formas normales). Un hecho notable es que todas las expresiones aritméticas tienen un valor único, por lo que el sistema de reescritura es fuertemente normalizador y confluente: [6]

(3 + 5) * (1 + 2) ⇒ 8 * (1 + 2) ⇒ 8 * 3 ⇒ 24
(3 + 5) * (1 + 2) ⇒ (3 + 5) * 3 ⇒ 3*3 + 5*3 ⇒ 9 + 5*3 ⇒ 9 + 15 ⇒ 24

Ejemplos de sistemas no normalizantes (ni débil ni fuertemente) incluyen contar hasta el infinito (1 ⇒ 2 ⇒ 3 ⇒ ...) y bucles como la función de transformación de la conjetura de Collatz (1 ⇒ 2 ⇒ 4 ⇒ 1 ⇒ ..., es un problema abierto si hay otros bucles de la transformación de Collatz). [7] Otro ejemplo es el sistema de regla única { r ( x , y ) →  r ( y , x ) }, que no tiene propiedades normalizadoras ya que a partir de cualquier término, p. ej . r (4,2) comienza una secuencia de reescritura única, a saber, r (4,2) →  r ( 2,4) →  r (4,2) →  r (2,4) → ..., que es infinitamente larga. Esto conduce a la idea de reescribir "módulo conmutatividad ", donde un término está en forma normal si no se aplican reglas distintas a la conmutatividad. [8]

Sistema de reescritura débilmente normalizador pero no fuertemente normalizador [9]

El sistema { ba , bc , cb , cd } (en la imagen) es un ejemplo de un sistema débilmente normalizante pero no fuertemente normalizante. a y d son formas normales, y b y c pueden reducirse a a o d , pero la reducción infinita bcbc → ... significa que ni b ni c son fuertemente normalizantes.

Cálculo lambda sin tipo

El cálculo lambda puro sin tipo no satisface la propiedad de normalización fuerte, ni siquiera la propiedad de normalización débil. Consideremos el término (la aplicación es asociativa por la izquierda ). Tiene la siguiente regla de reescritura: Para cualquier término ,

Pero consideremos lo que sucede cuando aplicamos a sí mismo:

Por lo tanto, el término no es fuertemente normalizante. Y esta es la única secuencia de reducción, por lo que tampoco es débilmente normalizante.

Cálculo lambda tipificado

Varios sistemas de cálculo lambda tipificado , incluido el cálculo lambda simplemente tipificado , el Sistema F de Jean-Yves Girard y el cálculo de construcciones de Thierry Coquand, son fuertemente normalizadores.

Un sistema de cálculo lambda con la propiedad de normalización puede ser visto como un lenguaje de programación con la propiedad de que cada programa termina . Aunque esta es una propiedad muy útil, tiene un inconveniente: un lenguaje de programación con la propiedad de normalización no puede ser Turing completo , de lo contrario, se podría resolver el problema de la detención viendo si el tipo de programa se verifica. Esto significa que hay funciones computables que no se pueden definir en el cálculo lambda de tipo simple, y de manera similar para el cálculo de construcciones y el Sistema F. Un ejemplo típico es el de un autointérprete en un lenguaje de programación total . [10]

Véase también

Notas

Referencias

  1. ^ Franz Baader ; Tobias Nipkow (1998). Reescritura de términos y todo eso. Cambridge University Press . ISBN 9780521779203.
  2. ^ Ohlebusch, Enno (1998). "Teoremas de Church-Rosser para la reducción abstracta módulo una relación de equivalencia". Técnicas de reescritura y aplicaciones . Apuntes de clase en informática. Vol. 1379. pág. 18. doi :10.1007/BFb0052358. ISBN. 978-3-540-64301-2.
  3. ^ ab Klop, JW; de Vrijer, RC (febrero de 1989). "Formas normales únicas para cálculo lambda con emparejamiento sobreyectivo". Información y computación . 80 (2): 97–113. doi : 10.1016/0890-5401(89)90014-X .
  4. ^ "lógica - ¿Cuál es la diferencia entre normalización fuerte y normalización débil en el contexto de sistemas de reescritura?". Stack Exchange en Ciencias de la Computación . Consultado el 12 de septiembre de 2021 .
  5. ^ Ohlebusch, Enno (17 de abril de 2013). Temas avanzados en la reescritura de términos. Springer Science & Business Media. págs. 13-14. ISBN 978-1-4757-3661-8.
  6. ^ Terese (2003). Sistemas de reescritura de términos . Cambridge, Reino Unido: Cambridge University Press. p. 1. ISBN 0-521-39115-6.
  7. ^ Terese (2003). Sistemas de reescritura de términos . Cambridge, Reino Unido: Cambridge University Press. p. 2. ISBN 0-521-39115-6.
  8. ^ Dershowitz, Nachum; Jouannaud, Jean-Pierre (1990). "6. Reescribir sistemas". En Jan van Leeuwen (ed.). Manual de informática teórica . vol. B. Elsevier. págs. 9-10. CiteSeerX 10.1.1.64.3114 . ISBN  0-444-88074-7.
  9. ^ N. Dershowitz y J.-P. Jouannaud (1990). "Rewrite Systems". En Jan van Leeuwen (ed.). Modelos formales y semántica . Manual de informática teórica. Vol. B. Elsevier. pág. 268. ISBN 0-444-88074-7.
  10. ^ Riolo, Rick; Worzel, William P.; Kotanchek, Mark (4 de junio de 2015). Teoría y práctica de la programación genética XII. Springer. pág. 59. ISBN 978-3-319-16030-6. Recuperado el 8 de septiembre de 2021 .