oalg-base-3.0.0.0: Algebraic structures on oriented entities and limits as a tool kit to solve algebraic problems.
Copyright(c) Erich Gut
LicenseBSD3
Maintainerzerich.gut@gmail.com
Safe HaskellNone
LanguageHaskell2010

OAlg.Limes.EqualizersAndCoequalizers

Description

equalizers and coequalizers, i.e. limits of Diagram (Parallel d).

Synopsis

Equalizers

type Equalizers (n :: N') = EqualizersG Cone Diagram n Source #

equalizers for a Multiplicative structures.

type EqualizersG (c :: Type -> Perspective -> (DiagramType -> N' -> N' -> Type -> Type) -> DiagramType -> N' -> N' -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (n :: N') = LimitsG c Mlt 'Projective d ('Parallel 'LeftToRight) N2 n Source #

generic equalizers for a Multiplicative structures.

type Equalizer (n :: N') = EqualizerG Cone Diagram n Source #

equalizer as Limes.

type EqualizerG (c :: Type -> Perspective -> (DiagramType -> N' -> N' -> Type -> Type) -> DiagramType -> N' -> N' -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (n :: N') = LimesG c Mlt 'Projective d ('Parallel 'LeftToRight) N2 n Source #

generic equalizer as LimesG.

type EqualizerCone (n :: N') = EqualizerConic Cone Diagram n Source #

Cone for a equalizer.

type EqualizerConic (c :: Type -> Perspective -> (DiagramType -> N' -> N' -> Type -> Type) -> DiagramType -> N' -> N' -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (n :: N') = c Mlt 'Projective d ('Parallel 'LeftToRight) N2 n Source #

Conic object for a equalizer.

type EqualizerDiagrammatic (d :: DiagramType -> N' -> N' -> Type -> Type) (n :: N') = d ('Parallel 'LeftToRight) N2 n Source #

Diagrammatic object for a equalizer.

Construction

equalizers :: forall x (n :: N'). Multiplicative x => Products N2 x -> Equalizers N2 x -> Equalizers n x Source #

equalizers of n arrows given by products of two points and equalizers of two arrows.

equalizers0 :: Multiplicative x => Products N2 x -> Equalizers N0 x Source #

the induced equalizers of zero parallel arrows.

equalizers1 :: Multiplicative x => Equalizers N1 x Source #

equalizers of one parallel arrow, i.e. Minima.

equalizers2 :: forall x (n :: N'). Multiplicative x => Equalizers N2 x -> Equalizers (n + 2) x Source #

promoting equalizers.

Orientation

equalizersOrnt :: forall p (n :: N'). Entity p => p -> Equalizers n (Orientation p) Source #

equalizers for Orientation

Coequalizers

type Coequalizers (n :: N') = CoequalizersG Cone Diagram n Source #

coequalizers for a Multiplicative structures.

type CoequalizersG (c :: Type -> Perspective -> (DiagramType -> N' -> N' -> Type -> Type) -> DiagramType -> N' -> N' -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (n :: N') = LimitsG c Mlt 'Injective d ('Parallel 'RightToLeft) N2 n Source #

generic coequalizers for a Multiplicative structures.

type Coequalizer (n :: N') = CoequalizerG Cone Diagram n Source #

coequalizer as Limes.

type CoequalizerG (c :: Type -> Perspective -> (DiagramType -> N' -> N' -> Type -> Type) -> DiagramType -> N' -> N' -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (n :: N') = LimesG c Mlt 'Injective d ('Parallel 'RightToLeft) N2 n Source #

generic coequalizer as LimesG.

type CoequalizerCone (n :: N') = CoequalizerConic Cone Diagram n Source #

Cone for a coequalizer.

type CoequalizerConic (c :: Type -> Perspective -> (DiagramType -> N' -> N' -> Type -> Type) -> DiagramType -> N' -> N' -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (n :: N') = c Mlt 'Injective d ('Parallel 'RightToLeft) N2 n Source #

Conic object for a coequalizer.

type CoequalizerDiagrammatic (d :: DiagramType -> N' -> N' -> Type -> Type) (n :: N') = d ('Parallel 'RightToLeft) N2 n Source #

Diagrammatic object for a coequalizer.

Construction

coequalizers :: forall x (n :: N'). Multiplicative x => Sums N2 x -> Coequalizers N2 x -> Coequalizers n x Source #

coequalizers of n arrows given by sums of two points and coequalizers of two arrows.

coequalizers' :: forall x p (n :: N'). Multiplicative x => p n -> Sums N2 x -> Coequalizers N2 x -> Coequalizers n x Source #

coequalizers given by a proxy for n.

Orientation

coequalizersOrnt :: forall p (n :: N'). Entity p => p -> Coequalizers n (Orientation p) Source #

coequalizers for Orientation.