Size: a a a

Теория категорий

2019 September 23

NI

Nick Ivanych in Теория категорий
Ну то есть, тут неявно скрывается, что мы одинаковым образом конструируем стрелку.
Хотя и понятно, что это не одна и так же стрелка получается для разных a.
источник

AZ

Alex Zhukovsky in Теория категорий
Мне это неочевидно. По ссылке говорят как раз ту вещь, которая мне кажется интуитивно верной:

For example, a function of type

f :: ∀a. a -> a
can only be the identity function: since it must return something of type a, for any type a, the only thing it can do is return the argument of type a that it was given
источник

NI

Nick Ivanych in Теория категорий
Она верная. Только для каждого a, это будет своя id-стрелка.
источник

NI

Nick Ivanych in Теория категорий
Выражение ∀a. a -> a задаёт не одну функцию, а семейство их.
источник

AZ

Alex Zhukovsky in Теория категорий
Nick Ivanych
Она верная. Только для каждого a, это будет своя id-стрелка.
значит я неверно сформулировал. Я имел ввиду именно то, что f такого вида сущесвтует в единственном виде для разных а
источник

AZ

Alex Zhukovsky in Теория категорий
f :: ∀a. a -> a
g :: ∀a. a -> a

как простым образом доказать, что эти функции совпадают и являются id для своих типов?
источник

H

Hmm in Теория категорий
Что нужно знать при изучение теор ката? достаточно ли мат анализа  и лин ала?
источник

AG

Alex Gryzlov in Теория категорий
Alex Zhukovsky
f :: ∀a. a -> a
g :: ∀a. a -> a

как простым образом доказать, что эти функции совпадают и являются id для своих типов?
ну по хорошему нужна теория типов с отрефлексированной параметричностью
источник

NI

Nick Ivanych in Теория категорий
Hmm
Что нужно знать при изучение теор ката? достаточно ли мат анализа  и лин ала?
В принципе, можно не знать ни того, ни другого.
Но чем больше областей знаешь, тем бОльшая часть примеров будет понята.
В принципе, не так уж мало можно изучить, знаючи только за функциональное программирование.
источник

AG

Alex Gryzlov in Теория категорий
Бернарди кажется таким занимался
источник

NI

Nick Ivanych in Теория категорий
Alex Zhukovsky
f :: ∀a. a -> a
g :: ∀a. a -> a

как простым образом доказать, что эти функции совпадают и являются id для своих типов?
Вадлер это как-то относительно несложно показывал.
А если правильно категорно, то надо категорную модель SystemF строить.
источник

AG

Alex Gryzlov in Теория категорий
проще всего конечно показать что у этого типа один житель
источник

NI

Nick Ivanych in Теория категорий
Alex Gryzlov
проще всего конечно показать что у этого типа один житель
для каждого a
источник

NI

Nick Ivanych in Теория категорий
Тут вот, как раз, и загвоздка.
Что в хаскеле я пишу id x = x
Это какбе одна функция, но на самом-то деле, это куча таких id для разных типов.
источник

NI

Nick Ivanych in Теория категорий
Alex Gryzlov
проще всего конечно показать что у этого типа один житель
На самом деле, правильно сказано относительно теории типов.
Я просто с категорными вещами увязать пытаюсь, но так просто это сделать не выйдет.
источник

AZ

Alex Zhukovsky in Теория категорий
я видимо потому изначально криво сформулировал, потому что в голове генерики автоматически, и я думаю об этом как об одной функции. Но вопрос про семейство, да.
источник

NI

Nick Ivanych in Теория категорий
В общем, без категорной модели индексирования по типам ничего не получится близкого.
источник

AT

Anton Trunov in Теория категорий
Alex Gryzlov
Бернарди кажется таким занимался
Это же его color type theory?
источник

NI

Nick Ivanych in Теория категорий
Alex Zhukovsky
я видимо потому изначально криво сформулировал, потому что в голове генерики автоматически, и я думаю об этом как об одной функции. Но вопрос про семейство, да.
Внутри соответствующих теорий типов, это ж таки один терм.
Но задающий сразу семейство функций.
Можно ещё сказать, что у него неявным параметром тип, как оно во всех типазависимых языках делается.
источник

АТ

Алексей Троицкий in Теория категорий
Alex Zhukovsky
f :: ∀a. a -> a
g :: ∀a. a -> a

как простым образом доказать, что эти функции совпадают и являются id для своих типов?
на OPLSS 2014 Derek Dreyer это показывал на второй лекции
https://www.cs.uoregon.edu/research/summerschool/summer14/curriculum.html
источник