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

Math.FiniteCategories.DiscreteTwo

Description

The DiscreteTwo category contains two objects and their identities.

You can construct it using DiscreteCategory, it is defined as a standalone category because it is often used unlike other discrete categories.

Synopsis

Documentation

data DiscreteTwoOb Source #

DiscreteTwoOb is a datatype used as the object type and the morphism type.

It has two constructors A and B.

Constructors

A 
B 

Instances

Instances details
PrettyPrint DiscreteTwoOb Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Methods

pprint :: Int -> DiscreteTwoOb -> String Source #

pprintWithIndentations :: Int -> Int -> String -> DiscreteTwoOb -> String Source #

pprintIndent :: Int -> DiscreteTwoOb -> String Source #

Simplifiable DiscreteTwoOb Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Generic DiscreteTwoOb Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Associated Types

type Rep DiscreteTwoOb :: Type -> Type

Show DiscreteTwoOb Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Methods

showsPrec :: Int -> DiscreteTwoOb -> ShowS

show :: DiscreteTwoOb -> String

showList :: [DiscreteTwoOb] -> ShowS

Eq DiscreteTwoOb Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Morphism DiscreteTwoOb DiscreteTwoOb Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Category DiscreteTwo DiscreteTwoOb DiscreteTwoOb Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

FiniteCategory DiscreteTwo DiscreteTwoOb DiscreteTwoOb Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Eq a => CartesianClosedCategory (FinSet a) (Function a) (Set a) (FinSet (TwoProduct a)) (Function (TwoProduct a)) (Set (TwoProduct a)) (FinSet (Cartesian a)) (Function (Cartesian a)) (Set (Cartesian a)) Source # 
Instance details

Defined in Math.Categories.FinSet

type Rep DiscreteTwoOb Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

type Rep DiscreteTwoOb = D1 ('MetaData "DiscreteTwoOb" "Math.FiniteCategories.DiscreteTwo" "FiniteCategories-0.6.4.0-inplace" 'False) (C1 ('MetaCons "A" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "B" 'PrefixI 'False) (U1 :: Type -> Type))

type DiscreteTwoAr = DiscreteTwoOb Source #

There are two identities corresponding to A and B.

data DiscreteTwo Source #

DiscreteTwo is a datatype used as category type.

Constructors

DiscreteTwo 

Instances

Instances details
PrettyPrint DiscreteTwo Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Methods

pprint :: Int -> DiscreteTwo -> String Source #

pprintWithIndentations :: Int -> Int -> String -> DiscreteTwo -> String Source #

pprintIndent :: Int -> DiscreteTwo -> String Source #

Simplifiable DiscreteTwo Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Generic DiscreteTwo Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Associated Types

type Rep DiscreteTwo :: Type -> Type

Methods

from :: DiscreteTwo -> Rep DiscreteTwo x

to :: Rep DiscreteTwo x -> DiscreteTwo

Show DiscreteTwo Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Methods

showsPrec :: Int -> DiscreteTwo -> ShowS

show :: DiscreteTwo -> String

showList :: [DiscreteTwo] -> ShowS

Eq DiscreteTwo Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

Methods

(==) :: DiscreteTwo -> DiscreteTwo -> Bool

(/=) :: DiscreteTwo -> DiscreteTwo -> Bool

Category DiscreteTwo DiscreteTwoOb DiscreteTwoOb Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

FiniteCategory DiscreteTwo DiscreteTwoOb DiscreteTwoOb Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

type Rep DiscreteTwo Source # 
Instance details

Defined in Math.FiniteCategories.DiscreteTwo

type Rep DiscreteTwo = D1 ('MetaData "DiscreteTwo" "Math.FiniteCategories.DiscreteTwo" "FiniteCategories-0.6.4.0-inplace" 'False) (C1 ('MetaCons "DiscreteTwo" 'PrefixI 'False) (U1 :: Type -> Type))

twoDiagram :: (Category c m o, Morphism m o) => c -> o -> o -> Diagram DiscreteTwo DiscreteTwoAr DiscreteTwoOb c m o Source #

Constructs a diagram from DiscreteTwo to another category.