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 b y c, y b,c no tienen un reducto común.

WN y ONU implican confluencia. Por 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 .