| License | BSD-style (see the file LICENSE) |
|---|---|
| Maintainer | sjoerd@w3future.com |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Category.Simplex
Description
The (augmented) simplex category.
Simplex Category
data Simplex :: * -> * -> * where Source #
Constructors
| Z :: Simplex Z Z | |
| Y :: Simplex x y -> Simplex x (S y) | |
| X :: Simplex x (S y) -> Simplex (S x) (S y) |
Instances
| Category Simplex Source # | The (augmented) simplex category is the category of finite ordinals and order preserving maps. |
| HasInitialObject Simplex Source # | The ordinal |
Defined in Data.Category.Simplex Associated Types type InitialObject Simplex :: Type Source # Methods initialObject :: Obj Simplex (InitialObject Simplex) Source # initialize :: Obj Simplex a -> Simplex (InitialObject Simplex) a Source # | |
| HasTerminalObject Simplex Source # | The ordinal |
Defined in Data.Category.Simplex Associated Types type TerminalObject Simplex :: Type Source # Methods terminalObject :: Obj Simplex (TerminalObject Simplex) Source # terminate :: Obj Simplex a -> Simplex a (TerminalObject Simplex) Source # | |
| type InitialObject Simplex Source # | |
Defined in Data.Category.Simplex | |
| type TerminalObject Simplex Source # | |
Defined in Data.Category.Simplex | |
Functor
Constructors
| Forget |
Constructors
| Add |
Instances
| Functor Add Source # | Ordinal addition is a bifuntor, it concattenates the maps as it were. |
| TensorProduct Add Source # | Ordinal addition makes the simplex category a monoidal category, with |
Defined in Data.Category.Simplex Methods unitObject :: Add -> Obj (Cod Add) (Unit Add) Source # leftUnitor :: Cod Add ~ k => Add -> Obj k a -> k (Add :% (Unit Add, a)) a Source # leftUnitorInv :: Cod Add ~ k => Add -> Obj k a -> k a (Add :% (Unit Add, a)) Source # rightUnitor :: Cod Add ~ k => Add -> Obj k a -> k (Add :% (a, Unit Add)) a Source # rightUnitorInv :: Cod Add ~ k => Add -> Obj k a -> k a (Add :% (a, Unit Add)) Source # associator :: Cod Add ~ k => Add -> Obj k a -> Obj k b -> Obj k c -> k (Add :% (Add :% (a, b), c)) (Add :% (a, Add :% (b, c))) Source # associatorInv :: Cod Add ~ k => Add -> Obj k a -> Obj k b -> Obj k c -> k (Add :% (a, Add :% (b, c))) (Add :% (Add :% (a, b), c)) Source # | |
| type Dom Add Source # | |
| type Cod Add Source # | |
Defined in Data.Category.Simplex | |
| type Unit Add Source # | |
Defined in Data.Category.Simplex | |
| type Add :% (S m, n) Source # | |
| type Add :% (Z, n) Source # | |
Defined in Data.Category.Simplex | |
The universal monoid
universalMonoid :: MonoidObject Add (S Z) Source #
The maps 0 -> 1 and 2 -> 1 form a monoid, which is universal, c.f. Replicate.
Constructors
| Replicate f (MonoidObject f a) |
Instances
| TensorProduct f => Functor (Replicate f a) Source # | Replicate a monoid a number of times. |
| type Dom (Replicate f a) Source # | |
Defined in Data.Category.Simplex | |
| type Cod (Replicate f a) Source # | |
Defined in Data.Category.Simplex | |
| type (Replicate f a) :% Z Source # | |
Defined in Data.Category.Simplex | |
| type (Replicate f a) :% (S n) Source # | |