oalg-base-1.1.4.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 HaskellSafe-Inferred
LanguageHaskell2010

OAlg.Structure.Distributive.Definition

Description

distributive structures, i.e. multiplicative structures with a suitable additive structure.

Synopsis

Distributive

class (FibredOriented d, Additive d, Multiplicative d) => Distributive d Source #

FibredOriented structures equipped with an Additive and Multiplicative structure satisfying the laws of distributivity.

Properties Let d be a Distributive structure, then holds:

  1. For all g in d and r in Root d with end g == start r holds: zero r * g == zero r' where r' == start g :> end r.
  2. For all g, a and b in d with root a == root b and start a == end g holds: (a + b) * g == a*g + b*g.
  3. For all f in d and r in Root d with start f == end r holds: f * zero r == zero r' where r' = start r :> end f.
  4. For all f, a and b in d with root a == root b and start f == end a holds: f*(a + b) == f*a + f*b.

Note If d is interpreted as a small category C then it is usually called preadditive. If d is also Abelian then C is also usually called abelian.

data Dst Source #

type representing the class of Distributive structures.

Instances

Instances details
ForgetfulAdd Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

ForgetfulTyp Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

TransformableOp Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

ForgetfulDst Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

ForgetfulFbr Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

ForgetfulFbrOrt Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

ForgetfulMlt Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

ForgetfulOrt Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Transformable Dst Ent Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct Ent x Source #

Transformable Dst Add Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct Add x Source #

Transformable Dst Typ Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct Typ x Source #

Transformable Dst Fbr Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct Fbr x Source #

Transformable Dst FbrOrt Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct FbrOrt x Source #

Transformable Dst Mlt Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct Mlt x Source #

Transformable Dst Ort Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau :: Struct Dst x -> Struct Ort x Source #

Transformable1 Op Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

Methods

tau1 :: Struct Dst x -> Struct Dst (Op x) Source #

HomDistributive h => Applicative1 h (Cone Dst p t n m) Source # 
Instance details

Defined in OAlg.Limes.Cone.Definition

Methods

amap1 :: h a b -> Cone Dst p t n m a -> Cone Dst p t n m b Source #

IsoDistributive h => Applicative1 h (Limits Dst p t n m) Source # 
Instance details

Defined in OAlg.Limes.Limits

Methods

amap1 :: h a b -> Limits Dst p t n m a -> Limits Dst p t n m b Source #

EmbeddableMorphism h Dst => EmbeddableMorphism (OpHom h) Dst Source # 
Instance details

Defined in OAlg.Hom.Oriented.Definition

Transformable (Alg k) Dst Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Methods

tau :: Struct (Alg k) x -> Struct Dst x Source #

(Distributive a, XStandardOrtPerspective p a, Typeable p, Typeable t, Typeable n, Typeable m) => Validable (LimesFree Dst p t n m a) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

Methods

valid :: LimesFree Dst p t n m a -> Statement Source #

(Distributive a, XStandardOrtPerspective p a, Typeable p, Typeable t, Typeable n, Typeable m) => Validable (Limes Dst p t n m a) Source # 
Instance details

Defined in OAlg.Limes.Definition

Methods

valid :: Limes Dst p t n m a -> Statement Source #

(Distributive a, XStandard (Diagram t n m a), XStandardOrtPerspective p a) => Validable (Limits Dst p t n m a) Source # 
Instance details

Defined in OAlg.Limes.Limits

Methods

valid :: Limits Dst p t n m a -> Statement Source #

(Entity p, t ~ 'Parallel 'RightToLeft, n ~ N2, XStandard p, XStandard (Diagram t n m (Orientation p))) => XStandard (Cone Dst 'Injective t n m (Orientation p)) Source # 
Instance details

Defined in OAlg.Limes.Cone.Definition

Methods

xStandard :: X (Cone Dst 'Injective t n m (Orientation p)) Source #

(Entity p, t ~ 'Parallel 'LeftToRight, n ~ N2, XStandard p, XStandard (Diagram t n m (Orientation p))) => XStandard (Cone Dst 'Projective t n m (Orientation p)) Source # 
Instance details

Defined in OAlg.Limes.Cone.Definition

Methods

xStandard :: X (Cone Dst 'Projective t n m (Orientation p)) Source #

(Distributive a, XStandardOrtPerspective p a, Typeable p, Typeable t, Typeable n, Typeable m) => Entity (Limes Dst p t n m a) Source # 
Instance details

Defined in OAlg.Limes.Definition

type Hom Dst h Source # 
Instance details

Defined in OAlg.Hom.Distributive

type Structure Dst x Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

class (ForgetfulOrt s, ForgetfulMlt s, ForgetfulFbr s, ForgetfulAdd s, ForgetfulFbrOrt s, Transformable s Dst) => ForgetfulDst s Source #

transformable to Distributive structure.

Instances

Instances details
ForgetfulDst Dst Source # 
Instance details

Defined in OAlg.Structure.Distributive.Definition

ForgetfulDst (Alg k) Source # 
Instance details

Defined in OAlg.Structure.Algebraic.Definition

Transposable

class (TransposableMultiplicative d, Distributive d) => TransposableDistributive d Source #

transposable distributive structures.

Property Let d be a TransposableDistributive structure, then holds:

  1. For all r in Root d holds: transpose (zero r) == zero (transpose r)
  2. For all a, b in d with root a == root b holds: transpose (a + b) == transpose a + transpose b.