El cálculo simplemente mecanografiado () de la lambda del es un cálculo mecanografiado de la lambda cuyo único conectador es el (tipo de la función). Esto le hace el canónico, y en gran medida el más simple, ejemplo de un cálculo mecanografiado de la lambda.
Los tipos simples del de la palabra también se utilizan para referir a extensiones del cálculo simplemente mecanografiado de la lambda tales como productos, Coproducts o números naturales (sistema T) o aún repetición completa (como el PCF ). En cambio, los sistemas que introducen tipos polimórficos (como el sistema F ) o los tipos dependientes (como el marco lógico ) no se consideran el simplemente mecanografiado. El cálculo simplemente mecanografiado de la lambda fue introducido original por la iglesia de Alonzo en 1940 como tentativa de evitar las aplicaciones paradójicas del cálculo Untyped de la lambda.
Los tipos del cálculo simplemente mecanografiado de la lambda se construyen de los tipos bajos (o mecanografiar las variables) , y los tipos dados de la sigma podemos construir el que denota el tipo de funciones que toman una discusión del tipo y que vuelven un resultado del tipo .
El función-tipo del símbolo se asocia a la derecha: leímos el como . A cada tipo asignamos un , la pedido del . Para los tipos bajos fijamos el y para los tipos de la función definimos recurrentemente = \ mbox {máximo} (o (\ sigma) +1, o del .
Hay básicamente dos presentaciones del cálculo simplemente mecanografiado de la lambda. En la primera presentación, el cálculo simplemente mecanografiado de la lambda se piensa como subconjunto del cálculo de la lambda y los tipos vienen mientras que los apremios en los términos de la lambda de la manera se forman. Esto se refiere como presentación del Curry-estilo del o el curry y él del la del à del que mecanografía conecta con el tipo polimórfico inferencia y el tipo sistemas de la asignación.
En la segunda variante, los términos de la lambda no son términos puros del cálculo de la lambda, pero la lambda llama informaciones que llevan sobre su tipo. Esto se refiere como iglesia del la del à del que mecanografía.
En la presentación de la iglesia del cálculo simplemente mecanografiado de la lambda, un término tipo-anotado de la lambda es cualquier
un variable x
un mecanografió el de la abstracción de la lambda de
un Si no dicho, un término mecanografiar-anotado de la lambda es como un término puro de la lambda salvo que las variables son mecanografiados en las abstracciones (de la misma forma que los parámetros formales de una función tienen un tipo asignado en una lengua como el C ).
Para definir el sistema de términos bien mecanografiados de la lambda de un tipo dado, introducimos el de los contextos que mecanografía de la gamma, \ del delta que son sistemas de las asunciones que mecanografían del de la forma donde está una variable . Introducimos el que que significa que es un término del tipo en el del contexto y que es dada por las reglas que mecanografían siguientes:
En el Curry-estilo que mecanografía, las abstracciones de la lambda no llevan ninguÌn tipo información. Por consiguiente, los términos pueden tener más de un tipo. Uno de éstos tipo es más general que los otros y se llama el tipo principal . El tipo variables de un tipo principal es implícito el universal cuantificado y todos los tipos posibles de un término son de hecho casos de su tipo principal.
Por ejemplo, considerar otra vez el combinator de K = del λ un b de . Suponer que el un tiene tipo α y el b tiene tipo β. Entonces b del λ. el un tiene el tipo → α del β, y del λ un b de . el un tiene tipo principal → α del β del → del α. Si no dicho, el combinator K toma una discusión del tipo arbitrario σ y vuelve una función, que, dada una discusión del tipo τ, vuelve un valor del tipo σ.
Semejantemente, considerar el combinator B = del λ un c del b . Suponer que el c tiene tipo γ. Entonces el b debe tener cierto tipo del → β del γ de la forma, y el de la expresión tiene a. el un debe tener cierto tipo del → α del β de la forma, y el de la expresión un ( a. ) tiene el tipo α. Entonces c del λ. ) tiene el tipo → α del γ; c del b . ) tiene el tipo → α del γ del → del (β del → del γ), y del λ un c del b . ) tiene el tipo principal → α del γ del → del → del (α del → del β) (β del → del γ). Uno puede interpretar esto como significado que cuando el combinator B recibe una discusión del tipo (σ) del → del τ y una discusión del tipo (τ) del → del ρ , él vuelva una función, que, dada una discusión del tipo ρ, vuelve un resultado del tipo σ.
El cálculo simplemente mecanografiado de la lambda es estrechamente vinculado a la lógica intuicionista proposicional usar solamente la implicación () como conectador (lógica mínima) vía el isomorfismo de Curry-Howard: los tipos habitados por términos cerrados son exacto las tautologías de la lógica mínima.
Tait demostró en 1967 que el -reduction es que normaliza fuerte . Pues un -equivalence es el decidible. Statman demostró en 1977 que el problema de la normalización no es recurrente elemental. Una prueba puramente semántica de la normalización (véase la normalización por la evaluación ) fue dada por Berger y Schwichtenberg en 1991.
El problema de la unificación para el -equivalence es undecidable. Huet demostró en 1973 que la 3ro unificación de la orden es undecidable y esto fue mejorada sobre por Goldfarb en 1981 demostrando que la unificación del segundo orden es ya undecidable. Si una orden más alta que empareja (unificación donde solamente un término contiene variables existenciales) es decidible está todavía abierto. Colin Stirling, Edimburgo, ha publicado un prueba-bosquejo en el cual él demanda que el problema es decidible; sin embargo, la versión completa de la prueba es todavía inédita
Podemos codificar los números naturales por los términos del tipo (números de la iglesia. Schwichtenberg demostró en 1976 que en el los polinomios extendidos son exactamente representables como funciones sobre números de la iglesia; éstos son áspero los polinomios cerrados para arriba debajo de un operador condicional.
Un modelo completo es dado interpretando tipos bajos mientras que el fija y tipos de la función por el espacio de función fijar-teórico . Friedman demostró en 1975 que esta interpretación es el para el -equivalence, si los tipos bajos son interpretados por los sistemas infinitos. Statman demostró en 1983 que el -equivalence es la equivalencia máxima cuál es el típicamente ambiguo, es decir cerrado bajo tipo substituciones (teorema típico de la ambigüedad de Statman del ). Un corolario de esto es que la característica modelo finita del se sostiene, es decir los sistemas finitos son suficientes distinguir los términos que no son identificados por el -equivalence.
Plotkin introdujo relaciones lógicas en 1973 para caracterizar los elementos de un modelo que son definibles por términos de la lambda. En 1993 Jung y Tiuryn demostraron que una forma general de la relación lógica (relaciones lógicas de Kripke con arity diverso) caracteriza exactamente definability de la lambda. Plotkin y Statman conjeturaron que es decidible si un elemento dado de un modelo generado de sistemas finitos es definible por un término de la lambda (el Plotkin-Statman-conjetura ). La conjetura fue demostrada para ser falsa por Loader en 1993.
| Random links: | Newark, Missouri | Aurox | CJ Corporation | Alvechurch | Hailar, Inner Mongolia |