¿Qué se entiende por teoría de la categoría aún no sabe cómo manejar las funciones de orden superior?

22

Al leer la respuesta de Uday Reddy a ¿Cuál es la relación entre los functores en SML y la teoría de categorías? Estados Uday

La teoría de categorías aún no sabe cómo manejar las funciones de orden superior. Algún día lo hará.

Como pensaba que la teoría de categorías podía servir como base para las matemáticas, entonces debería ser posible derivar todas las funciones matemáticas y de orden superior.

Entonces, ¿qué se entiende por teoría de categorías aún no sabe cómo tratar con las funciones de orden superior? ¿Es válido considerar la teoría de categorías como base para las matemáticas?

Guy Coder
fuente
2
Esta discusión sería perfecta para cstheory.stackexchange.com .
Martin Berger

Respuestas:

15

El problema con las funciones de orden superior es lo suficientemente simple como para indicar.

  • Un constructor de tipos como no es un functor. Debería haber sido. T(X)=[XX]

  • twyodomiX:T(X)T(X)=λF.FF

Si lees el documento de teoría de categoría original de Eilenberg y MacLane , (PDF) las intuiciones que presentan cubren esos casos. Pero su teoría no lo hace. ¡Fue un gran papel para 1945! Pero hoy necesitamos más.

La reacción de los teóricos de la categoría a estos problemas es un poco desconcertante. Actúan como si las operaciones de orden superior formaran una idea de informática; no tienen ninguna consecuencia para las matemáticas. Si eso es así, entonces una base de matemáticas no sería lo suficientemente buena para una base de informática.

Pero no lo creo en serio. Creo que las funciones de orden superior también serían bastante importantes para las matemáticas. Pero no han sido seriamente explorados. Tengo la esperanza de que, algún día, se explorarán y se realizarán las limitaciones de la teoría de categorías.

Uday Reddy
fuente
2
Es sorprendente que no consideren interesantes las funciones de orden superior, teniendo en cuenta las profundidades a las que llegan cuando exploran álgebra de dimensiones superiores, teoría de categorías n y similares. Comparativamente, las funciones de orden superior parecen tan sencillas. Especialmente, si esa tierra involucra programas de Haskell.
Dave Clarke
55
norteUNAUNAUNAUNA
44
T(X)UNAsi
1
+1 Esto es realmente interesante. ¿Conoces alguna referencia que discute más estos temas?
Kaveh
3
λππ
9

[Esta segunda respuesta presenta un resumen de cómo podría ser una "Categoría Teoría 2.0", que se ocupa de las funciones de orden superior correctamente.]

Hemos sabido durante mucho tiempo cómo lidiar con funciones de orden superior al razonar sobre ellas.

  • Cuando una estructura algebraica tiene operaciones de orden superior, los homomorfismos no funcionan. Debemos usar relaciones lógicas en su lugar. En otras palabras, debemos pasar de " estructura de preservación de funciones " a " estructura de preservación de relaciones ".

  • Para hablar de transformaciones "uniformes" o "dadas simultáneamente" en tipos de orden superior, la naturalidad no funciona. Debemos usar la parametridad relacional en su lugar. En otras palabras, debemos pasar de "familias que preservan todos los morfismos " a "familias que preservan todas las relaciones lógicas ".

Una introducción rápida a estos problemas se encuentra en la sección de Peter O'Hearn sobre "Parametricidad relacional" en dominios y semántica denotacional: historia, logros y problemas abiertos (CiteSeerX) .

También podría agregar que el razonamiento sobre el estado es donde las funciones de orden superior aparecen prominentemente. Los teóricos de los autómatas fueron los primeros en reconocer que los homomorfismos no funcionan correctamente, en un documento histórico llamado Productos de autómatas y el problema de la cobertura . Usaron términos como "homomorfismos débiles" y "relaciones de cobertura" para referirse a las relaciones lógicas. A su debido tiempo, se usaron términos como "simulación" y "bisimulación" para referirse a ellos. El artículo de la encuesta de Davide Sangiorgi: Sobre los orígenes de la bisimulación y la coinducción abarca toda esta historia temprana y más.

La necesidad de razonamiento relacional surge repetidamente en el razonamiento sobre el estado, en particular la programación imperativa . Muy pocas personas notan que el humilde "punto y coma" es una operación de orden superior. Por lo tanto, no puede despegar pensando en programas imperativos sin saber cómo manejar las funciones de orden superior. Seguimos ignorando los problemas de programación estatal e imperativa en la creencia errónea de que las matemáticas tienen todas las respuestas. Entonces, si los matemáticos no entienden el estado, ¡no debe ser bueno! Nada mas lejos de la verdad. El estado está en el corazón de la informática. ¡Avanzaremos la ciencia en general al mostrarle a la gente cómo lidiar con el estado!

Uday Reddy
fuente
@GuyCoder, creo que es una buena idea. Por cierto, creo que esta y esa pregunta también se incluirán en el tema de Informática teórica en caso de que prefiera publicarla allí.
Kaveh
Después de discutir con Uday, no se hará una nueva pregunta específicamente para esta segunda respuesta. :)
Guy Coder
El estado es relativista.
Shelby Moore III