¿Pueden los formalismos de la teoría de categorías reemplazar a los de la teoría de tipos?


8

Las sutilezas de la correspondencia entre la teoría de tipos y la teoría de categorías están fuera de mi conocimiento. Sin embargo, por mi ingenua comprensión de la relación entre las dos disciplinas históricamente convergentes, esta última subsume por completo a la primera. Si es así, ¿pueden el lenguaje y las descripciones formales / gráficas utilizadas por los teóricos de categorías reemplazar a las de los teóricos de tipos? ¿Y deberían (por ejemplo, en pedagogía y publicaciones académicas)?

Diferentes formalismos pueden inspirar perspectivas novedosas y establecer conexiones conceptuales desnudas que de otro modo podrían ser oscuras. Sin embargo, una multiplicidad de dialectos probablemente también limite el tamaño de una audiencia receptiva y, si se adopta un enfoque políglota, la duración y la complejidad de la exposición se agravan.

Si la teoría de categorías incluye la teoría de tipos de subsistencia, ¿deberían retenerse las diferencias dialécticas de las dos disciplinas y, de ser así, por qué? ¿Por el valor histórico o cultural? ¿Retener diferencias diferentes pero sobresalientes de énfasis teórico o de instrucción? ¿Cuáles podrían ser estos?


1
¿Qué tipo de teoría? ¿Es esto específicamente la teoría de tipos que se le ocurrió a Russel? ¿O la teoría del tipo Martin-Lof? ¿O la teoría de los tipos de homotopía, que parece incluir la teoría de tipos y categorías? No estoy seguro de que haya una sola "teoría de tipos".
jmite

2
@jmite No existe una sola "teoría de tipos" (aunque hay un campo), pero hay conexiones entre muchas posibles teorías de tipos específicos y teoría de categorías. De hecho, en este punto diría que sería un poco sospechoso si una teoría de tipos no tuviera algunas conexiones con la teoría de categorías.
Derek Elkins dejó SE

2
Tiendo a considerar un sistema de tipos como un sistema de prueba para una lógica: la vinculación es una relación RE, los términos / tipos son fórmulas, etc. Podemos establecer la normalización, la consistencia, ... a este nivel. Esto también tiene algunas conexiones fuertes con la teoría de lenguajes de programación. Luego, las categorías se utilizan para construir modelos para esa lógica. Esto es muy esclarecedor, pero si miramos solo la categoría / modelos, olvidaríamos una parte importante, creo. STLC es más fácil de entender que los CCC genéricos. El sistema F es más simple que las transformaciones dinaturales. Ver ambos lados y conectarlos es muy agradable.
chi

1
Esto es parte de lo que generalmente llamamos isomorfismo de Curry-Howard-Lambek.
xuq01

1
@chi, ¿qué "parte importante" podría olvidarse si la teoría de categorías (o la teoría de modelos) se usara exclusivamente en lugar de la teoría de tipos? Además, ¿por qué dice que STLC y System F son más fáciles de entender que los CCC y las transformaciones dinaturales? ¿Los sistemas anteriores son más simples debido al uso habitual o una mayor especificidad o alguna otra razón?
Polytope

Respuestas:


9

Como usted dice que "las sutilezas de la correspondencia entre la teoría de tipos y la teoría de categorías están fuera de su conocimiento", quizás la mejor manera de entender la correspondencia es leer exposiciones no técnicas sobre el tema. Puedo recomendar dos:

  1. Steve Awodey, de conjuntos a tipos, a categorías, a conjuntos , en: Sommaruga G. (eds) Teorías fundamentales de las matemáticas clásicas y constructivas. The Western Ontario Series in Philosophy of Science, vol 76. Springer, Dordrecht ( preimpresión gratuita aquí )

  2. El blog de Robert Harper publica The Holy Trinity , y también ve estas diapositivas .

Supongo que la lección que hay que aprender es que cada enfoque tiene algo que ofrecer y que funcionan mejor juntos, y no tanto si intenta reemplazar o subsumir uno con el otro.


¿Puedo preguntar, sin embargo, qué ventajas distintivas ofrece cada enfoque?
Polytope

Andrej Bauer, gracias por el enlace al artículo de Awodey. Awodey describe algunas ventajas interesantes de la teoría de tipos: (1) "La teoría de tipos [es más manejable porque] tiene algo de carácter concreto," nominalista "[generado sistemáticamente]". (2) "Por el contrario, [con] el enfoque puramente estructural de la teoría de categorías, puede ser más difícil dar una prueba invariable". Sin embargo, estas ventajas enumeradas siguen siendo bastante vagas. ¿Podría elaborarlos o proporcionar ejemplos que demuestren esta utilidad comparativa de la teoría de tipos?
Polytope

Las ventajas son vagas porque este es un documento no técnico que compara las prácticas de teoría de tipos, teoría de categorías y teoría de conjuntos. No podría dar detalles sobre ellos, ya que no hay forma de inculcar en nadie las experiencias de haber trabajado en estas áreas durante años mostrando un ejemplo o dos. Además, no quiero hacerlo porque toda esta publicación tiene el sentimiento definitivo de "mi matemática es mejor que tu matemática", y no quiero participar en ella.
Andrej Bauer

