Я читал о моноидном гомоморфизме из моноидных морфизмов, продуктов и копроизведений и не мог понять 100%.
Автор говорит (выделено оригиналом):
Функция
length
отображается изString
вInt
, сохраняя моноидную структуру. Такая функция, которая отображает один моноид в другой таким сохраняющим образом, называется гомоморфизмом моноидов. В общем случае для моноидовM
иN
, гомоморфизмаf: M => N
и всех значенийx:M
,y:M
, справедливы следующие уравнения:f(x |+| y) == (f(x) |+| f(y)) f(mzero[M]) == mzero[N]
Означает ли он, что, поскольку типы данных String
и Int
являются моноидами, а length
функции отображает String => Int
сохраняя моноидную структуру (Int
является моноидом), это называется гомоидизмом моноидов, верно?