inr ; out( f, g) = g
Для любых функций f и g. Графически это свойство можно изобразить так:
A
inl
A + B
inr
B
out
f
g
C
Итак суммой двух объектов A и B называется объект A + B и две стрелки inl : A → A + B и inr : B →
A + B такие, что для любых двух стрелок f : A → C и g : B → C определена одна и только одна стрелка
h : A + B → C такая, что выполнены свойства:
inl ; h = f
inr ; h = g
В этом определении объект A + B вместе со стрелками inl и inr, определяет функцию, которая по
некоторому объекту C и двум стрелкам f и g строит стрелку h, которая ведёт из объекта A + B в объект
C. Этот процесс определения стрелки по объекту напоминает определение начального элемента. Построим
специальную категорию, в которой объект A+ B будет начальным. Тогда функция out будет катаморфизмом.
Функция out принимает две стрелки и возвращает третью. Посмотрим на типы:
f : A → C
inl : A → A + B
g : B → C
inr : B → A + B
Каждая из пар стрелок в столбцах указывают на один и тот же объект, а начинаются они из двух разных
объектов A и B. Определим категорию, в которой объектами являются пары стрелок ( a 1 , a 2), которые на-
чинаются из объектов A и B и заканчиваются в некотором общем объекте D. Эту категорию ещё называют
клином. Стрелками в этой категории будут такие стрелки f : ( d 1 , d 2) → ( e 1 , e 2), что стрелки в следующей
диаграмме коммутируют (не важно по какому пути идти из двух разных точек).
A
B
d
e
1
2
e 1
d 2
D
E
f
Композиция стрелок – это обычная композиция в исходной категории, в которой определены объекты A
и B, а тождественная стрелка для каждого объекта, это тождественная стрелка для того объекта, в котором
сходятся обе стрелки. Можно проверить, что это действительно категория.
Если в этой категории есть начальный объект, то мы будем называть его суммой объектов A и B. Две
стрелки, которые содержит этот объект мы будем называть inl и inr, а общий объект в котором эти стрелки
сходятся будем называть A + B. Теперь если мы выпишем определение для начального объекта, но вме-
сто произвольных стрелок и объектов подставим наш конкретный случай, то мы получим как раз исходное
определение суммы.
Начальный объект ( inl : A → A + B, inr : B → A + B) ставит в соответствие любому объекту
( f : A → C, g : B → C) стрелку h : A + B → C такую, что выполняются свойства:
236 | Глава 15: Теория категорий
A
inl
A + B
inr
B
h
f
g
C
А как на счёт произведения? Оказывается, что произведение является дуальным понятием по отношению
к сумме. Его иногда называют косуммой, или сумму называют копроизведением. Дуализируем категорию,
которую мы строили для суммы.
У нас есть категория A и в ней выделено два объекта A и B. Объектами новой категории будут пары
стрелок ( a 1 , a 2), которые начинаются в общем объекте C а заканчиваются в объектах A и B. Стрелками в
этой категории будут стрелки исходной категории h : ( e 1 , e 2) → ( d 1 , d 2) такие что следующая диаграмма
коммутирует: