Хочу заметить, что определение через bind можно дать и для произвольных категорий, если аргументы расположить в правильном порядке: bind : Hom(X,TY) -> Hom(TX,TY), где T : C -> C — функтор.
И это определение даже удобнее в каком-то смысле, т.к. нам нужно только проверить монадные законы. Естественность и даже функториальность T получается бесплатно из них.
Т.е. монаду можно определить как функцию T : Ob(C) -> Ob(C) вместе с функциями \eta_X : Hom(X,TX) и bind как описано выше, которые удовлетворяют монадным законам.
Интересная тема) +1 к вопросу. Я вот по-старинке до сих пор - блокнот и ручку использую. Рисовать можно много чего. Если программировать нужно, то можно на языках с завимимыми типами что-то пробовать делать.
Может быть есть вариант взять какойто нормальный DSL заточенный под теорию категорий, держать например базу в виде таблицы связей, гонять некие агенты итд
Интересная тема) +1 к вопросу. Я вот по-старинке до сих пор - блокнот и ручку использую. Рисовать можно много чего. Если программировать нужно, то можно на языках с завимимыми типами что-то пробовать делать.
Ну ТеХ это понятно, но думаю, что слишком уж накладно, если сравнивать с диаграмамми (струнными, коммутативными) в блокноте. Наверное, ничего более современного и автоматического в сравнении с зав типами (cubicaltt например) и нету.
Бывает и n-арная. Для моноидального произведения "unbiased monoidal category" называется, хотя и по сути, просто другая форму бираной ассоциативности. А в мультикатегориях и n-категориях, развивают всякое-всякое...
Всем привет. Я так понял, тут должны быть математики (у меня нет профильного образования), чтобы уточнить один момент, связанный с алгебраическими структурами.