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

Stability | experimental |

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

- factor :: (PreCartesian k, PreCoCartesian k) => Sum k (Product k a b) (Product k a c) `k` Product k a (Sum k b c)
- class (PreCartesian k, PreCoCartesian k) => Distributive k where

# Distributive Categories

factor :: (PreCartesian k, PreCoCartesian k) => Sum k (Product k a b) (Product k a c) `k` Product k a (Sum k b c)Source

The canonical factoring morphism.

factor :: ( PreCartesian k , (*) ~ Product k , PreCoCartesian k , (+) ~ Sum k ) => ((a * b) + (a * c)) `k` (a * (b + c))

class (PreCartesian k, PreCoCartesian k) => Distributive k whereSource

A category in which `factor`

is an isomorphism

class ( PreCartesian k , (*) ~ Product k , PreCoCartesian k , (+) ~ Sum k ) => Distributive k where

Distributive (->) |