Polynomial functor F が Applicative のとき、

・集合M とそれで添字付けられた集合族 {E_a}, a ∈ M
・F(x) = Σ_{a ∈ M} (E_a → x)
・Monoid {M, ・, 1}
・関数の族 mid_{a,b,c} :: E_{abc} → E_b
・midが整合性条件を満たす

さらにFがZipなら

・Mはsemilattice i.e. 可換かつべき等
・任意の(a ≤ b)に対するj_{a,b} = mid{b,a,b} :: E_{a} -> E{b}
・j_{b,c}∘j_{a,b} = j_{a,c}

※ jの単射性のような条件が出てこない

j_{a,b} = mid{a,b,a}
です、mid{b,a,b}ではない

フォロー

Align+Zipから単射性が出るのか???

あー、これは出ないな
そもそも要素の配置に関してAbsorptionから何も言えない。

Alignedness則(Foldableと関連付ける)はAlignにしか無くて、Zipが変な振る舞いをすることを止められない

いや、Distributivityからどうにかできるか・・・?

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。