stringtranslate.com

Forma normal (reescritura abstracta)

En reescritura abstracta , [1] un objeto está en forma normal si no puede reescribirse 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

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

Un objeto a se normaliza débilmente si existe al menos una secuencia particular de reescrituras a partir de a que eventualmente produce una forma normal. Un sistema de reescritura tiene la propiedad de normalización débil o se está normalizando (débilmente) (WN) si cada objeto se está normalizando débilmente. Un objeto a se normaliza fuertemente si cada secuencia de reescrituras que comienza desde a eventualmente termina con una forma normal. Un sistema de reescritura abstracta es fuertemente normalizante , terminante , noetheriano o tiene la propiedad de normalización (fuerte) (SN), si cada uno de sus objetos está fuertemente normalizado. [2]

Un sistema de reescritura tiene la propiedad de forma normal (NF) si para todos los objetos a y formas normales b , se puede llegar a b 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 , se puede llegar a 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 la 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

Esta sección presenta algunos resultados bien conocidos. Primero, SN implica WN. [4]

Confluencia (abreviado CR) implica NF implica ONU implica ONU . [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 byc, y b,c no tienen un reducto común.

WN y ONU 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 destacable 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 normalizadores (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 de normalización ya que desde cualquier término, por ejemplo r (4,2) comienza una única secuencia de reescritura, verbigracia. r (4,2) →  r (2,4) →  r (4,2) →  r (2,4) → ..., que es infinitamente largo. Esto lleva a la idea de reescribir el "módulo de conmutatividad ", donde un término está en forma normal si no se aplican otras reglas que la conmutatividad. [8]

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

El sistema { ba , bc , cb , cd } (en la foto) es un ejemplo de un sistema que se normaliza débilmente pero no se normaliza fuertemente. 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, y ni siquiera la propiedad de normalización débil. Considere el término (la aplicación es asociativa izquierda ). Tiene la siguiente regla de reescritura: Para cualquier término ,

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

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

Cálculo lambda mecanografiado

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

Un sistema de cálculo lambda con la propiedad de normalización puede verse 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 detención viendo si el tipo de programa verifica. Esto significa que hay funciones computables que no se pueden definir en el cálculo lambda simplemente tipado, 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]

Ver también

Notas

Referencias

  1. ^ Franz Baader ; Tobías Nipkow (1998). Reescritura de términos y todo eso. Prensa de la Universidad de Cambridge . ISBN 9780521779203.
  2. ^ Ohlebusch, Enno (1998). "Teoremas de Church-Rosser para el módulo de reducción abstracta y una relación de equivalencia". Técnicas y aplicaciones de reescritura . Apuntes de conferencias sobre 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 el 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?". Intercambio de pilas de informática . Consultado el 12 de septiembre de 2021 .
  5. ^ Ohlebusch, Enno (17 de abril de 2013). Temas avanzados en reescritura de términos. Medios de ciencia y negocios de Springer. 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. pag. 1.ISBN 0-521-39115-6.
  7. ^ Terese (2003). Sistemas de reescritura de términos . Cambridge, Reino Unido: Cambridge University Press. pag. 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). "Reescribir sistemas". En Jan van Leeuwen (ed.). Modelos formales y semántica . Manual de informática teórica. vol. B. Elsevier. pag. 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. Saltador. pag. 59.ISBN 978-3-319-16030-6. Consultado el 8 de septiembre de 2021 .