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.Cone.ZeroHead

Contents

Description

cones having a zero for its first arrow.

Synopsis

Documentation

data ConeZeroHead s (p :: Perspective) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') x where Source #

predicate for cones where the first arrow of its underlying diagram is equal to zero.

Constructors

ConeZeroHead :: forall x s (p :: Perspective) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m1 :: N'). Distributive x => Cone s p d t n (m1 + 1) x -> ConeZeroHead s p d t n (m1 + 1) x 

Instances

Instances details
Conic ConeZeroHead Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Core

Methods

cone :: forall s (p :: Perspective) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') x. ConeZeroHead s p d t n m x -> Cone s p d t n m x Source #

(HomDistributiveDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => NaturalConic h ConeZeroHead Mlt p d t n m Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

(HomDistributiveDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => NaturalTransformable h (->) (SDualBi (ConeG ConeZeroHead Mlt p d t n m)) (SDualBi (ConeG Cone Mlt p d t n m)) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

(HomDistributiveDisjunctive h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => ApplicativeG (SDualBi (ConeG ConeZeroHead s p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

Methods

amapG :: h x y -> SDualBi (ConeG ConeZeroHead s p d t n m) x -> SDualBi (ConeG ConeZeroHead s p d t n m) y Source #

(HomDistributiveDisjunctive h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => ApplicativeG (SDualBi (ConeZeroHead s p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

Methods

amapG :: h x y -> SDualBi (ConeZeroHead s p d t n m) x -> SDualBi (ConeZeroHead s p d t n m) y Source #

(HomDistributiveDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => FunctorialG (SDualBi (ConeG ConeZeroHead s p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

(HomDistributiveDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => FunctorialG (SDualBi (ConeZeroHead s p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

Show (d t n ('S m) x) => Show (ConeZeroHead s p d t n ('S m) x) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Core

Methods

showsPrec :: Int -> ConeZeroHead s p d t n ('S m) x -> ShowS #

show :: ConeZeroHead s p d t n ('S m) x -> String #

showList :: [ConeZeroHead s p d t n ('S m) x] -> ShowS #

Eq (d t n ('S m) x) => Eq (ConeZeroHead s p d t n ('S m) x) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Core

Methods

(==) :: ConeZeroHead s p d t n ('S m) x -> ConeZeroHead s p d t n ('S m) x -> Bool #

(/=) :: ConeZeroHead s p d t n ('S m) x -> ConeZeroHead s p d t n ('S m) x -> Bool #

(Diagrammatic d, Validable (d t n ('S m) x)) => Validable (ConeZeroHead s p d t n ('S m) x) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Core

Methods

valid :: ConeZeroHead s p d t n ('S m) x -> Statement Source #

type Dual1 (ConeZeroHead s p d t n m :: Type -> Type) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

type Dual1 (ConeZeroHead s p d t n m :: Type -> Type) = ConeZeroHead s (Dual p) d (Dual t) n m

cnZeroHead :: forall (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') a. Cone Dst p Diagram t n m a -> ConeZeroHead Mlt p Diagram t n (m + 1) a Source #

embedding of a cone in a distributive structure to its multiplicative cone.

cnKernel :: forall (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') a. (p ~ 'Projective, t ~ 'Parallel 'LeftToRight) => ConeZeroHead Mlt p Diagram t n (m + 1) a -> Cone Dst p Diagram t n m a Source #

the kernel cone of a zero headed parallel cone, i.e. the inverse of cnZeroHead.

cnCokernel :: forall (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') a. (p ~ 'Injective, t ~ 'Parallel 'RightToLeft, n ~ N2) => ConeZeroHead Mlt p Diagram t n (m + 1) a -> Cone Dst p Diagram t n m a Source #

the cokernel cone of a zero headed parallel cone, i.e. the inverse of cnZeroHead.

cnDiffHead :: forall a (p :: Perspective) (d :: Direction) (n :: N') (m :: N'). (Distributive a, Abelian a) => Cone Mlt p Diagram ('Parallel d) n (m + 1) a -> ConeZeroHead Mlt p Diagram ('Parallel d) n (m + 1) a Source #

subtracts to every arrow of the underlying parallel diagram the first arrow and adapts the shell accordingly.

Duality