| 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 #
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 # | The (augmented) simplex category is the category of finite ordinals and order preserving maps. |
| HasInitialObject Simplex # | The ordinal |
Defined in Data.Category.Simplex Associated Types type InitialObject Simplex :: Kind k # Methods initialObject :: Obj Simplex (InitialObject Simplex) # initialize :: forall (a :: k). Obj Simplex a -> Simplex (InitialObject Simplex) a # | |
| HasTerminalObject Simplex # | The ordinal |
Defined in Data.Category.Simplex Associated Types type TerminalObject Simplex :: Kind k # Methods terminalObject :: Obj Simplex (TerminalObject Simplex) # terminate :: forall (a :: k). Obj Simplex a -> Simplex a (TerminalObject Simplex) # | |
| type InitialObject Simplex # | |
Defined in Data.Category.Simplex | |
| type TerminalObject Simplex # | |
Defined in Data.Category.Simplex | |
Functor
Constructors
| Forget |
Instances
| Functor Forget # | Turn |
| type Dom Forget # | |
Defined in Data.Category.Simplex | |
| type Cod Forget # | |
Defined in Data.Category.Simplex | |
| type Forget :% n # | |
Defined in Data.Category.Simplex | |
Constructors
| Add |
Instances
| Functor Add # | Ordinal addition is a bifuntor, it concattenates the maps as it were. |
| TensorProduct Add # | Ordinal addition makes the simplex category a monoidal category, with |
Defined in Data.Category.Simplex Methods unitObject :: Add -> Obj (Cod Add) (Unit Add) # leftUnitor :: Cod Add ~ k => Add -> Obj k a -> k (Add :% (Unit Add, a)) a # leftUnitorInv :: Cod Add ~ k => Add -> Obj k a -> k a (Add :% (Unit Add, a)) # rightUnitor :: Cod Add ~ k => Add -> Obj k a -> k (Add :% (a, Unit Add)) a # rightUnitorInv :: Cod Add ~ k => Add -> Obj k a -> k a (Add :% (a, Unit Add)) # 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))) # 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)) # | |
| type Dom Add # | |
| type Cod Add # | |
Defined in Data.Category.Simplex | |
| type Unit Add # | |
Defined in Data.Category.Simplex | |
| type Add :% (S m, n) # | |
| type Add :% (Z, n) # | |
Defined in Data.Category.Simplex | |
The universal monoid
universalMonoid :: MonoidObject Add (S Z) #
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) # | Replicate a monoid a number of times. |
| type Dom (Replicate f a) # | |
Defined in Data.Category.Simplex | |
| type Cod (Replicate f a) # | |
Defined in Data.Category.Simplex | |
| type (Replicate f a) :% Z # | |
Defined in Data.Category.Simplex | |
| type (Replicate f a) :% (S n) # | |