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.Hom.Multiplicative.Definition

Description

definition of homomorphisms between Multiplicative structures.

Synopsis

Multiplicative

class (EmbeddableMorphism h Mlt, HomOriented h) => HomMultiplicative h Source #

type family of homomorphisms between Multiplicative structures.

Propoerty Let h be a type instance of the class HomMultiplicative, then for all a, b and f in h a b holds:

  1. For all p in Point a holds: amap f (one p) == one (pmap f p).
  2. For all x, y in a with start x == end y holds: amap f (x * y) == amap f x * amap f y.

Such a h will be called a family of homomorphisms between multiplicative structures and an entity f of h a b a multiplicative homomorphism between a and b.

Note If we interpret the types a and b as small categories (see note at Multiplicative) then we can interpret the type family h as a family of covariant functors.

Instances

Instances details
HomMultiplicative GLApp Source # 
Instance details

Defined in OAlg.Entity.Matrix.GeneralLinearGroup

HomMultiplicative h => HomMultiplicative (Path h) Source # 
Instance details

Defined in OAlg.Hom.Multiplicative.Definition

Typeable s => HomMultiplicative (SliceFactorDrop s) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

(TransformableOp s, ForgetfulMlt s, ForgetfulTyp s, Typeable s) => HomMultiplicative (HomOp s) Source # 
Instance details

Defined in OAlg.Hom.Multiplicative.Definition

(TransformableOp s, ForgetfulMlt s, ForgetfulTyp s, Typeable s) => HomMultiplicative (IdHom s) Source # 
Instance details

Defined in OAlg.Hom.Multiplicative.Definition

(TransformableOp s, ForgetfulMlt s, ForgetfulTyp s, Typeable s) => HomMultiplicative (IsoOp s) Source # 
Instance details

Defined in OAlg.Hom.Multiplicative.Definition

HomMultiplicative h => HomMultiplicative (OpHom h) Source # 
Instance details

Defined in OAlg.Hom.Multiplicative.Definition

(HomMultiplicative h, Transformable1 Op t, ForgetfulMlt t, ForgetfulTyp t, Typeable t) => HomMultiplicative (Forget t h) Source # 
Instance details

Defined in OAlg.Hom.Multiplicative.Definition

(Distributive c, SliceCokernelTo i c, SliceKernelFrom i c) => HomMultiplicative (SliceCokernelKernel i c) Source # 
Instance details

Defined in OAlg.Entity.Slice.Adjunction

(TransformableOp s, ForgetfulDst s, ForgetfulTyp s, Typeable s) => HomMultiplicative (IsoOpMap Matrix s) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

(TransformableOp s, ForgetfulDst s, ForgetfulTyp s, Typeable s) => HomMultiplicative (OpMap Matrix s) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

type IsoMultiplicative h = (FunctorialHomOriented h, Cayleyan2 h, HomMultiplicative h) Source #

isomorphisms between Multiplicative structures.

OpHom

isoFromOpOpMlt :: Multiplicative a => IsoOp Mlt (Op (Op a)) a Source #

the induced isomorphism of Multiplicative structures given by FromOpOp.

isoOppositeMlt :: Entity p => IsoOp Mlt (Op (Orientation p)) (Orientation p) Source #

the induced isomorphism of Oriented structures given by Opposite.