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.Hom.Fibred

Description

definition of homomorphisms between Fibred structures

Synopsis

Fibred

class (Morphism h, Applicative h, ApplicativeRoot h, Transformable (ObjectClass h) Fbr) => HomFibred (h :: Type -> Type -> Type) Source #

homomorphisms between Fibred structures.

Property Let HomFibred h, then for all x, y and h in h x y holds:

  1. root . amap h .=. rmap h . root.

Instances

Instances details
HomFibred h => HomFibred (Inv2 h) Source # 
Instance details

Defined in OAlg.Hom.Fibred

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

Defined in OAlg.Hom.Fibred

TransformableFbrOrt s => HomFibred (Ornt s) Source # 
Instance details

Defined in OAlg.Data.Ornt

(Semiring r, Commutative r) => HomFibred (HomSymbol r) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Vector

TransformableFbr s => HomFibred (HomEmpty s) Source # 
Instance details

Defined in OAlg.Hom.Fibred

(Transformable s Fbr, HomFibred h) => HomFibred (Sub s h) Source # 
Instance details

Defined in OAlg.Hom.Fibred

(TransformableGRefl o s, DualisableDistributive s o, TransformableGRefl Matrix s, TransformableDst s) => HomFibred (HomCo Matrix s o) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

(HomFibred h, DualisableFibred s o) => HomFibred (HomDisj s o h) Source # 
Instance details

Defined in OAlg.Hom.Fibred

(HomFibred h, Disjunctive2 h) => HomFibred (Variant2 v h) Source # 
Instance details

Defined in OAlg.Hom.Fibred

class (Functorial h, FunctorialRoot h) => FunctorialFibred (h :: Type -> Type -> Type) Source #

functorial morphism, i.e. Functorial and FunctorialRoot.

Note It's not mandatory being an homomorphism!

Instances

Instances details
(TransformableGRefl o s, DualisableDistributive s o, TransformableGRefl Matrix s, TransformableDst s) => FunctorialFibred (HomCo Matrix s o) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

(HomFibred h, DualisableFibred s o) => FunctorialFibred (HomDisj s o h) Source # 
Instance details

Defined in OAlg.Hom.Fibred

Duality

class (DualisableG s (->) o Id, DualisableG s (->) o Rt, Transformable s Fbr) => DualisableFibred s (o :: Type -> Type) Source #

duality according to o on FibredOriented structures.

Properties Let DualisableFibred s o, then for all x and s in Struct s x holds:

  1. root . toDualStk q s .=. toDualRt q s . root.

where q is any proxy for o.

Instances

Instances details
(TransformableType s, TransformableFbrOrt s, TransformableOp s) => DualisableFibred s Op Source # 
Instance details

Defined in OAlg.Hom.Fibred

toDualStk :: DualisableFibred s o => q o -> Struct s x -> x -> o x Source #

the dual stalk ginven by DualisableFibred s o and induced by DualisableG s (->) o Id.

toDualRt :: forall s (o :: Type -> Type) q x. DualisableFibred s o => q o -> Struct s x -> Root x -> Root (o x) Source #

the dual root ginven by DualisableFibred s o and induced by DualisableG s (->) o Rt.

X

xsoFbrOrtX :: s ~ FbrOrtX => X (SomeObjectClass (SHom s s Op (HomEmpty s))) Source #

random variable for some FibredOriented object classes.

Proposition

prpHomFbr :: (HomFibred h, Show2 h) => h x y -> x -> Statement Source #

validity according to HomFibred.

prpHomFibred :: forall (h :: Type -> Type -> Type). (HomFibred h, Show2 h) => X (SomeApplication h) -> Statement Source #

validity according to HomFibred.