Що означає теорія категорій, ще не знає, як поводитися з функціями вищого порядку?


22

Читаючи Удай Редді відповідь на Що таке співвідношення між функторів в SML і теорії категорій? Удай штати

Теорія категорій ще не знає, як поводитися з функціями вищого порядку. Якогось дня, буде.

Як я вважав, теорія категорій може слугувати основою математики, тоді слід мати можливість отримати всі математичні функції та вищі порядки.

Отже, що означає теорія категорій, ще не знає, як поводитися з функціями вищого порядку? Чи справедливо вважати теорію категорій основою математики?


2
Ця дискусія була б ідеальною для cstheory.stackexchange.com .
Мартін Бергер

Відповіді:


15

Проблема з функціями вищого порядку досить проста.

  • Конструктор типу типу не є функтором. Це мало бути. T(X)=[XX]

  • Поліморфна функція на зразок не є природним перетворенням. Це мало бути.twiceX:T(X)T(X)=λf.ff

Якщо ви читаєте оригінальний документ з теорії категорій Ейленберга та Маклайна , (PDF) інтуїція, яку вони представляють, охоплює ці випадки. Але їх теорія ні. Їх було чудовим документом за 1945 рік! Але сьогодні нам потрібно більше.

Реакція теоретиків категорій на ці питання трохи неприємна. Вони діють так, ніби операції вищого порядку формують ідею інформатики; вони не мають ніякого наслідку для математики. Якщо це так, то основа математики був би недостатньо хорошим для фундаменту інформатики.

Але я в це серйозно не вірю. Я вважаю, що функції вищого порядку були б дуже важливими і для математики. Але вони не були серйозно досліджені. Я сподіваюся, що одного дня вони будуть вивчені і обмеження теорії категорій будуть реалізовані.


2
Дивно, що вони не вважають функції вищого порядку цікавими, враховуючи глибину, яку вони проходять при дослідженні алгебри вищих розмірів, теорії n-категорій тощо. Порівняно, функції вищого порядку здаються настільки приземленими. Тим більше, якщо ця земля передбачає програми Haskell.
Дейв Кларк

5
@DaveClarke. Я думаю, що те, що вони хотіли б побачити, - це переконливий приклад, як той, з якого починаються Ейленберг та Маклайн. Всі -вимірні векторні простори ізоморфні один одному. Отже, векторний простір ізоморфний своєму двоїстому: A A . Однак ці ізоморфізми не є "природними". (Вони використовують конкретні основи - "представницька залежність" у нашій розмові.) З іншого боку, ізоморфізм A A "природний", працює однаково для всіх підстав. Щоб попросити Теорію категорій 2.0, нам потрібен подібний приклад убивці! нАААА
Uday Reddy

4
T(X)AB

1
+1 Це дійсно цікаво. Чи знаєте ви будь-які посилання, які далі обговорюють ці питання?
Каве

3
λππ

9

[У цій другій відповіді подано контур того, як може виглядати "Теорія категорій 2.0", яка належним чином розглядає функції вищого порядку.]

Ми давно знаємо, як поводитися з функціями вищого порядку, міркуючи про них.

  • Коли алгебраїчна структура має операції вищого порядку, гомоморфізми не працюють. Натомість ми повинні використовувати логічні відносини . Іншими словами, ми повинні перейти від " функції збереження структури" до " відносин, що зберігають структуру".

  • Якщо говорити про "рівномірні" або "одночасно задані" перетворення на типи вищого порядку, природність не працює. Натомість ми повинні використовувати реляційну параметричність . Іншими словами, ми повинні перейти від "сім'ї, що зберігають усі морфізми ", до "сім'ї, що зберігають усі логічні стосунки ".

Швидке знайомство з цими питаннями - у розділі Пітера О'Герна на тему "Реляційна параметричність" у доменах та денотаційній семантиці: історія, досягнення та відкриті проблеми (CiteSeerX) .

Я також можу додати, що міркування про стан - це те, коли функції вищого порядку виявляються помітно. Теоретики автоматів першими визнали, що гомоморфізми працюють не правильно, в історичній статті під назвою « Продукти автоматів та проблема покриття» . Вони використовували такі терміни, як "слабкий гомоморфізм" та "охоплює відносини" для позначення логічних відносин. Згодом для позначення їх використовували такі терміни, як "симуляція" та "бісімуляція". Стаття опитування Девід Сангіорджі : Про витоки бізімуляції та коіндукції охоплює всю цю ранню історію та багато іншого.

Необхідність реляційних міркувань неодноразово виникає в міркуваннях про стан, зокрема імперативного програмування . Дуже мало хто помічає, що скромний «крапка з комою» - це операція вищого порядку. Отже, ви не можете зійти з місця, думаючи про необхідні програми, не знаючи, як поводитися з функціями вищого порядку. Ми продовжуємо ігнорувати питання державного та імперативного програмування, помилково вважаючи, що математика має всі відповіді. Отже, якщо математики не розуміють стану, це не повинно бути користю! Ніщо не могло бути далі від істини. Держава лежить в основі інформатики. Ми загалом просунемо науку, показуючи людям, як поводитися з державою!


@GuyCoder, я думаю, що це гарна ідея. До речі, я вважаю, що це і те питання було б актуальним і для теоретичних комп'ютерних наук, якщо ви хочете опублікувати його там.
Каве

Після обговорення з Uday, нове запитання для цієї другої відповіді конкретно не буде задаватися. :)
Гай Кодер

Держава є релятивістською.
Шелбі Мур III
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.