FiniteCategories-0.6.4.0: Finite categories and usual categorical constructions on them.
CopyrightGuillaume Sabbagh 2022
LicenseGPL-3
Maintainerguillaumesabbagh@protonmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Math.FiniteCategories.NumberCategory

Description

By regarding each natural number as the linearly ordered set of all preceding natural number, it yields a category. 0, 1, 2, 3, ... are all number categories.

See (See "Categories for the Working Mathematican" Saunders Mac Lane. p.11)

Synopsis

Number category

type NumberCategoryObject = Natural Source #

An object in a NumberCategory.

data IsSmallerThan a Source #

IsSmallerThan is the type of morphisms in a linear order, it reminds the fact that there is a morphism from a source to a target iff the source is smaller than the target.

Constructors

IsSmallerThan a a 

Instances

Instances details
PrettyPrint a => PrettyPrint (IsSmallerThan a) Source # 
Instance details

Defined in Math.Categories.TotalOrder

Methods

pprint :: Int -> IsSmallerThan a -> String Source #

pprintWithIndentations :: Int -> Int -> String -> IsSmallerThan a -> String Source #

pprintIndent :: Int -> IsSmallerThan a -> String Source #

Simplifiable a => Simplifiable (IsSmallerThan a) Source # 
Instance details

Defined in Math.Categories.TotalOrder

Generic (IsSmallerThan a) Source # 
Instance details

Defined in Math.Categories.TotalOrder

Associated Types

type Rep (IsSmallerThan a) :: Type -> Type

Methods

from :: IsSmallerThan a -> Rep (IsSmallerThan a) x

to :: Rep (IsSmallerThan a) x -> IsSmallerThan a

Show a => Show (IsSmallerThan a) Source # 
Instance details

Defined in Math.Categories.TotalOrder

Methods

showsPrec :: Int -> IsSmallerThan a -> ShowS

show :: IsSmallerThan a -> String

showList :: [IsSmallerThan a] -> ShowS

Eq a => Eq (IsSmallerThan a) Source # 
Instance details

Defined in Math.Categories.TotalOrder

Methods

(==) :: IsSmallerThan a -> IsSmallerThan a -> Bool

(/=) :: IsSmallerThan a -> IsSmallerThan a -> Bool

Eq a => Morphism (IsSmallerThan a) a Source # 
Instance details

Defined in Math.Categories.TotalOrder

(Enum a, Ord a) => Category (OrdinalCategory a) (IsSmallerThan a) a Source # 
Instance details

Defined in Math.Categories.OrdinalCategory

(Eq a, Ord a) => Category (TotalOrder a) (IsSmallerThan a) a Source # 
Instance details

Defined in Math.Categories.TotalOrder

(Enum a, Ord a) => HasCoequalizers (OrdinalCategory a) (IsSmallerThan a) a Source # 
Instance details

Defined in Math.Categories.OrdinalCategory

Ord a => HasCoequalizers (TotalOrder a) (IsSmallerThan a) a Source # 
Instance details

Defined in Math.Categories.TotalOrder

(Enum a, Ord a) => HasEqualizers (OrdinalCategory a) (IsSmallerThan a) a Source # 
Instance details

Defined in Math.Categories.OrdinalCategory

Ord a => HasEqualizers (TotalOrder a) (IsSmallerThan a) a Source # 
Instance details

Defined in Math.Categories.TotalOrder

(Enum a, Ord a, Eq oIndex) => HasCoproducts (OrdinalCategory a) (IsSmallerThan a) a (OrdinalCategory a) (IsSmallerThan a) a oIndex Source # 
Instance details

Defined in Math.Categories.OrdinalCategory

(Ord a, Eq oIndex) => HasCoproducts (TotalOrder a) (IsSmallerThan a) a (TotalOrder a) (IsSmallerThan a) a oIndex Source # 
Instance details

Defined in Math.Categories.TotalOrder

Methods