Andrej Bauer, usted es un matemático profesional, así que estoy seguro de que muchos otros proyectos merecen su tiempo y atención finitos más que esto. Sin embargo, esta realmente era una pregunta seria. Apenas soy un aficionado, por lo que, por supuesto, las matemáticas de todos los demás son mejores que las mías, pero esperaba que la comunidad cs.stackexchange me ayudara a comprender mejor por qué, cuando las alternativas podrían ser posibles, la teoría de tipos era algo más que un vestigio de El desarrollo histórico del estudio de la lógica y los lenguajes de programación. Lamento haberte ofendido.
Polytope

¡No estoy para nada ofendido! Y respeto tu solicitud. Pero sentí que sería deshonesto y descortés de mi parte ignorarte. Prefiero darte una respuesta directa. No puedo invertir el tiempo para intentar responderte porque eso requeriría escribir una exposición bastante larga de valor cuestionable. Tendría que saber mucho sobre sus antecedentes para apuntar correctamente. Como dices, esta es una comunidad. Quizás alguien pueda responder en mi lugar, eso sería genial.
Andrej Bauer

9

Mi punto de vista es más o menos similar al de Chi. Veo la teoría de categorías como (más o menos) ser teorías de tipo lo que la teoría de modelos es para la lógica. Algunas de las consecuencias de esto son, primero, que cada una puede existir de manera autónoma. De hecho, la teoría de tipos es anterior a la teoría de categorías, y la creación de la teoría de categorías no fue motivada por estas preocupaciones. En segundo lugar, muchas de las distinciones teoría de categorías / teoría de modelos que intentan difuminar deliberadamente son de interés principal en la teoría / lógica de tipos.

Como un ejemplo muy básico, todas las presentaciones de los axiomas de un grupo dan lugar a la misma clase de modelos (es decir, grupos). Desde la perspectiva del álgebra universal, una variedad (en el sentido del álgebra universal, o una categoría algebraica finitaria desde una perspectiva CT) olvida su presentación. Mientras tanto, desde la perspectiva de la lógica equitativa, la presentación es todo lo que hay. Un tema computacional primario aquí es la unificación electrónica que opera completamente al nivel de la lógica ecológica, es decir, la presentación.

Esto es tipico. Decimos que el cálculo lambda simplemente tipado (con productos) (STLC) es el lenguaje interno de las categorías cerradas cartesianas, pero en realidad es solo una presentación del lenguaje interno y ni siquiera la más "directa". La máquina abstracta categórica (CAM) es posiblemente una representación más "directa". Incluso con el STLC, las flechas de la categoría sintáctica correspondiente sonβη-clases de equivalencia de términos lambda! (Pero vea esto .) Entonces, de alguna manera, describimos directamente la categoría sintáctica como una estructura matemática cuyos conjuntos homólogos coinciden conβη-equivalan clases de términos STLC y no tienen contenido computacional , o ya necesitamos entender el STLC externo a la teoría de categorías, o necesitamos hablar en lugar de presentaciones de categorías cerradas cartesianas que, teniendo un enfoque bastante natural, conducirán a algo CAM -me gusta. En el último caso, la igualdad de flechas se convierte en algo así como un problema de unificación electrónica. Comprender y simplificar este proceso, así como colocar la fachada más ergonómica del STLC frente a él, requiere técnicas que son la base de la lógica y la teoría de tipos, pero que no son particularmente naturales dentro de la teoría de categorías.

Una imagen masivamente simplificada que, sin embargo, puede dar una mejor idea de cómo se relacionan la teoría de categorías y la teoría de tipos es la siguiente. Puedes imaginarlos como dos dimensiones. Las herramientas, técnicas y anotaciones de la teoría de tipos están orientadas a moverse verticalmente entre diferentes presentaciones del mismo objeto, mientras que las herramientas, técnicas y anotaciones de la teoría de categorías y orientadas a moverse horizontalmente entre diferentes objetos matemáticos. Incluso podría decir que una categoría es una línea vertical completa y que la teoría de la categoría habla de mover una línea vertical a otra, pero no cómo corresponden los puntos de las dos líneas. En esta imagen, la teoría de categorías ni siquiera es capaz de hablar sobre las distinciones que está haciendo la teoría de los tipos, pero esto es intencional porque significa que el mapeo arbitrariamente complicado de puntos en una línea vertical a puntos en otra es irrelevante para lo que le importa a la teoría de categorías y puede ignorarse.

En mi publicación de blog, Teoría de la categoría, sintácticamente , describo un enfoque que hace que la teoría de la categoría se parezca más a la teoría de los tipos (y no al revés). Como era de esperar, lo que realmente estoy discutiendo son presentaciones de categorías. Además, puede ver los aspectos de la normalización entrar en escena, por ejemplo, en mi discusión sobre las "teorías del producto", a pesar de que este no es un enfoque en absoluto de esa publicación en particular.

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.