Articulo de referencia

Árbol de Böhm

En el estudio de la semántica denotacional del cálculo lambda , los árboles de Böhm , [ a ] los árboles de Lévy-Longo , [ 1 ] [ 2 ] [ b ] y los árboles de Berarducci [ 3 ] son ​...

En el estudio de la semántica denotacional del cálculo lambda , los árboles de Böhm , [ a ] los árboles de Lévy-Longo , [ 1 ] [ 2 ] [ b ] y los árboles de Berarducci [ 3 ] son ​​objetos matemáticos (potencialmente infinitos) con forma de árbol que capturan el "significado" de un término hasta cierto conjunto de términos "sin significado".

Motivación

Una forma sencilla de leer el significado de un cálculo es considerarlo como un procedimiento mecánico que consta de un número finito de pasos que, al completarse, produce un resultado. En particular, considerando el cálculo lambda como un sistema de reescritura , cada paso de reducción beta es un paso de reescritura, y una vez que no hay más reducciones beta, el término está en forma normal . Por lo tanto, podríamos, siguiendo ingenuamente la sugerencia de Church , [ 4 ] decir que el significado de un término es su forma normal, y que los términos sin forma normal carecen de significado. Por ejemplo, los significados deI=λincógnita.incógnita{\displaystyle \mathbf {I} =\lambda xx}yII{\displaystyle \mathbf {II} }son ambosI{\displaystyle \mathbf {I} }Esto funciona para cualquier subconjunto fuertemente normalizador del cálculo lambda, como un cálculo lambda tipado .

Esta asignación ingenua de significado es, sin embargo, inadecuada para el cálculo lambda completo. El términoΩ=(λincógnita.incógnitaincógnita)(λincógnita.incógnitaincógnita){\displaystyle \mathbf {\Omega } =(\lambda x.xx)(\lambda x.xx)}no tiene una forma normal, y de manera similar el términoincógnita=λincógnita.incógnitaΩ{\displaystyle \mathbf {X} =\lambda xx\mathbf {\Omega } }no tiene una forma normal. Pero la aplicaciónΩ(KI){\displaystyle \mathbf {\Omega } (\mathbf {KI} )}, dóndeK{\displaystyle \mathbf {K} }denota el término lambda estándarλincógnita.λy.incógnita{\displaystyle \lambda x.\lambda yx}, se reduce solo a sí mismo, mientras que la aplicaciónincógnita(KI){\displaystyle \mathbf {X} (\mathbf {KI} )}se reduce con reducción de orden normal aI{\displaystyle \mathbf {I} }, por lo tanto tiene un significado. Vemos así que no todos los términos no normalizadores son equivalentes. Nos gustaría decir queΩ{\displaystyle \mathbf {\Omega } }es menos significativo queincógnita{\displaystyle \mathbf {X} }porque aplicandoincógnita{\displaystyle \mathbf {X} }a un término puede producir un resultado pero aplicarΩ{\displaystyle \mathbf {\Omega } }no puedo.

Los árboles de Böhm también pueden aplicarse en el contexto del cálculo lambda infinito, que incluye términos infinitamente grandes. En este contexto, el términonortenorte{\displaystyle \mathbf {NN} }, dóndenorte=λincógnita.I(incógnitaincógnita){\displaystyle \mathbf {N} =\lambda x.\mathbf {I} (xx)}, se reduce a ambos aI(I()){\displaystyle \mathbf {I} (\mathbf {I} (\dots ))}yΩ{\displaystyle \mathbf {\Omega } }, por lo tanto, también hay problemas con la confluencia de la normalización. [ 5 ]

Conjuntos de términos sin sentido

