Cálculo lambda simplemente tipado

El cálculo lambda simplemente tipado () es una teoría de tipos basada en el cálculo de lambda con un único constructor de tipos, , que construye tipos función. Es el ejemplo canónico y más sencillo de un cálculo lambda tipado. El cálculo lambda simplemente tipado fue originalmente introducido por Alonzo Church en el 1940 como un intento de evitar la aparición de paradojas en el cálculo lambda sin tipos.

El término simplemente tipado es también utilizado para referirse a extensiones del cálculo lambda simplemente tipado con productos, coproductos, números naturales (Sistema T) o incluso recursión (como en el lenguaje PCF). En contraste, los sistemas que introducen tipos polimórficos (como Sistema F) o tipos dependientes (como el Logical Framework) no se consideran simplemente tipados. Los primeros, excepto aquellos que implementan recursión arbitraria, se consideran todavía simplemente tipados porque la codificación de Church de estas estructuras puede hacerse utilizando solamente y variables de tipo, mientras que el polimorfismo y la dependencia no pueden expresarse de esta forma.

Sintaxis

Sean y dos variables representando tipos arbitrarios. Informalmente, el tipo función es el tipo de las funciones que, dado un argumento de tipo , producen una salida de tipo . Por convención, es asociativo a derecha: leemos como .

Para definir los tipos, empezamos fijando un conjunto de tipos base, , en ocasiones llamados tipos atómicos o constantes de tipo. Una vez fijados, la sintaxis de los tipos viene dada por la siguiente BNF:

.

La sintaxis de los términos del cálculo lambda simplemente tipado es esencialmente la misma que la del cálculo lambda. Escribimos para denotar que la variable es de tipo . La sintaxis de los términos en BNF es entonces:

donde es una constante.

Semántica categórica

El cálculo lambda simplemente tipado (asumiendo -equivalencia) es el lenguaje interno de las categorías cartesianas cerradas, como fue observado por Joachim Lambek por primera vez. Dada cualquier categoría cartesiana cerrada específica, los tipos base de su correspondiente cálculo lambda son sus objetos, y los términos son los morfismos. En la otra dirección, cada cálculo lambda simplemente tipado genera una categoría cartesiana cerrada cuyos objetos son los tipos, y cuyos morfismos son clases de equivalencia sobre los términos.

Referencias

  • A. Church: A Formulation of the Simple Theory of Types, JSL 5, 1940
  • W.W.Tait: Intensional Interpretations of Functionals of Finite Type I, JSL 32(2), 1967
  • G.D. Plotkin: Lambda-definability and logical relations, Technical report, 1973
  • G.P. Huet: The Undecidability of Unification in Third Order Logic Information and Control 22(3): 257-267 (1973)
  • H. Friedman: Equality between functionals. LogicColl. '73, pages 22-37, LNM 453, 1975.
  • H. Schwichtenberg: Functions definable in the simply-typed lambda calculus, Arch. Math Logik 17 (1976) 113-114.
  • R. Statman: The Typed lambda-Calculus Is not Elementary Recursive FOCS 1977: 90-94
  • W. D. Goldfarb: The undecidability of the 2nd order unification problem, TCS (1981), no. 13, 225- 230.
  • R. Statman. -definable functionals and conversion. Arch. Math. Logik, 23:21–26, 1983.
  • J. Lambek: Cartesian Closed Categories and Typed Lambda-calculi. Combinators and Functional Programming Languages 1985: 136-175
  • U. Berger, H. Schwichtenberg: An Inverse of the Evaluation Functional for Typed lambda-calculus LICS 1991: 203-211
  • H. Mairson: A simple proof of a theorem of Statman, TCS 103(2):387-394, 1992.
  • Jung, A.,Tiuryn, J.:A New Characterization of Lambda Definability, TLCA 1993
  • R. Loader: The Undecidability of λ-definability, appeared in the Church Festschrift, 2001
  • H. Barendregt, Lambda Calculi with Types (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última)., Handbook of Logic in Computer Science, Volume II, Oxford University Press, 1993. ISBN 0-19-853761-1.
  • L. Baxter: The undecidability of the third order dyadic unification problem, Information and Control 38(2), 170-178 (1978)

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.