F-алгебра

В теории категорий F {\displaystyle F} -алгебра — это алгебраическая структура, связанная с функтором F {\displaystyle F} . F {\displaystyle F} -алгебры можно использовать в программировании для представления структур данных, таких как списки и деревья.

Определение

F {\displaystyle F} -алгеброй эндофунктора

F : C C {\displaystyle F:{\mathcal {C}}\longrightarrow {\mathcal {C}}}

называется объект A {\displaystyle A} из C {\displaystyle {\mathcal {C}}} вместе с морфизмом в C {\displaystyle {\mathcal {C}}}

α : F A A {\displaystyle \alpha :FA\longrightarrow A} .

Таким образом, F {\displaystyle F} -алгебра — это пара ( A , α ) {\displaystyle (A,\alpha )} .

Гомоморфизмом из F {\displaystyle F} -алгебры ( A , α ) {\displaystyle (A,\alpha )} в F {\displaystyle F} -алгебру ( B , β ) {\displaystyle (B,\beta )} называется морфизм в C {\displaystyle {\mathcal {C}}}

f : A B {\displaystyle f:A\longrightarrow B} ,

для которого верно

f α = β F f : {\displaystyle f\circ \alpha =\beta \circ Ff:}

Для любого заданного эндофунктора F {\displaystyle F} можно рассмотреть категорию, объектами которой являются F {\displaystyle F} -алгебры, а морфизмами — гомоморфизмы между F {\displaystyle F} -алгебрами.

Примеры

Для примера, рассмотрим эндофунктор F : S e t S e t {\displaystyle F:Set\to Set} , который отображает множество X {\displaystyle X} в 1 + X {\displaystyle 1+X} . Здесь S e t {\displaystyle Set} - категория множеств, 1 {\displaystyle 1} - любое одноэлементное множество, а + {\displaystyle +}  — операция копроизведения (дизъюнктное объединение множеств). Тогда множество N неотрицательных целых чисел вместе с функцией [ z e r o , s u c c ] : 1 + N N {\displaystyle [\mathrm {zero} ,\mathrm {succ} ]:1+\mathbb {N} \to \mathbb {N} } , которая является копроизведением функций z e r o : 1 N {\displaystyle \mathrm {zero} :1\to \mathbb {N} } (которая всегда возвращает 0) и s u c c : N N {\displaystyle \mathrm {succ} :\mathbb {N} \to \mathbb {N} } (которая отображает n в n+1), является F {\displaystyle F} -алгеброй.

Литература

  • Varmo Vene, Categorical programming with inductive and coinductive types
  • Philip Wadler, Recursive types for free! Университет Глазго, 1990 год, черновик.
  • Pierce, Benjamin C. «F-Algebras». Basic Category Theory for Computer Scientists. ISBN 0-262-66071-7.