Вот возьмём-ка монадку
X2
, из
моего поста.
"Какая ж тут у нас монада? Монада берёт множество
X
и сопоставляет ему
X×X
. Монадная единица - диагональ (
η(x) = (x,x)
), а монадное умножение,
X×X×X×X → X×X
строится, согласно картинкам из начала этой части, из
ε: (Y1×Y2, Y1×Y2) →(Y1,Y2)
- проектированием по первой и последней координатам.
μ(x1,x2,x3,x4) = (x1,x4)
."
Так вот, а какие ж бывают алгебры над такой монадой? Нам надо, чтобы был
f: A×A → A
, соблюдающий условия:
f(a,a) == a
f(f(a1,a2),f(a3,a4)) == f(a1,a4)
Мне вот что-то сдаётся, что в условиях булевости и точечности (ну, скажем, в множествах) только проекция удовлетворяет такому условию.
p1(a1,a2) = a1
;
p2(a1,a2) = a2
.
Хотите попробовать порешать? По-моему, прикольная задачка. Хотелось бы найти, конечно, необходимые условия, при которых это так. Точечность на фиг не нужна, но булевость...