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 deyson ambosEsto 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érminono tiene una forma normal, y de manera similar el términono tiene una forma normal. Pero la aplicación, dóndedenota el término lambda estándar, se reduce solo a sí mismo, mientras que la aplicaciónse reduce con reducción de orden normal a, por lo tanto tiene un significado. Vemos así que no todos los términos no normalizadores son equivalentes. Nos gustaría decir quees menos significativo queporque aplicandoa un término puede producir un resultado pero aplicarno 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érmino, dónde, se reduce a ambos ay, 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 conjuntode 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á enUn términoes root-activo si para todosexiste un redexde tal manera que.
- Cierre bajo reducción β: Para todos, sientonces.
- Cierre bajo sustitución: Para todosy sustituciones,.
- Superposición: Para todos,.
- Indiscernibilidad: Para todos, sise puede obtener dereemplazando un conjunto de subtérminos disjuntos por pares encon otros términos de, entoncessi y solo si.
- Cierre bajo expansión β. Para todos, si, entoncesAlgunas 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 quees activo en la raíz y por lo tantopara cada conjunto de términos sin sentido.
términos λ⊥
El conjunto de términos λ con ⊥ (abreviado términos λ⊥) se define coinductivamente mediante la gramática.Esto corresponde al cálculo lambda infinito estándar más términos que contienenLa reducción beta en este conjunto se define de la manera estándar. Dado un conjunto de términos sin sentido, también definimos una reducción al fondo: siy, entoncesLos 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 ]
- BT( M ) es, si M no tiene forma normal de cabeza
- , sise reduce en un número finito de pasos a la forma normal de la cabeza
Por ejemplo,,y.
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. [ 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 ]
- LLT( M ) es, si M no tiene forma normal de cabeza débil.
- Sise reduce a la forma normal de la cabeza débil, entonces.
- Sise reduce a la forma normal de la cabeza débil, entonces/
Á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 ]
- BerT( M ) es, si M es activo en la raíz.
- Sise reduce a un término, entonces.
- Sise reduce a un términodóndeno se reduce a ninguna abstracción, entonces.
Notas
- ↑ según Sangiorgi y Walker (2003 , p. 493), introducido en Barendregt (1977) y nombrado en honor a un teorema de Corrado Böhm.
- ↑ acuñado en Ong (1988) , según Sangiorgi y Walker (2003 , p. 511)
Referencias
- ↑ 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.
- ↑ 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 .
- ↑ 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 .
- ↑ 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 ) - ↑ Severi y de Vries 2011 , pág. 1.
- ↑ 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.
- ^ Severi y de Vries 2011 , pág. 5.
- ^ Severi y de Vries 2011 , págs .
- ↑ Severi y de Vries 2011 , pág. 2.
- ^ Severi y de Vries 2011 , pág . 6.
- ↑ 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 .
- Cálculo lambda