La construcción general está parametrizada por un conjuntoU{\displaystyle U}de términos sin sentido , lo cual se requiere para satisfacer los siguientes axiomas: [ 6 ] [ 7 ]

  • Actividad de raíz: Cada término activo de raíz está enU{\displaystyle U}Un términoMETRO{\displaystyle M}es root-activo si para todosMETROnorte{\displaystyle M{\stackrel {*}{\to }}N}existe un redex(λincógnita.PAG)Q{\displaystyle (\lambda xP)Q}de tal manera quenorte(λincógnita.PAG)Q{\displaystyle N{\stackrel {*}{\to }}(\lambda xP)Q}.
  • Cierre bajo reducción β: Para todosMETROU{\displaystyle M\in U}, siMETROnorte{\displaystyle M{\stackrel {*}{\to }}N}entoncesnorteU{\displaystyle N\in U}.
  • Cierre bajo sustitución: Para todosMETROU{\displaystyle M\in U}y sustitucionesσ{\displaystyle \sigma },METROσU{\displaystyle M\sigma \in U}.
  • Superposición: Para todosλincógnita.METROU{\displaystyle \lambda xM\in U},(λincógnita.METRO)norteU{\displaystyle (\lambda xM)N\in U}.
  • Indiscernibilidad: Para todosMETRO,norte{\displaystyle M,N}, sinorte{\displaystyle N}se puede obtener deMETRO{\displaystyle M}reemplazando un conjunto de subtérminos disjuntos por pares enU{\displaystyle U}con otros términos deU{\displaystyle U}, entoncesMETROU{\displaystyle M\in U}si y solo sinorteU{\displaystyle N\in U}.
  • Cierre bajo expansión β. Para todosnorteU{\displaystyle N\in U}, siMETROnorte{\displaystyle M{\stackrel {*}{\to }}N}, entoncesMETROU{\displaystyle M\in U}Algunas definiciones omiten esto, pero es útil. [ 8 ]

Hay infinitos conjuntos de términos sin sentido, pero los más comunes en la literatura son: [ 9 ]

  • El conjunto de términos sin cabeza forma normal
  • El conjunto de términos sin cabeza débil forma normal
  • El conjunto de términos con actividad en la raíz, es decir, los términos sin forma normal superior ni forma normal en la raíz. Dado que se presupone la actividad en la raíz, este es el conjunto más pequeño de términos sin significado.

Tenga en cuenta queΩ{\displaystyle \mathbf {\Omega } }es activo en la raíz y por lo tantoΩU{\displaystyle \mathbf {\Omega } \en U}para cada conjunto de términos sin sentidoU{\displaystyle U}.

términos λ⊥

El conjunto de términos λ con ⊥ (abreviado términos λ⊥) se define coinductivamente mediante la gramática.METRO=incógnita(λincógnita.METRO)(METROMETRO){\displaystyle M=\bot \mid x\mid (\lambda xM)\mid (MM)}Esto corresponde al cálculo lambda infinito estándar más términos que contienen{\displaystyle \bot }La reducción beta en este conjunto se define de la manera estándar. Dado un conjunto de términos sin sentidoU{\displaystyle U}, también definimos una reducción al fondo: siMETRO[Ω]U{\displaystyle M[\bot \mapsto \mathbf {\Omega } ]\en U}yMETRO{\displaystyle M\neq \bot }, entoncesMETRO{\displaystyle M\to \bot }Los términos λ⊥ se consideran entonces como un sistema de reescritura con estas dos reglas; gracias a la definición de términos sin sentido, este sistema de reescritura es confluente y normalizador. [ 7 ]

El "árbol" tipo Böhm para un término puede obtenerse entonces como la forma normal del término en este sistema, posiblemente en un sentido infinito "en el límite" si el término se expande infinitamente.

Árboles de Böhm

Los árboles de Böhm se obtienen considerando los términos λ⊥, donde el conjunto de términos sin sentido consiste en aquellos sin forma normal de cabeza . Más explícitamente, el árbol de Böhm BT( M ) de un término lambda M se puede calcular de la siguiente manera: [ 10 ]

  1. BT( M ) es{\displaystyle \bot }, si M no tiene forma normal de cabeza
  2. BT(METRO)=λincógnita1.λincógnita2.λincógnitanorte.yBT(METRO1)BT(METROmetro){\displaystyle \mathrm {BT} (M)=\lambda x_{1}.\lambda x_{2}.\ldots \lambda x_{n}.y\mathrm {BT} (M_{1})\ldots \mathrm {BT} (M_{m})}, siMETRO{\displaystyle M}se reduce en un número finito de pasos a la forma normal de la cabezaλincógnita1.λincógnita2.λincógnitanorte.yMETRO1METROmetro{\displaystyle \lambda x_{1}.\lambda x_{2}.\ldots \lambda x_{n}.yM_{1}\ldots M_{m}}

