gpt4 book ai didi

haskell - 这是一个好的幺半群 Action 吗?

转载 作者:行者123 更新时间:2023-12-03 14:13:02 26 4
gpt4 key购买 nike

我想我可能偶然发现了一位将军,虽然有些堕落,monoid action .伪 haskell :

instance (Monoid m, Monoid n) => Act m n where
act mempty x = x -- let's pretend that we can use `mempty` as a pattern
act _ _ = mempty
mn 的操作是设置 nmempty除非 m本身是空的。
这是一个守法的幺半群 Action 吗?它以前是不是我以外的人发明的?如果有,它的名字是什么?

最佳答案

至少在一般情况下,它看起来不像是一个幺半群 Action 。如果是,我们应该具有以下属性:

-- law 1
act mempty x = x
-- law 2
act (m1 <> m2) x = act m1 (act m2 x)
并且,由于方式 act在伪实例中定义:
-- property 1
act x y = mempty
when x /= mempty
mn成为 Sum Int ,这是一个幺半群。
我们有
act (Sum 0) (Sum 1)
= { definition of mempty }
act mempty (Sum 1)
= { law 1 }
Sum 1
我们还有
act (Sum 0) (Sum 1)
= { definition of <> on Sum }
act (Sum (-2) <> Sum 2) (Sum 1)
= { law 2 }
act (Sum (-2)) (act (Sum 2) (Sum 1))
= { property 1, given Sum (-2) /= mempty }
mempty
= { definition of mempty }
Sum 0
导致两个不相容的结果。
另一方面,当 m是一个幺半群,其中没有(非平凡)元素具有逆,例如 [a] , 然后你的 act看起来像一个适当的 Action 。

关于haskell - 这是一个好的幺半群 Action 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65800060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com