Portability | non-portable (class-associated types) |
---|---|

Stability | experimental |

Maintainer | Edward Kmett <ekmett@gmail.com> |

- factor :: (PreCartesian hom prod, PreCoCartesian hom sum) => hom (sum (prod a b) (prod a c)) (prod a (sum b c))
- class (PreCartesian hom prod, PreCoCartesian hom sum) => Distributive hom prod sum where
- distribute :: hom (prod a (sum b c)) (sum (prod a b) (prod a c))

# Distributive Categories

factor :: (PreCartesian hom prod, PreCoCartesian hom sum) => hom (sum (prod a b) (prod a c)) (prod a (sum b c))Source

the canonical factoring morphism

class (PreCartesian hom prod, PreCoCartesian hom sum) => Distributive hom prod sum whereSource

A category in which `factor`

is an isomorphism

distribute :: hom (prod a (sum b c)) (sum (prod a b) (prod a c))Source