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.