Por ejemplo,BT(Ω)={\displaystyle \mathrm {BT} (\mathbf {\Omega } )=\bot },BT(I)=I{\displaystyle \mathrm {BT} (\mathbf {I} )=\mathbf {I} }yBT(λincógnita.incógnitaΩ)=λincógnita.incógnita{\displaystyle \mathrm {BT} (\lambda x.x\mathbf {\Omega } )=\lambda x.x\bot }.

Determinar si un término tiene una forma normal de cabeza es un problema indecidible . Barendregt introdujo una noción de árbol de Böhm "efectivo" que es computable, con la única diferencia de que los términos sin forma normal de cabeza no están marcados con{\displaystyle \bot }. [ 11 ]

Cabe destacar que calcular el árbol de Böhm es similar a encontrar una forma normal para M. Si M tiene una forma normal, el árbol de Böhm es finito y tiene una correspondencia simple con dicha forma. Si M no tiene una forma normal, la normalización puede generar subárboles de forma infinita o quedar atrapada en un bucle al intentar obtener un resultado para una parte del árbol, lo que produce árboles infinitos y términos sin sentido, respectivamente. Dado que el árbol de Böhm puede ser infinito, el procedimiento debe entenderse como una aplicación correcursiva o como el cálculo del límite de una serie infinita de aproximaciones.

Árboles de Lévy-Longo

Los árboles de Lévy-Longo se obtienen considerando los términos λ⊥, donde el conjunto de términos sin sentido consiste en aquellos sin forma normal de cabeza débil . Más explícitamente, el árbol de Lévy-Longo LLT( M ) de un término lambda M se puede calcular de la siguiente manera: [ 10 ]

  1. LLT( M ) es{\displaystyle \bot }, si M no tiene forma normal de cabeza débil.
  2. SiMETRO{\displaystyle M}se reduce a la forma normal de la cabeza débilyMETRO1METROmetro{\displaystyle yM_{1}\ldots M_{m}}, entoncesLLT(METRO)=yLLT(METRO1)LLT(METROmetro){\displaystyle \mathrm {LLT} (M)=y\mathrm {LLT} (M_{1})\ldots \mathrm {LLT} (M_{m})}.
  3. SiMETRO{\displaystyle M}se reduce a la forma normal de la cabeza débilλincógnita.norte{\displaystyle \lambda x.N}, entoncesLLT(METRO)=λincógnita.LLT(norte){\displaystyle \mathrm {LLT} (M)=\lambda x.\mathrm {LLT} (N)}/

Árboles de Berarducci

Los árboles de Berarducci se obtienen considerando los términos λ⊥ donde el conjunto de términos sin sentido consiste en los términos activos de la raíz. Más explícitamente, el árbol de Berarducci BerT( M ) de un término lambda M se puede calcular de la siguiente manera: [ 10 ]

  1. BerT( M ) es{\displaystyle \bot }, si M es activo en la raíz.
  2. SiMETRO{\displaystyle M}se reduce a un términoλincógnita.norte{\displaystyle \lambda x.N}, entoncesBmirT(METRO)=λincógnita.BmirT(norte){\displaystyle \mathrm {BerT} (M)=\lambda x.\mathrm {BerT} (N)}.
  3. SiMETRO{\displaystyle M}se reduce a un términonortePAG{\displaystyle NP}dóndenorte{\displaystyle N}no se reduce a ninguna abstracciónλincógnita.Q{\displaystyle \lambda x.Q}, entoncesBmirT(METRO)=BmirT(norte)BmirT(PAG){\displaystyle \mathrm {BerT} (M)=\mathrm {BerT} (N)\mathrm {BerT} (P)}.

