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

Math.FiniteCategories.ExponentialCategory

Description

(FinCat ExponentialCategory) is the category in which live the exponential objects of FinCat with the original categories. To compute exponential objects in a usual category, see Math.CartesianClosedCategory. To compute exponential objects in a custom FiniteCategory, see exponentialObjects in Math.CartesianClosedCategory.

Synopsis

Exponential category

Object

data ExponentialCategoryObject c m o Source #

An object in an ExponentialCategory. It is either a ExprojectedObject in an original category or a ExponentialElementObject.

Constructors

ExprojectedObject o

An ExprojectedObject is an object o.

ExponentialElementObject (FinFunctor c m o)

The exponential elemets in Cat are functors.

Instances

Instances details
(PrettyPrint o, PrettyPrint c, PrettyPrint m, Eq o, Eq m) => PrettyPrint (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(Simplifiable o, Simplifiable c, Simplifiable m, Eq o, Eq m) => Simplifiable (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

Generic (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

Associated Types

type Rep (ExponentialCategoryObject c m o) :: Type -> Type #

(Show o, Show c, Show m) => Show (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(Eq o, Eq c, Eq m, FiniteCategory c m o, Morphism m o) => Eq (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(FiniteCategory c m o, Morphism m o, Eq c, Eq m, Eq o) => Morphism (ExponentialCategoryMorphism c m o) (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(FiniteCategory c m o, Morphism m o, Eq c, Eq m, Eq o) => Category (ExponentialCategory c m o) (ExponentialCategoryMorphism c m o) (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(FiniteCategory c m o, Morphism m o, Eq c, Eq m, Eq o) => FiniteCategory (ExponentialCategory c m o) (ExponentialCategoryMorphism c m o) (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

type Rep (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

type Rep (ExponentialCategoryObject c m o) = D1 ('MetaData "ExponentialCategoryObject" "Math.FiniteCategories.ExponentialCategory" "FiniteCategories-0.6.0.1-L2v014CZIYe4CTCeXkyH5k" 'False) (C1 ('MetaCons "ExprojectedObject" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 o)) :+: C1 ('MetaCons "ExponentialElementObject" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FinFunctor c m o))))

Morphism

data ExponentialCategoryMorphism c m o Source #

A morphism in an ExponentialCategory. It is either a ExprojectedMorphism in an original category or an ExponentialElementMorphism.

Instances

Instances details
(PrettyPrint m, PrettyPrint c, PrettyPrint o, Eq o, Eq m) => PrettyPrint (ExponentialCategoryMorphism c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(Simplifiable m, Simplifiable c, Simplifiable o, Eq o, Eq m) => Simplifiable (ExponentialCategoryMorphism c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

Generic (ExponentialCategoryMorphism c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

Associated Types

type Rep (ExponentialCategoryMorphism c m o) :: Type -> Type #

(Show m, Show c, Show o) => Show (ExponentialCategoryMorphism c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(Eq m, Eq c, Eq o, FiniteCategory c m o, Morphism m o) => Eq (ExponentialCategoryMorphism c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(FiniteCategory c m o, Morphism m o, Eq c, Eq m, Eq o) => Morphism (ExponentialCategoryMorphism c m o) (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(FiniteCategory c m o, Morphism m o, Eq c, Eq m, Eq o) => Category (ExponentialCategory c m o) (ExponentialCategoryMorphism c m o) (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(FiniteCategory c m o, Morphism m o, Eq c, Eq m, Eq o) => FiniteCategory (ExponentialCategory c m o) (ExponentialCategoryMorphism c m o) (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

type Rep (ExponentialCategoryMorphism c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

type Rep (ExponentialCategoryMorphism c m o) = D1 ('MetaData "ExponentialCategoryMorphism" "Math.FiniteCategories.ExponentialCategory" "FiniteCategories-0.6.0.1-L2v014CZIYe4CTCeXkyH5k" 'False) (C1 ('MetaCons "ExprojectedMorphism" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m)) :+: C1 ('MetaCons "ExponentialElementMorphism" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NaturalTransformation c m o c m o))))

Category

data ExponentialCategory c m o Source #

An ExponentialCategory is either an ExprojectedCategory (an original category) or an ExponentialCategory.

Constructors

ExprojectedCategory c

An original category in FinCat.

ExponentialCategory (FunctorCategory c m o c m o)

The exponential category of a given 2-base is a FunctorCategory.

Instances

Instances details
PrettyPrint c => PrettyPrint (ExponentialCategory c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

Simplifiable c => Simplifiable (ExponentialCategory c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

Generic (ExponentialCategory c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

Associated Types

type Rep (ExponentialCategory c m o) :: Type -> Type #

Show c => Show (ExponentialCategory c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

Eq c => Eq (ExponentialCategory c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(FiniteCategory c m o, Morphism m o, Eq c, Eq m, Eq o) => Category (ExponentialCategory c m o) (ExponentialCategoryMorphism c m o) (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

(FiniteCategory c m o, Morphism m o, Eq c, Eq m, Eq o) => FiniteCategory (ExponentialCategory c m o) (ExponentialCategoryMorphism c m o) (ExponentialCategoryObject c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

type Rep (ExponentialCategory c m o) Source # 
Instance details

Defined in Math.FiniteCategories.ExponentialCategory

type Rep (ExponentialCategory c m o) = D1 ('MetaData "ExponentialCategory" "Math.FiniteCategories.ExponentialCategory" "FiniteCategories-0.6.0.1-L2v014CZIYe4CTCeXkyH5k" 'False) (C1 ('MetaCons "ExprojectedCategory" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 c)) :+: C1 ('MetaCons "ExponentialCategory" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FunctorCategory c m o c m o))))

Cartesian category type

Object

type CartesianObject c m o = TwoProductOfCategoriesObject (ExponentialCategory c m o) (ExponentialCategoryMorphism c m o) (ExponentialCategoryObject c m o) Source #

An object in CartesianCategory.

Morphism

type CartesianMorphism c m o = TwoProductOfCategoriesMorphism (ExponentialCategory c m o) (ExponentialCategoryMorphism c m o) (ExponentialCategoryObject c m o) Source #

A morphism in CartesianCategory.

Category

type CartesianCategory c m o = TwoProductOfCategories (ExponentialCategory c m o) (ExponentialCategoryMorphism c m o) (ExponentialCategoryObject c m o) Source #

The type of the category containing categories and their exponential objects.