¿Son las proposiciones de tipos? (¿Qué son exactamente los tipos?)


25

He estado leyendo mucho sobre sistemas de tipos y tal, y entiendo aproximadamente por qué se introdujeron (para resolver la paradoja de Russel). También entiendo aproximadamente su relevancia práctica en lenguajes de programación y sistemas de prueba. Sin embargo, no estoy completamente seguro de que mi noción intuitiva de qué es un tipo sea correcta.

Mi pregunta es, ¿es válido afirmar que los tipos son proposiciones?

En otras palabras, el enunciado "n es un número natural" se corresponde con el enunciado "n tiene el tipo 'número natural'", lo que significa que todas las reglas algebraicas que involucran números naturales se mantienen para n. (Es decir, otra forma, las reglas algebraicas son declaraciones. Esas declaraciones que son verdaderas para los números naturales también son verdaderas para n.)

Entonces, ¿significa esto que un objeto matemático puede tener más de un tipo?

Además, sé que los conjuntos no son equivalentes a los tipos porque no puede tener un conjunto de todos los conjuntos. ¿Podría afirmar que si un conjunto es un objeto matemático similar a un número o una función , un tipo es una especie de objeto metamatemático y, por la misma lógica, un tipo es un objeto metametamatemático? (en el sentido de que cada "meta" indica un mayor nivel de abstracción ...)

¿Tiene esto algún tipo de vínculo con la teoría de categorías?


55
Una pregunta estrechamente relacionada: Pruebas / Programas y Propuestas / Tipos
Marc Hamann

1

Encontré otro buen artículo aquí scientopia.org/blogs/goodmath/2009/11/17/…
Rehno Lindeque

1
En cierto sentido, esto se reduce a una cuestión de ontología. Qué es un conjunto, una propuesta, etc. Además, hay muchas personas que también piensan en los tipos como conjuntos. Si se quiere ser más preciso, se puede distinguir entre tipos pequeños (que son conjuntos) y tipos de universo. Para una buena lectura que concierne a algunas de estas cosas, recomiendo el clásico artículo de Martin-Löfs "Teoría del tipo intuitivo"
Tobias Raski

1
Alguien debería escribir una respuesta desde el punto de vista de la teoría de tipos de homotopía.
Robin Green

Respuestas:


20

El papel clave de los tipos es dividir los objetos de interés en universos diferentes, en lugar de considerar todo lo que existe en un universo. Originalmente, los tipos fueron diseñados para evitar paradojas, pero como saben, tienen muchas otras aplicaciones. Los tipos dan una forma de clasificar o estratificar objetos (ver entrada de blog ).

Algunos trabajan con el eslogan de que las proposiciones son tipos , por lo que su intuición ciertamente le sirve bien, aunque hay trabajos como Propuestas como [Tipos] de Steve Awodey y Andrej Bauer que argumenta lo contrario, es decir, que cada tipo tiene una proposición asociada. La distinción se hace porque los tipos tienen contenido computacional, mientras que las proposiciones no.

Un objeto puede tener más de un tipo debido a subtipos y a través de coacciones de tipo .

Los tipos generalmente se organizan en una jerarquía, donde los tipos juegan el papel del tipo de tipos, pero no iría tan lejos como para decir que los tipos son metamatemáticos. Todo sucede al mismo nivel; este es especialmente el caso cuando se trata de tipos dependientes .

Existe un vínculo muy fuerte entre los tipos y la teoría de categorías. De hecho, Bob Harper (citando a Lambek) dice que la lógica, los idiomas (donde residen los tipos) y las categorías forman una trinidad santa . Citando:

Estos tres aspectos dan lugar a tres sectas de culto: la lógica, que da prioridad a las pruebas y proposiciones; Idiomas, que da prioridad a los programas y tipos; Categorías, que da prioridad a los mapeos y estructuras.

Debe consultar la correspondencia de Curry-Howard para ver el vínculo entre los lenguajes de lógica y programación (los tipos son proposiciones) y las categorías cerradas cartesianas , para ver la relación entre la teoría de categorías.


Gracias, el primer enlace fue especialmente útil. En él, Mark informa que existe una "relación total <" sobre los tipos. Entonces, ¿esto significa que todas las "proposiciones" de un tipo también deben incluir todas las "proposiciones" en los tipos debajo de ellas? Esperaba que al menos sería una "relación parcial <" sobre los tipos ...
Rehno Lindeque

1
Mientras lo leo, hay un orden total sobre los átomos, que estaba en su lugar simplemente para asegurar que haya un número infinito de átomos.
Dave Clarke

Oh, veo que me confundí entre el "Axioma de comprensión" y el "Axioma del infinito" ... ¿Sería un tipo 'nat' (el tipo de todos los números naturales) un "tipo infinito de nivel 0"?
Rehno Lindeque

3
La "santa trinidad" se debe realmente a Lambek. Cf. La discusión de la teoría de tipos en Lambek y Scott (1986). Escuché que en McGill se habla de la correspondencia Curry-Howard-Lambek.
Charles Stewart

@Charles: Estoy de acuerdo en que Lambek está poco acreditado por su contribución masiva, incluso si, irónicamente, fue leer el libro de Lambek y Scott lo que me convenció de que la "santísima trinidad" es falsa: se rompe en presencia de potenciales no -terminación.
Marc Hamann
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.