Me gusta leer acerca de la lógica formal como un hobby ocasional. Sin embargo, una cosa sigue disparo de mí: me parecen incapaces de comprender lo que se refiere a cuando la palabra "tipo" (como en el tipo de teoría) es mencionado.
Ahora, yo entiendo que lo que los tipos están en la programación, y a veces me da la impresión de que los tipos de lógica son la misma cosa: queremos que nuestros sistemas formales de seguridad de modo que usted no puede agregar un entero a una proposición (por ejemplo), y los tipos son el mecanismo formal para especificar esto. De hecho, la página de Wikipedia para el tipo de teoría que más o menos dice esto explícitamente en la sección de introducción.
Sin embargo, también va a implicar que los tipos son mucho más poderoso que eso. En general, de todo lo que he leído, me da la idea de que tipos son:
- como los tipos de programación
- algo que es como un conjunto, pero diferentes en ciertos aspectos
- algo que se puede evitar paradojas
- el tipo de cosa que podría sustituir a la teoría de conjuntos, en los fundamentos de las matemáticas
- algo que no es sólo de forma análoga a la noción de una proposición, pero puede ser pensado como la misma cosa ("proposiciones como tipos")
- un concepto que es muy, muy profundo, y estrechamente relacionado con el de mayor categoría de la teoría
El problema es que tengo problemas para conciliar estas cosas. Tipos de programación me parece bastante simple, práctico cosas (alhough el tipo de sistema para cualquier lenguaje de programación puede ser muy complicado y muy interesante). Pero en la teoría tipo parece que de alguna manera los tipos son el idioma, o que ellos son responsables por su poder expresivo en una forma mucho más profunda de lo que es el caso en la programación.
Así que supongo que mi pregunta es, a alguien que entiende los tipos de (digamos) Haskell o C++, y que también entiende la lógica de primer orden y axiomático que la teoría de conjuntos y así sucesivamente, ¿cómo puedo obtener a partir de estos conceptos el concepto de tipo de teoría de la lógica formal? Lo que precisamente es un tipo de tipo de teoría, y ¿cuál es la relación entre los tipos formales de las matemáticas y de tipos en ciencias de la computación?
(Yo no estoy en busca de una definición formal de un tipo tanto como la idea central detrás de él. Me pueden encontrar varias definiciones formales, pero he encontrado que en realidad no me ayudan a entender el concepto subyacente, en parte porque están necesariamente ligados a las características específicas de un determinado tipo de teoría. Si puedo entender la motivación mejor que debería hacer que sea más fácil de seguir las definiciones).