alf » from archive
Кстати, может кто-нибудь кратко рассказать про теоркат?
Теория катастроф? ‎- из-за разнузданности бигдатной
Почему тройка из объектов A, B, стрелок id_A, id_B, f: A → B, g: B → A, h: A → B, и композиции - не категория? (Пример из http://en.wikibooks.org/wiki/Haskell/Category_theory Мне кажется, я упускаю целый слой предположений. То есть если f ∘ g = id_B и h ∘ g = id_B, то видимо f ∘ g ∘ h = h ∘ g ∘ h, и h = f, и это, видимо, плохо, но, эм, откуда мы это знаем? ‎- alf
ну как, h не должно быть равно f, иначе мы имеем два морфизма, а не три. то есть при наличии трёх морфизмов между двумя объектами ассоциативность выполняться не может ‎- из-за разнузданности гламурной
но я ээээ совсем не настоящий сварщик, и у меня всё это в голове не укладывается ‎- из-за разнузданности гламурной
ну, морфизмы должны образовывать класс в смысле теории множеств. для простоты можно думать в терминах малых категорий, где и объекты, и морфизмы, образуют настоящие множества. на множествах есть отношение '='. в множестве не может быть двух одинаковых элементов. ну т.е. мы доказали, что f = h, следовательно, { f, g, h } = { h, g, h } = { h, g }. для собственных классов можно похожее рассуждение провести, просто оно будет зависеть от выбранной аксиоматики теории множеств (в ZF оно, например, даётся на халяву, потому что любой класс будет множеством в метамодели). ‎- middle out-of-sight
Ооок, то есть мы должны уметь различать разные морфизмы. Теперь "Moreover, there are allowed to be multiple morphisms with the same source and target objects; using the Set example, \sin and \cos are both functions with source object \mathbb{R} and target object [-1,1], but they’re most certainly not the same morphism!" — откуда берётся "most certainly not the same"? То есть правильно ли я понимаю, что сами по себе стрелки таки просто стрелки, а "равенство" морфизмов определено относительно композиции? (...и в случае синуса мы волнуемся не за отображение, а за то как синус будет сочетаться с другими функциями?) ‎- alf
"определено относительно" скорее надо перефразировать как "определено так, чтобы обеспечить..." ‎- alf
равенство морфизмов определено как предикат равенства в теории 1-го порядка с равенством. :) то есть это такое бинарное симметрично-рефлексивно-транзитивное отношение, что в любом высказывании(формуле), содержащем a, если a=b, можно заменить a на b без изменения истинности высказывания. так как в языке теории категорий функциональный символ один — ∘, и все высказывания — это высказывания, построенные из блоков вида "композиция слева равна композиции справа", то да, можно сказать, что равенство определено относительно композиций. но стрелки таки не просто стрелки, если две стрелки равны, они обязаны быть одной и той же. ‎- middle out-of-sight
Раз пошла такая пьянка, объясните мне кто-нибудь про функторы. Везде пишут, что функтор, грубо говоря, превращает объекты в объекты, а стрелки в стрелки. Но это же фигня^W пара независимых функций тогда, с разными доменами. В хаскеле Functor определяется хитрее, только через объекты, то так, чтобы стрелки из этих объектов имели некоторое свойство (fmap + id). Правильно ли я понимаю, что "преобразование объектов" задано в этом случае просто через типизацию аргументов fmap? ‎- 9000
^ они не независимые же ‎- из-за разнузданности гламурной
преобразование объектов в этом случае implicit, потому что это функтор из категории всех типов в её подкатегорию, определяемую конкретным инстансом этого функтора. ну, например, Maybe мапит любой T в Maybe T, объект подкатегории { Maybe T: t \in Types }. ‎- middle out-of-sight
Угу, спасибо. Насколько я понял, можно говорить, что функтор превращает стрелки в одной категории в стрелки в другой категории (с такими-то ограничениями), а т.к. стрелки бывают между объектами, то, получается, что объекты тоже мэпятся, но только заодно со стрелками ("они не независимые"). ‎- 9000