| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
OAlg.Hom.Additive
Contents
Description
homomorphisms between Additive structures
Synopsis
- class (HomFibred h, Transformable (ObjectClass h) Add) => HomAdditive (h :: Type -> Type -> Type)
- class (DualisableFibred s o, Transformable s Add) => DualisableAdditive s (o :: Type -> Type)
- prpHomAdditive :: (HomAdditive h, Show2 h) => h x y -> XAdd x -> Statement
- prpHomAdd1 :: (HomAdditive h, Show2 h) => h a b -> Root a -> Statement
- prpHomAdd2 :: (HomAdditive h, Show2 h) => h a b -> Adbl2 a -> Statement
- prpDualisableAdditiveAdd1 :: forall s (o :: Type -> Type) q x. DualisableAdditive s o => q o -> Struct s x -> Root x -> Statement
- prpDualisableAdditiveAdd2 :: forall s (o :: Type -> Type) q x. DualisableAdditive s o => q o -> Struct s x -> Adbl2 x -> Statement
- prpHomDisjOpAdd :: Statement
Additive
class (HomFibred h, Transformable (ObjectClass h) Add) => HomAdditive (h :: Type -> Type -> Type) Source #
type family of homomorphisms between Additive structures.
Property Let h be a type instance of the class HomAdditive, then
for all a, b and f in h a b holds:
- For all
rinholds:Roota.amapf (zeror)==zero(rmapf r) - For all
xandyinawithholds:rootx==rooty.amapf (x+y) )==amapf x+amapf y
Such a h will be called a
family of homomorphisms between additive structures and an entity f of
h a b a additive homomorphism between a and
b.
Instances
| HomAdditive h => HomAdditive (Inv2 h) Source # | |
Defined in OAlg.Hom.Additive | |
| HomAdditive h => HomAdditive (Path h) Source # | |
Defined in OAlg.Hom.Additive | |
| (TransformableFbrOrt s, TransformableAdd s) => HomAdditive (Ornt s) Source # | |
Defined in OAlg.Data.Ornt | |
| (Semiring r, Commutative r) => HomAdditive (HomSymbol r) Source # | |
Defined in OAlg.Entity.Matrix.Vector | |
| (TransformableFbr s, TransformableAdd s) => HomAdditive (HomEmpty s) Source # | |
Defined in OAlg.Hom.Additive | |
| (TransformableAdd s, HomAdditive h) => HomAdditive (Sub s h) Source # | |
Defined in OAlg.Hom.Additive | |
| (DualisableDistributive s o, TransformableGRefl o s, TransformableGRefl Matrix s, TransformableDst s) => HomAdditive (HomCo Matrix s o) Source # | |
Defined in OAlg.Entity.Matrix.Definition | |
| (HomAdditive h, DualisableAdditive s o) => HomAdditive (HomDisj s o h) Source # | |
Defined in OAlg.Hom.Additive | |
| (HomAdditive h, Disjunctive2 h) => HomAdditive (Variant2 v h) Source # | |
Defined in OAlg.Hom.Additive | |
Duality
class (DualisableFibred s o, Transformable s Add) => DualisableAdditive s (o :: Type -> Type) Source #
duality according to o on Additive-structures
Properties Let then for all DualisableAdditive s o_x
and s in holds:Struct s x
- For all
rinholds:Rootx,toDualStkq s (zeror)==zero(toDualRtq s r) - For all
a,binxwithholds:roota==rootb.toDualStkq s (a+b)==toDualStkq s a+toDualStkq s b
where q is any proxy for o.
Note holds, because Dualisable s Op+ is commutative.
Instances
| (TransformableType s, TransformableFbrOrt s, TransformableOp s, TransformableAdd s) => DualisableAdditive s Op Source # | |
Defined in OAlg.Hom.Additive | |
Proposition
prpHomAdditive :: (HomAdditive h, Show2 h) => h x y -> XAdd x -> Statement Source #
validity according to HomAdditive.
prpHomAdd1 :: (HomAdditive h, Show2 h) => h a b -> Root a -> Statement Source #
validity according to OAlg.Hom.Additive.
prpHomAdd2 :: (HomAdditive h, Show2 h) => h a b -> Adbl2 a -> Statement Source #
validity according to OAlg.Hom.Additive.
prpDualisableAdditiveAdd1 :: forall s (o :: Type -> Type) q x. DualisableAdditive s o => q o -> Struct s x -> Root x -> Statement Source #
validity according to DualisableAdditive, property 1.
prpDualisableAdditiveAdd2 :: forall s (o :: Type -> Type) q x. DualisableAdditive s o => q o -> Struct s x -> Adbl2 x -> Statement Source #
validity according to DualisableAdditive, property 2.
prpHomDisjOpAdd :: Statement Source #
validity of according to HomDisjEmpty Add OpHomAdditive.