Notas

  1. según Sangiorgi y Walker (2003 , p. 493), introducido en Barendregt (1977) y nombrado en honor a un teorema de Corrado Böhm.
  2. acuñado en Ong (1988) , según Sangiorgi y Walker (2003 , p. 511)

Referencias

  1. Levy, Jean-Jacques (1975). «Una interpretación algebraica del cálculo λβK y un cálculo λ etiquetado». Cálculo λ y teoría de la informática . Notas de clase en informática. Vol.  37. págs. 147–165 . doi : 10.1007/BFb0029523 . ISBN  3-540-07416-3.
  2. Longo, Giuseppe (agosto de 1983). "Modelos de teoría de conjuntos del cálculo λ: teorías, expansiones, isomorfismos" . Annals of Pure and Applied Logic . 24 (2): 153– 188. doi : 10.1016/0168-0072(83)90030-1 .
  3. Berarducci, Alessandro (1996). «Cálculo λ infinito y modelos no sensatos» (PDF) . Lógica y álgebra . Nueva York: Marcel Dekker. pp. 339–377 . ISBN  0824796063Consultado el 23 de septiembre de 2007 .
  4. Church, Alonzo (1941). Los cálculos de conversión lambda . Princeton University Press. pág. 15. ISBN  0691083940.{{cite book}}: Incompatibilidad de ISBN/Fecha ( ayuda )
  5. Severi y de Vries 2011 , pág. 1.
  6. Kennaway, Richard; van Oostrom, Vincent; de Vries, Fer-Jan (1996). «Términos sin sentido en la reescritura». Programación algebraica y lógica . Notas de clase en informática. Vol. 1139. págs. 254–268 . CiteSeerX 10.1.1.37.3616 . doi : 10.1007/3-540-61735-3_17 . ISBN    978-3-540-61735-8.
  7. ^ Severi y de Vries 2011 , pág. 5.
  8. ^ Severi y de Vries 2011 , págs .
  9. Severi y de Vries 2011 , pág. 2.
  10. ^ Severi y de Vries 2011 , pág . 6.
  11. Barendregt, Henk P. (2012). El cálculo lambda : su sintaxis y semántica . Londres: College Publications. pp. 219–221 . ISBN   9781848900660.
  • Huet, Gérard; Laulhère, H. (1997). «Transductores de estados finitos como árboles de Böhm regulares» (PDF) . En Abadi, M.; Ito, T. (eds.). Aspectos teóricos del software informático . LNCS. Vol.  1281. Springer. pp. 604–610 . CiteSeerX 10.1.1.110.7910 . doi : 10.1007/BFb0014570 . ISBN   978-3-540-69530-1.
  • Gérard Huet (1998). "Árboles Böhm normales" (PDF) . Matemáticas. Estructura. En Comp. Ciencia . 8 (6): 671– 680. CiteSeerX 10.1.1.123.475 . doi : 10.1017/S0960129598002643 . S2CID 15752309 .  
  • Ong, C.-H. Luke (31 de mayo de 1988). El cálculo lambda perezoso: una investigación sobre los fundamentos de la programación funcional (PDF) (tesis doctoral). Universidad de Londres. OCLC 31204528. Recuperado el 23 de septiembre de 2022 . 
  • Sangiorgi, Davide; Walker, David (16 de octubre de 2003). El cálculo Pi: una teoría de los procesos móviles . Cambridge University Press. ISBN 978-0-521-54327-9.
  • Barendregt, Henk P. (1977). «El cálculo lambda sin tipos». Manual de lógica matemática . Estudios en lógica y fundamentos de las matemáticas. Vol.  90. pp. 1091–1132 . doi : 10.1016/S0049-237X(08)71129-7 . hdl : 2066/17225 . ISBN  9780444863881. S2CID 25828519 . 
  • Severi, Paula; de Vries, Fer-Jan (2011). «Descomponiendo la red de conjuntos sin sentido en el cálculo lambda infinito» (PDF) . Lógica, lenguaje, información y computación . Notas de clase en ciencias de la computación. Vol.  6642. pp. 210–227 . doi : 10.1007/978-3-642-20920-8_22 . ISBN  978-3-642-20919-2Consultado el 23 de septiembre de 2022 .