deniok: (typed lambda)
deniok ([personal profile] deniok) wrote2010-01-22 04:21 pm

Побочные результаты

В ходе трудов над статьёй для журнала Практика функционального программирования (по материалам этого поста) и параллельных размышлений над постом [livejournal.com profile] beroal'а обнаружил следующий факт. Равенство
(f .) . (. h) = (. h) . (f .)
вылезшее в этом комментарии из преобразований
f (g (h x)) = (f . (g . h)) x = ((f .) ((. h) g)) x = ((f .) . (. h)) g x
f (g (h x)) = ((f . g) . h) x = ((. h) ((f .) g)) x = ((. h) . (f .)) g x
имеет явную категорийную интерпретацию. А именно, указанное равенство выражает (в категории Hask) факт естественной связи Hom-функторов: ковариантного Hom(A,–) и контравариантного Hom(–,B), задаваемой коммутативной диаграммой



(UPD: В комментах велели добавить f : B → B′, h : A′ → A, g ↦ f . g . h. Добавляю.)

В категории Hask ковариантным Hom-функтором является левое сечение композиции (f .), а контравариантным - правое (. h). Соответственно указанное равенство описывает на другом языке коммутативность диаграммы.

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

[identity profile] kodt-rsdn.livejournal.com 2010-01-22 02:15 pm (UTC)(link)
Сделай это врезкой в журнале. Типа, "знаете ли вы что" :)

[identity profile] deni-ok.livejournal.com 2010-01-22 02:21 pm (UTC)(link)
Я подумаю над этой идеей :)

[identity profile] migmit.vox.com (from livejournal.com) 2010-01-22 02:54 pm (UTC)(link)
То бишь, попросту то, что Hom - бифунктор.

[identity profile] deni-ok.livejournal.com 2010-01-22 05:49 pm (UTC)(link)
контравариантный по первому аргументу и ковариантный по второму, ага (если не привлекать двойственных категорий)

[identity profile] kurilka.livejournal.com 2010-01-22 06:42 pm (UTC)(link)
Я может глупость спрошу, но где на диаграмме Hom(A, -) ну и Hom(-, B)?
Читал вики, ничо не понял...

[identity profile] deni-ok.livejournal.com 2010-01-22 06:57 pm (UTC)(link)
На диаграмме они инстанцинированны на произвольной паре стрелок f : B → B′ и h : A′ → A. Ну это как в Хаскелле - мы можем рассуждать о map :: (a → b) → ([a] → [b]), а можем о map f :: [a] → [b] для произвольного f :: a → b. В первом случае мы могли бы написать (map -) используя категорийную терминологию.

[identity profile] ivan-gandhi.livejournal.com 2010-01-22 07:07 pm (UTC)(link)
Приятно, конечно, до чего компьютерная наука дошла; но это как бы очевидно для всякого категорщика, и, должно быть, совершенно загадочно для некатегорщика.

Надо поправить диаграмму или довасить комментарий, мол, h:A'->A, f:B->B'.

g |-> f.g.h

[identity profile] deni-ok.livejournal.com 2010-01-22 07:10 pm (UTC)(link)
Не, ну что профессиональные категорщики - небожители, это и так понятно; но благожелательным массам-то на примерах тоже полезно пояснять ;-)

[identity profile] deni-ok.livejournal.com 2010-01-22 07:17 pm (UTC)(link)
Я сам очень испуган, но уважаемая редакция сама попросила. Попробую не подвести :)

[identity profile] kurilka.livejournal.com 2010-01-22 07:32 pm (UTC)(link)
Т.е. "-" - это такой специальный плейсхолдер в ТК чтоли?

[identity profile] deni-ok.livejournal.com 2010-01-22 07:36 pm (UTC)(link)
ага, типа _ в Хаскелле

[identity profile] nivanych.livejournal.com 2010-01-23 11:33 am (UTC)(link)
_ в хаскеле означает независимость от аргумента.
В Hom(A,-) чёрточка, как раз, означает аргумент.

[identity profile] nivanych.livejournal.com 2010-01-23 11:36 am (UTC)(link)
Такие бифункторы на nLab называют профункторами.
Реже дифункторами (видимо, по аналогии с диестественным пр-нием).
Но под бифунктором, как правило, насколько я видел,
понимается ковариантный по обоим аргументам.

[identity profile] deni-ok.livejournal.com 2010-01-23 12:05 pm (UTC)(link)
Да, согласен, аналогия плохая, слишком приблизительная

[identity profile] nivanych.livejournal.com 2010-01-23 06:55 pm (UTC)(link)
Строго говоря, это не Hom, а экспонента.
Ну или ещё сопряжённый к лампочке
в моноидально-замкнутой категории
называют internal hom.

[identity profile] ivan-gandhi.livejournal.com 2010-01-24 04:59 am (UTC)(link)
На примерах - это прекрасно; так и надо.

[identity profile] beroal.livejournal.com 2010-01-31 10:08 am (UTC)(link)
оффтоп: А что, на RSDN ещё OpenID не сделали?

[identity profile] beroal.livejournal.com 2010-01-31 10:18 am (UTC)(link)
Я предпочитаю запись с помощью лямбда-абстракции:
Hom(A,−)λB. Hom(A,B)
Hom(−,B)λA. Hom(A,B)

[identity profile] beroal.livejournal.com 2010-01-31 10:22 am (UTC)(link)
Это тоже не очевидно, а доказательство выльется в ещё один пост. :)

[identity profile] beroal.livejournal.com 2010-01-31 10:23 am (UTC)(link)
|→
В Unicode есть такой значок

[identity profile] beroal.livejournal.com 2010-01-31 10:27 am (UTC)(link)
Но диаграмма верна и для external hom.

[identity profile] nivanych.livejournal.com 2010-01-31 10:31 am (UTC)(link)
С одной стороны, не могу не согласиться
с тем, что такая запись выглядит чётче,
но с другой стороны, запись Hom(A,-)
весьма и весьма устоявшаяся.

[identity profile] nivanych.livejournal.com 2010-01-31 10:44 am (UTC)(link)
Это другой вопрос, щас начнём его обсуждать,
продолжим про обогащённые категории,
и можем уйти в приличные дебри ;-)

[identity profile] migmit.vox.com (from livejournal.com) 2010-01-31 11:07 am (UTC)(link)
А этого поста будет не достаточно?

[identity profile] deni-ok.livejournal.com 2010-01-31 12:27 pm (UTC)(link)
thnx, мне лень искать было, сейчас поправлю

[identity profile] kurilka.livejournal.com 2010-01-31 03:41 pm (UTC)(link)
ну да, прочерки как-то совсем неинтуитивны, да и вообще первый раз вижу (правда в ТК я всё в первой половине книжек застреваю)

Be ready for that special moment. Day or night.

(Anonymous) 2012-08-22 05:07 am (UTC)(link)
BUY ONLINE! BEST GENERIC! VIAGRA, CIALIS, LEVITRA!!!
Save BIG on genuine Viagra, Cialis, Levitra, plus:

-100% genuine meds - no imitations!
-Discount prices - up to 65% off storewide
-Easy refunds!
-Safe and confidential orders



[b]CLICK HERE - http://mothershare.net/ [/b]


BONUS!!! TODAY ONLY!

http://mothershare.net/

[url=http://mothershare.net/][img]http://pharmshoper.com/images2/generic-pharmacy.jpg[/img][/url]