License | BSD-style (see the file LICENSE) |
---|---|
Maintainer | sjoerd@w3future.com |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
The (augmented) simplex category.
Simplex Category
data Simplex :: Type -> Type -> Type where Source #
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 type InitialObject Simplex :: Kind k Source # initialObject :: Obj Simplex (InitialObject Simplex) Source # initialize :: forall (a :: k). Obj Simplex a -> Simplex (InitialObject Simplex) a Source # | |
HasTerminalObject Simplex Source # | The ordinal |
Defined in Data.Category.Simplex type TerminalObject Simplex :: Kind k Source # terminalObject :: Obj Simplex (TerminalObject Simplex) Source # terminate :: forall (a :: k). 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
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 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 Cod Add Source # | |
Defined in Data.Category.Simplex | |
type Dom Add Source # | |
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
.
Replicate f (MonoidObject f a) |
Instances
TensorProduct f => Functor (Replicate f a) Source # | Replicate a monoid a number of times. |
type Cod (Replicate f a) Source # | |
Defined in Data.Category.Simplex | |
type Dom (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 # | |