Cosa si intende per teoria delle categorie che non sa ancora come gestire le funzioni di ordine superiore?


22

Nel leggere la risposta di Uday Reddy a Qual è la relazione tra i funzionari nella teoria SML e della categoria? Stati Uday

La teoria delle categorie non sa ancora come gestire le funzioni di ordine superiore. Un giorno lo farà.

Poiché pensavo che la teoria delle categorie potesse servire da base per la matematica, allora dovrebbe essere possibile derivare tutte le funzioni matematiche e di ordine superiore.

Quindi, cosa si intende per teoria delle categorie non sapere ancora come gestire le funzioni di ordine superiore? È valido considerare la teoria delle categorie come una base per la matematica?


2
Questa discussione sarebbe perfetta per cstheory.stackexchange.com .
Martin Berger,

Risposte:


15

Il problema con le funzioni di ordine superiore è abbastanza semplice da affermare.

  • Un costruttore di tipi come non è un funzione. Sarebbe dovuto essere. T(X)=[XX]

  • Una funzione polimorfica come non è una trasformazione naturale. Sarebbe dovuto essere.twioceX:T(X)T(X)=λf.ff

Se leggi il documento teorico di categoria originale di Eilenberg e MacLane , (PDF) le intuizioni che presentano coprono quei casi. Ma la loro teoria no. La loro era una grande carta per il 1945! Ma oggi abbiamo bisogno di più.

La reazione dei teorici della categoria a questi problemi è un po 'sconcertante. Agiscono come se le operazioni di ordine superiore formassero un'idea di informatica; non hanno alcuna conseguenza per la matematica. Se è così, allora una fondazione di matematica non sarebbe abbastanza buona per una fondazione di informatica.

Ma non ci credo seriamente. Credo che le funzioni di ordine superiore sarebbero piuttosto importanti anche per la matematica. Ma non sono stati seriamente esplorati. Spero che, un giorno, saranno esplorati e saranno realizzati i limiti della teoria delle categorie.


2
È sorprendente che non considerino interessanti le funzioni di ordine superiore, considerando le profondità che esplorano quando esplorano l'algebra di dimensione superiore, la teoria della categoria n e simili. Comparativamente, le funzioni di ordine superiore sembrano così realistiche. Soprattutto, se quella terra coinvolge i programmi di Haskell.
Dave Clarke,

5
@DaveClarke. Penso che ciò che vorrebbero vedere è un esempio convincente come quello con cui iniziano Eilenberg e MacLane. Tutti gli spazi vettoriali -dimensionali sono isomorfi l'uno rispetto all'altro. Quindi, uno spazio vettoriale è isomorfo al suo doppio: A A . Tuttavia, questi isomorfismi non sono "naturali". (Usano basi particolari - "rappresentative-dipendenti" nei nostri discorsi.) D'altra parte l'isomorfismo A A è "naturale", funziona allo stesso modo per tutte le basi. Per chiedere una teoria di categoria 2.0, abbiamo bisogno di un simile esempio killer! nUNUN*UNUN**
Uday Reddy,

4
T(X)UNB

1
+1 Questo è davvero interessante. Conosci qualche riferimento che discute ulteriormente di questi problemi?
Kaveh,

3
λππ

9

[Questa seconda risposta presenta uno schema di come potrebbe apparire una "Teoria delle categorie 2.0", che gestisce correttamente le funzioni di ordine superiore.]

Sappiamo da molto tempo come gestire le funzioni di ordine superiore nel ragionamento su di esse.

  • Quando una struttura algebrica ha operazioni di ordine superiore, gli omomorfismi non funzionano. Dobbiamo invece usare le relazioni logiche . In altre parole, dobbiamo passare da " funzioni che preservano la struttura" a " relazioni che preservano la struttura".

  • Per parlare di trasformazioni "uniformi" o "date simultaneamente" su tipi di ordine superiore, la naturalezza non funziona. Dobbiamo invece utilizzare la parametricità relazionale . In altre parole, dobbiamo passare da "famiglie che conservano tutti i morfismi " a "famiglie che preservano tutte le relazioni logiche ".

Una rapida introduzione a questi problemi è nella sezione di Peter O'Hearn su "Parametricità relazionale" in domini e semantica denotazionale: storia, realizzazioni e problemi aperti (CiteSeerX) .

Potrei anche aggiungere che il ragionamento sullo stato è il punto in cui le funzioni di ordine superiore appaiono in primo piano. I teorici degli automi sono stati i primi a riconoscere che gli omomorfismi non funzionano correttamente, in un documento storico chiamato Products of Automata and the Problem of Covering . Hanno usato termini come "omomorfismi deboli" e "relazioni di copertura" per riferirsi a relazioni logiche. A tempo debito, termini come "simulazione" e "bisimulazione" sono stati usati per riferirsi ad essi. L'articolo del sondaggio di Davide Sangiorgi: Sulle origini della bisimulazione e della coinduzione copre tutta questa storia antica e altro ancora.

La necessità di ragionamenti relazionali emerge ripetutamente nel ragionamento sullo stato, in particolare sulla programmazione imperativa . Pochissime persone notano che l'umile "punto e virgola" è un'operazione di ordine superiore. Quindi, non puoi decollare pensando ai programmi imperativi senza sapere come gestire le funzioni di ordine superiore. Continuiamo a ignorare i problemi della programmazione statale e imperativa nella convinzione errata che la matematica abbia tutte le risposte. Quindi, se i matematici non capiscono lo stato, non deve essere buono! Nulla potrebbe essere più lontano dalla verità. Lo stato è al centro dell'informatica. Faremo progredire la scienza in generale, mostrando alle persone come affrontare lo stato!


@GuyCoder, penso sia una buona idea. A proposito, penso che questa e quella domanda sarebbero in tema anche per l' Informatica teorica nel caso in cui preferissi pubblicarla lì.
Kaveh,

Dopo aver discusso con Uday, non verrà posta una nuova domanda per questa seconda risposta. :)
Guy Coder,

Lo stato è relativistico.
Shelby Moore III,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.