Что подразумевается под теорией категорий, еще не знает, как обращаться с функциями более высокого порядка?

22

Читая Удай Редди ответ на Что такое соотношение между функторов в SML и теории категорий? Удай заявляет

Теория категорий еще не знает, как обращаться с функциями более высокого порядка. Когда-нибудь, это будет.

Поскольку я думал, что теория категорий способна послужить основой для математики, то должна быть возможность вывести все математические функции и функции высшего порядка.

Итак, что подразумевается под теорией категорий, еще не знает, как обращаться с функциями более высокого порядка? Можно ли считать теорию категорий основой математики?

Гай Кодер
источник
2
Это обсуждение было бы идеально для cstheory.stackexchange.com .
Мартин Бергер

Ответы:

15

Проблема с функциями более высокого порядка достаточно проста.

  • Конструктор типа, подобный , не является функтором. Это должно было быть. T(Икс)знак равно[ИксИкс]

  • Полиморфная функция типа не является естественным преобразованием. Это должно было быть.TвесясеИкс:T(Икс)T(Икс)знак равноλе,ее

Если вы читали оригинальный Эйленберга и Маклейна теория категории бумаги , (PDF) с интуицией они присутствуют крышка этих случаев. Но их теория не делает. Это была отличная статья для 1945 года! Но сегодня нам нужно больше.

Реакция теоретиков категорий на эти вопросы немного озадачивает. Они действуют так, как будто операции высшего порядка формируют идею информатики; они не имеют никакого значения для математики. Если это так, то фундамент математики не будет достаточно хорош для основы информатики.

Но я серьезно не верю в это. Я полагаю, что функции высшего порядка были бы весьма важны и для математики. Но они не были серьезно изучены. Я надеюсь, что когда-нибудь они будут исследованы, и ограничения теории категорий будут реализованы.

Удай Редди
источник
2
Удивительно, что они не считают функции более высокого порядка интересными, учитывая глубину, которую они используют при изучении алгебры многомерности, теории n-категорий и тому подобного. Для сравнения, функции высшего порядка кажутся такими приземленными. Особенно, если эта земля включает в себя программы на Haskell.
Дейв Кларк
5
@DaveClarke. Я думаю, что они хотели бы видеть это убедительный пример, подобный тому, с которого начинали Эйленберг и Маклейн. Все мерные векторные пространства изоморфны друг другу. Таким образом, векторное пространство изоморфно своему двойственному: A A . Однако эти изоморфизмы не являются «естественными». (Они используют конкретные базы - «зависящие от представления» в нашем разговоре.) С другой стороны, изоморфизм A A является «естественным», работает одинаково для всех баз. Чтобы попросить Теорию Категории 2.0, нам нужен похожий пример убийцы! NAA*AA**
Удай Редди
4
T(Икс)AВ
1
+1 Это действительно интересно. Знаете ли вы какие-либо ссылки, которые обсуждают эти вопросы дальше?
Каве
3
λππ
9

[Этот второй ответ представляет собой схему того, как может выглядеть «Теория категорий 2.0», которая правильно работает с функциями высшего порядка.]

Мы давно знаем, как обращаться с функциями высшего порядка, рассуждая о них.

  • Когда алгебраическая структура имеет операции высшего порядка, гомоморфизмы не работают. Вместо этого мы должны использовать логические отношения . Другими словами, мы должны перейти от « структуры, сохраняющей функции », к « структуре, сохраняющей отношения ».

  • Если говорить о «единообразных» или «одновременно заданных» преобразованиях типов высшего порядка, естественность не работает. Вместо этого мы должны использовать реляционную параметричность . Другими словами, мы должны перейти от «семей, сохраняющих все морфизмы » к «семьям, сохраняющим все логические отношения ».

Краткое введение в эти вопросы содержится в разделе Питера О'Хирна «Реляционная параметричность» в « Домены и денотационная семантика: история, достижения и открытые проблемы» (CiteSeerX) .

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

Необходимость реляционных рассуждений постоянно возникает в рассуждениях о состоянии, в частности, в императивном программировании . Мало кто замечает, что скромная точка с запятой - это операция высшего порядка. Таким образом, вы не можете начать думать об императивных программах, не зная, как обращаться с функциями более высокого порядка. Мы продолжаем игнорировать вопросы государственного и императивного программирования, ошибочно полагая, что у математики есть ответы на все вопросы. Так что, если математики не понимают государство, это не должно быть хорошо! Нет ничего более далекого от правды. Государство находится в центре компьютерных наук. Мы будем продвигать науку в целом, показывая людям, как бороться с государством!

Удай Редди
источник
@GuyCoder, я думаю, что это хорошая идея. Кстати, я думаю, что этот и тот же вопрос будет актуален и для Теоретической Информатики, если вы предпочитаете опубликовать его там.
Каве
После обсуждения с Удаем новый вопрос не будет специально задан для этого второго ответа. :)
Guy Coder
Государство релятивистское.
Шелби Мур III