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.Exact.ConsecutiveZero

Description

chain diagrams with consecutive zero arrows.

Synopsis

Consecutive Zero

newtype ConsecutiveZero (t :: Site) (n :: N') x Source #

chain diagrams with consecutive zero arrows.

Properties Let ConsecutiveZero c be in ConsecutiveZero t n x for a Distributive structure x, then holds:

  1. If c matches DiagramChainTo _ ds then holds: d * d' is zero for all ..d:|d'.. in ds.
  2. If c matches DiagramChainFrom _ ds then holds: d' * d is zero for all ..d:|d'.. in ds.

Constructors

ConsecutiveZero (Diagram ('Chain t) (n + 3) (n + 2) x) 

Instances

Instances details
(HomDistributiveDisjunctive h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (ConsecutiveZero t n)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

Methods

amapG :: h x y -> SDualBi (ConsecutiveZero t n) x -> SDualBi (ConsecutiveZero t n) y Source #

(HomDistributiveDisjunctive h, t ~ Dual (Dual t), FunctorialOriented h) => FunctorialG (SDualBi (ConsecutiveZero t n)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(ShowPoint x, Show x) => Show (ConsecutiveZero t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(EqPoint x, Eq x) => Eq (ConsecutiveZero t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

Methods

(==) :: ConsecutiveZero t n x -> ConsecutiveZero t n x -> Bool #

(/=) :: ConsecutiveZero t n x -> ConsecutiveZero t n x -> Bool #

Distributive x => Validable (ConsecutiveZero t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

type Dual1 (ConsecutiveZero t n :: Type -> Type) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

cnzSite :: forall (t :: Site) (n :: N') x. ConsecutiveZero t n x -> Either (t :~: 'From) (t :~: 'To) Source #

proof that the site is either From or To.

cnzDiagram :: forall (t :: Site) (n :: N') x. ConsecutiveZero t n x -> Diagram ('Chain t) (n + 3) (n + 2) x Source #

the underlying chain diagram.

cnzPoints :: forall x (t :: Site) (n :: N'). Oriented x => ConsecutiveZero t n x -> FinList (n + 3) (Point x) Source #

the points according to its underlying diagram.

cnzArrows :: forall (t :: Site) (n :: N') x. ConsecutiveZero t n x -> FinList (n + 2) x Source #

the arrows according to its underlying diagram.

cnzHead :: forall x (t :: Site) (n :: N'). Distributive x => ConsecutiveZero t n x -> ConsecutiveZero t N0 x Source #

the two first arrows as a ConsecutiveZero.

cnzTail :: forall d (t :: Site) (n :: N'). Distributive d => ConsecutiveZero t (n + 1) d -> ConsecutiveZero t n d Source #

dropping the first arrow.

Duality

cnzMapS :: forall h (t :: Site) x y (n :: N'). (HomDistributiveDisjunctive h, t ~ Dual (Dual t)) => h x y -> SDualBi (ConsecutiveZero t n) x -> SDualBi (ConsecutiveZero t n) y Source #

mapping of ConsecutiveZero.

cnzMapCov :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Covariant h x y -> ConsecutiveZero t n x -> ConsecutiveZero t n y Source #

covariant mapping of ConsecutiveZero.

cnzMapCnt :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Contravariant h x y -> ConsecutiveZero t n x -> ConsecutiveZero (Dual t) n y Source #

contravariant mapping of ConsecutiveZero.

Consecutive Zero Hom

newtype ConsecutiveZeroHom (t :: Site) (n :: N') x Source #

homomorphism between two consecutive zero chains.

Property Let ConsecutiveZeroHom t be in ConsecutiveZeroHom t n x within a Distributive structure x, then holds

  1. start t and end t are consecutive zero chains.

Constructors

ConsecutiveZeroHom (DiagramTrafo ('Chain t) (n + 3) (n + 2) x) 

Instances

Instances details
(HomDistributiveDisjunctive h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (ConsecutiveZeroHom t n)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

Methods

amapG :: h x y -> SDualBi (ConsecutiveZeroHom t n) x -> SDualBi (ConsecutiveZeroHom t n) y Source #

(HomDistributiveDisjunctive h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (ConsecutiveZeroHom t n)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(ShowPoint x, Show x) => Show (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(EqPoint x, Eq x) => Eq (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Distributive x, Typeable t, Typeable n) => Validable (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Distributive x, Abelian x, Typeable t, Typeable n) => Abelian (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Distributive x, Typeable t, Typeable n) => Additive (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Algebraic x, Typeable t, Typeable n) => Algebraic (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Distributive x, Typeable t, Typeable n) => Distributive (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Distributive x, Typeable t, Typeable n) => Fibred (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Eq x, EqPoint x) => EqRoot (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Show x, ShowPoint x) => ShowRoot (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Typeable x, Typeable t, Typeable n) => TypeableRoot (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

Distributive x => ValidableRoot (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Distributive x, Typeable t, Typeable n) => FibredOriented (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Distributive x, Typeable t, Typeable n) => Multiplicative (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Distributive x, Typeable t, Typeable n) => Oriented (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Eq x, EqPoint x) => EqPoint (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Show x, ShowPoint x) => ShowPoint (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Typeable x, Typeable t, Typeable n) => TypeablePoint (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

Distributive x => ValidablePoint (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

(Algebraic x, Typeable t, Typeable n) => Vectorial (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

Associated Types

type Scalar (ConsecutiveZeroHom t n x) 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

type Dual1 (ConsecutiveZeroHom t n :: Type -> Type) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

type Root (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

type Point (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

type Scalar (ConsecutiveZeroHom t n x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero

cnzHomSite :: forall (t :: Site) (n :: N') x. ConsecutiveZeroHom t n x -> Either (t :~: 'From) (t :~: 'To) Source #

proof that the site is either From or To.

cnzHomArrows :: forall (t :: Site) (n :: N') x. ConsecutiveZeroHom t n x -> FinList (n + 3) x Source #

the underlying arrows.

cnzHomHead :: forall x (t :: Site) (n :: N'). Distributive x => ConsecutiveZeroHom t n x -> ConsecutiveZeroHom t N0 x Source #

the first two arrows of the given ConsecutiveZeroHom.

cnzHomTail :: forall x (t :: Site) (n :: N'). Distributive x => ConsecutiveZeroHom t (n + 1) x -> ConsecutiveZeroHom t n x Source #

dropping the first arrow.

Duality

cnzHomMapS :: forall h (t :: Site) x y (n :: N'). (HomDistributiveDisjunctive h, t ~ Dual (Dual t)) => h x y -> SDualBi (ConsecutiveZeroHom t n) x -> SDualBi (ConsecutiveZeroHom t n) y Source #

mapping of ConsecutiveZeroHom.

cnzHomMapCov :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Covariant h x y -> ConsecutiveZeroHom t n x -> ConsecutiveZeroHom t n y Source #

covariant mapping of ConsecutiveZeroHom.

cnzHomMapCnt :: forall (h :: Type -> Type -> Type) x y (t :: Site) (n :: N'). HomDistributiveDisjunctive h => Variant2 'Contravariant h x y -> ConsecutiveZeroHom t n x -> ConsecutiveZeroHom (Dual t) n y Source #

contravariant mapping of ConsecutiveZeroHom.

X

xSomeConsecutiveZeroHomOrnt :: N -> X (SomeConsecutiveZeroHom OS) Source #

random variable for ConsecutiveZeroHom t n OS with a maximal n of the given one.

data SomeConsecutiveZeroHom x where Source #

Constructors

SomeConsecutiveZeroHom :: forall (t :: Site) (n :: N') x. (Typeable t, Attestable n) => ConsecutiveZeroHom t n x -> SomeConsecutiveZeroHom x 

Instances

Instances details
Distributive x => Validable (SomeConsecutiveZeroHom x) Source # 
Instance details

Defined in OAlg.Limes.Exact.ConsecutiveZero