2016-07-09 8 views
3

Control.Category.Associativeは射associateを宣言します。その逆はどこですか? Control.Categor.Monoidalは、左右のユニットまたはコンポーネント(idlおよびidr)のみを宣言するのではなく、その逆も省略します。ハスケル:Control.Category.Monoidal:私はmonoidalカテゴリを理解して、連想が同型である必要があり、</p> <pre><code>class Bifunctor p k k k => Associative k p where associate :: k (p (p a b) c) (p a (p b c)) </code></pre> <p>しかし:仲間の逆数、IDLとIDR

私が見落としている標準的な方法でこれらの変形から逆転を得る可能性はありますか?

+1

'category-extras'はしばらく使用されなくなりました。 'categories'置換パッケージから[' Associative'](https://hackage.haskell.org/package/categories-1.0.7/docs/Control-Category-Associative.html)を見ましたか?このパッケージには、逆順の[Monoidal](https://hackage.haskell.org/package/categories-1.0.7/docs/Control-Category-Monoidal.html)もあります。 –

+0

ありがとう、私はそれが非難されたことを知らなかった。 –

答えて

2

逆数がクラスCoassociativeによって定義されているように見えます。これはおそらく、より細かく一般性があるようです。

+0

タイプは正しいですが、通常は "Co"で "inverse"と異なるものではありませんか? –

+0

ああ良い点。私たちはおそらく2つの関係する法則を必要としています... – luqui

+0

それが真であれば、 'idl'と' idr'の逆は 'Comonoidal'にあります。ドキュメンテーションによると、このタイプのクラスは、厳密な(共)モノイドカテゴリに必要な逆演算にも使用されます(ab)。厳密な(共)モノイドのカテゴリは、モノイドとコモノイダルの両方であり、次の法則を満たしているカテゴリです: –

関連する問題