coproduct :: Diagram (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (TotalOrder a) (IsSmallerThan a) a -> Cocone (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (TotalOrder a) (IsSmallerThan a) a Source #

(Enum a, Ord a, Eq oIndex) => HasProducts (OrdinalCategory a) (IsSmallerThan a) a (OrdinalCategory a) (IsSmallerThan a) a oIndex Source # 
Instance details

Defined in Math.Categories.OrdinalCategory

(Ord a, Eq oIndex) => HasProducts (TotalOrder a) (IsSmallerThan a) a (TotalOrder a) (IsSmallerThan a) a oIndex Source # 
Instance details

Defined in Math.Categories.TotalOrder

Methods

product :: Diagram (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (TotalOrder a) (IsSmallerThan a) a -> Cone (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (TotalOrder a) (IsSmallerThan a) a Source #

(Enum a, Ord a, Eq mIndex, Eq oIndex) => CocompleteCategory (OrdinalCategory a) (IsSmallerThan a) a (OrdinalCategory a) (IsSmallerThan a) a cIndex mIndex oIndex Source # 
Instance details

Defined in Math.Categories.OrdinalCategory

Methods

colimit :: Diagram cIndex mIndex oIndex (OrdinalCategory a) (IsSmallerThan a) a -> Cocone cIndex mIndex oIndex (OrdinalCategory a) (IsSmallerThan a) a Source #

coprojectBase :: Diagram cIndex mIndex oIndex (OrdinalCategory a) (IsSmallerThan a) a -> Diagram (OrdinalCategory a) (IsSmallerThan a) a (OrdinalCategory a) (IsSmallerThan a) a Source #

(Ord a, Eq mIndex, Eq oIndex) => CocompleteCategory (TotalOrder a) (IsSmallerThan a) a (TotalOrder a) (IsSmallerThan a) a cIndex mIndex oIndex Source # 
Instance details

Defined in Math.Categories.TotalOrder

Methods

colimit :: Diagram cIndex mIndex oIndex (TotalOrder a) (IsSmallerThan a) a -> Cocone cIndex mIndex oIndex (TotalOrder a) (IsSmallerThan a) a Source #

coprojectBase :: Diagram cIndex mIndex oIndex (TotalOrder a) (IsSmallerThan a) a -> Diagram (TotalOrder a) (IsSmallerThan a) a (TotalOrder a) (IsSmallerThan a) a Source #

(Enum a, Ord a, Eq mIndex, Eq oIndex) => CompleteCategory (OrdinalCategory a) (IsSmallerThan a) a (OrdinalCategory a) (IsSmallerThan a) a cIndex mIndex oIndex Source # 
Instance details

Defined in Math.Categories.OrdinalCategory

Methods

limit :: Diagram cIndex mIndex oIndex (OrdinalCategory a) (IsSmallerThan a) a -> Cone cIndex mIndex oIndex (OrdinalCategory a) (IsSmallerThan a) a Source #

projectBase :: Diagram cIndex mIndex oIndex (OrdinalCategory a) (IsSmallerThan a) a -> Diagram (OrdinalCategory a) (IsSmallerThan a) a (OrdinalCategory a) (IsSmallerThan a) a Source #

(Ord a, Eq mIndex, Eq oIndex) => CompleteCategory (TotalOrder a) (IsSmallerThan a) a (TotalOrder a) (IsSmallerThan a) a cIndex mIndex oIndex Source # 
Instance details

Defined in Math.Categories.TotalOrder

Methods

limit :: Diagram cIndex mIndex oIndex (TotalOrder a) (IsSmallerThan a) a -> Cone cIndex mIndex oIndex (TotalOrder a) (IsSmallerThan a) a Source #

projectBase :: Diagram cIndex mIndex oIndex (TotalOrder a) (IsSmallerThan a) a -> Diagram (TotalOrder a) (IsSmallerThan a) a (TotalOrder a) (IsSmallerThan a) a Source #

type Rep (IsSmallerThan a) Source # 
Instance details

Defined in Math.Categories.TotalOrder

type Rep (IsSmallerThan a) = D1 ('MetaData "IsSmallerThan" "Math.Categories.TotalOrder" "FiniteCategories-0.6.4.0-inplace" 'False) (C1 ('MetaCons "IsSmallerThan" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

type NumberCategory = InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural Source #

A NumberCategory is an InheritedFullSubcategory of Omega containing successive numbers beginning from one.

numberCategory :: Natural -> NumberCategory Source #

The NumberCategory associated to a given number.