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.Category.SDuality

Description

functor for dualisable parameterized types over structured types.

Synopsis

Dual

Dualisable

newtype SVal (d :: Type -> Type) x Source #

duality for DualisableG types.

Constructors

SVal (d x) 

Instances

Instances details
(Morphism h, ApplicativeG d h c, DualisableG r c o d, Transformable s r, c ~ (->)) => ApplicativeG (SVal d) (SHom r s o h) c Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

amapG :: SHom r s o h x y -> c (SVal d x) (SVal d y) Source #

(Morphism h, ApplicativeG d h c, DualisableG r c o d, Transformable s r, c ~ (->)) => ApplicativeG (SVal d) (SMorphism r s o h) c Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

amapG :: SMorphism r s o h x y -> c (SVal d x) (SVal d y) Source #

(Morphism h, ApplicativeG d h c, DualisableG r c o d, Transformable s r, c ~ (->)) => FunctorialG (SVal d) (SHom r s o h) c Source # 
Instance details

Defined in OAlg.Category.SDuality

smap :: forall d r s (o :: Type -> Type) (h :: Type -> Type -> Type) x y. ApplicativeG (SVal d) (SHom r s o h) (->) => SHom r s o h x y -> d x -> d y Source #

the induced mapping.

Bi-Dualisable

newtype SDualBi (d :: Type -> Type) x Source #

duality for DualisableGPair types d.

Constructors

SDualBi (Either1 (Dual1 d) d x) 

Instances

Instances details
Conic c => Natural r (->) (SDualBi (ConeG c s p d t n m)) (SDualBi (ConeG Cone s p d t n m)) Source # 
Instance details

Defined in OAlg.Limes.Cone.Conic.Core

Methods

roh :: Struct r x -> SDualBi (ConeG c s p d t n m) x -> SDualBi (ConeG Cone s p d t n m) x Source #

Diagrammatic d => Natural s (->) (SDualBi (DiagramG d t n m)) (SDualBi (DiagramG Diagram t n m)) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Diagrammatic

Methods

roh :: Struct s x -> SDualBi (DiagramG d t n m) x -> SDualBi (DiagramG Diagram t n m) x Source #

(HomOrientedDisjunctive h, FunctorialOriented h, t ~ Dual (Dual t)) => NaturalTransformable h (->) (SDualBi (DiagramG Diagram t n m)) (SDualBi (DiagramG Diagram t n m)) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Diagrammatic

(CategoryDisjunctive h, HomSlicedOriented i h, FunctorialOriented h, t ~ Dual (Dual t)) => NaturalTransformable h (->) (SDualBi (DiagramG (SliceDiagram i) t n m)) (SDualBi (DiagramG Diagram t n m)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Adjunction

(HomOrientedSlicedFree h, FunctorialOriented h, t ~ Dual (Dual t)) => NaturalTransformable h (->) (SDualBi (DiagramG DiagramFree t n m)) (SDualBi (DiagramG Diagram t n m)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

(HomDistributiveDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => NaturalTransformable h (->) (SDualBi (ConeG Cone Dst p d t n m)) (SDualBi (ConeG Cone Dst p d t n m)) Source # 
Instance details

Defined in OAlg.Limes.Cone.Conic.Duality

(HomMultiplicativeDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => NaturalTransformable h (->) (SDualBi (ConeG Cone Mlt p d t n m)) (SDualBi (ConeG Cone Mlt p d t n m)) Source # 
Instance details

Defined in OAlg.Limes.Cone.Conic.Duality

(HomDistributiveDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => NaturalTransformable h (->) (SDualBi (ConeG ConeZeroHead Mlt p d t n m)) (SDualBi (ConeG Cone Mlt p d t n m)) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

(Oriented x, XStandardOrtSite 'To x, XStandardOrtSite 'From x, Attestable m, n ~ (m + 1)) => XStandardDual1 (SDualBi (Diagram ('Chain 'From) n m)) x Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

(Oriented x, XStandardOrtSite 'To x, XStandardOrtSite 'From x, Attestable m, n ~ (m + 1)) => XStandardDual1 (SDualBi (Diagram ('Chain 'To) n m)) x Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

(Attestable m, n ~ (m + 1)) => TransformableG (SDualBi (Diagram ('Chain 'From) n m)) OrtSiteX EqE Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

Methods

tauG :: Struct OrtSiteX x -> Struct EqE (SDualBi (Diagram ('Chain 'From) n m) x) Source #

(Attestable m, n ~ (m + 1)) => TransformableG (SDualBi (Diagram ('Chain 'To) n m)) OrtSiteX EqE Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

Methods

tauG :: Struct OrtSiteX x -> Struct EqE (SDualBi (Diagram ('Chain 'To) n m) x) Source #

(HomOrientedDisjunctive h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (Diagram t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

Methods

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

(HomOrientedDisjunctive h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (DiagramG Diagram t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Diagrammatic

Methods

amapG :: h x y -> SDualBi (DiagramG Diagram t n m) x -> SDualBi (DiagramG Diagram t n m) y Source #

(HomSlicedOriented i h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (DiagramG (SliceDiagram i) t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Adjunction

Methods

amapG :: h x y -> SDualBi (DiagramG (SliceDiagram i) t n m) x -> SDualBi (DiagramG (SliceDiagram i) t n m) y Source #

(HomOrientedSlicedFree h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (DiagramG DiagramFree t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

Methods

amapG :: h x y -> SDualBi (DiagramG DiagramFree t n m) x -> SDualBi (DiagramG DiagramFree t n m) y Source #

(HomMultiplicativeDisjunctive h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (DiagramTrafo t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Methods

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

HomDistributiveDisjunctive h => ApplicativeG (SDualBi Matrix) h (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

Methods

amapG :: h x y -> SDualBi Matrix x -> SDualBi Matrix y Source #

(HomSlicedOriented i h, s ~ Dual (Dual s)) => ApplicativeG (SDualBi (Slice s i)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

Methods

amapG :: h x y -> SDualBi (Slice s i) x -> SDualBi (Slice s i) y Source #

(HomSlicedMultiplicative i h, s ~ Dual (Dual s)) => ApplicativeG (SDualBi (SliceFactor s i)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

Methods

amapG :: h x y -> SDualBi (SliceFactor s i) x -> SDualBi (SliceFactor s i) y Source #

(HomOrientedSlicedFree h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (DiagramFree t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

Methods

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

(HomOrientedSlicedFree h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (SomeFreeSliceDiagram t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

Methods

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

(HomDistributiveDisjunctive h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p), t ~ Dual (Dual t)) => ApplicativeG (SDualBi (ConeG Cone Dst p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.Conic.Duality

Methods

amapG :: h x y -> SDualBi (ConeG Cone Dst p d t n m) x -> SDualBi (ConeG Cone Dst p d t n m) y Source #

(HomMultiplicativeDisjunctive h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p), t ~ Dual (Dual t)) => ApplicativeG (SDualBi (ConeG Cone Mlt p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.Conic.Duality

Methods

amapG :: h x y -> SDualBi (ConeG Cone Mlt p d t n m) x -> SDualBi (ConeG Cone Mlt p d t n m) y Source #

(HomDistributiveDisjunctive h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => ApplicativeG (SDualBi (ConeG ConeZeroHead s p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

Methods

amapG :: h x y -> SDualBi (ConeG ConeZeroHead s p d t n m) x -> SDualBi (ConeG ConeZeroHead s p d t n m) y Source #

(HomDistributiveDisjunctive h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => ApplicativeG (SDualBi (Cone Dst p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.Duality

Methods

amapG :: h x y -> SDualBi (Cone Dst p d t n m) x -> SDualBi (Cone Dst p d t n m) y Source #

(HomMultiplicativeDisjunctive h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => ApplicativeG (SDualBi (Cone Mlt p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.Duality

Methods

amapG :: h x y -> SDualBi (Cone Mlt p d t n m) x -> SDualBi (Cone Mlt p d t n m) y Source #

(HomDistributiveDisjunctive h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => ApplicativeG (SDualBi (ConeZeroHead s p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

Methods

amapG :: h x y -> SDualBi (ConeZeroHead s p d t n m) x -> SDualBi (ConeZeroHead s p d t n m) y Source #

(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)) => 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, HomOrientedSlicedFree h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (ConsecutiveZeroFree t n)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Exact.Free

Methods

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

(HomOrientedDisjunctive h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (Diagram t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

(HomOrientedDisjunctive h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (DiagramG Diagram t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Diagrammatic

(CategoryDisjunctive h, HomSlicedOriented i h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (DiagramG (SliceDiagram i) t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Adjunction

(HomOrientedSlicedFree h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (DiagramG DiagramFree t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

(HomMultiplicativeDisjunctive h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (DiagramTrafo t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

(HomDistributiveDisjunctive h, FunctorialOriented h) => FunctorialG (SDualBi Matrix) h (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

(HomSlicedOriented i h, FunctorialOriented h, s ~ Dual (Dual s)) => FunctorialG (SDualBi (Slice s i)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

(HomSlicedMultiplicative i h, FunctorialOriented h, s ~ Dual (Dual s)) => FunctorialG (SDualBi (SliceFactor s i)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

(HomOrientedSlicedFree h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (DiagramFree t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

(HomOrientedSlicedFree h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (SomeFreeSliceDiagram t n m)) h (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

(HomDistributiveDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p), t ~ Dual (Dual t)) => FunctorialG (SDualBi (ConeG Cone Dst p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.Conic.Duality

(HomMultiplicativeDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p), t ~ Dual (Dual t)) => FunctorialG (SDualBi (ConeG Cone Mlt p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.Conic.Duality

(HomDistributiveDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => FunctorialG (SDualBi (ConeG ConeZeroHead s p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

(HomDistributiveDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => FunctorialG (SDualBi (Cone Dst p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.Duality

(HomMultiplicativeDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => FunctorialG (SDualBi (Cone Mlt p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.Duality

(HomDistributiveDisjunctive h, FunctorialOriented h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => FunctorialG (SDualBi (ConeZeroHead s p d t n m)) h (->) Source # 
Instance details

Defined in OAlg.Limes.Cone.ZeroHead.Duality

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

Defined in OAlg.Limes.Exact.ConsecutiveZero

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

Defined in OAlg.Limes.Exact.ConsecutiveZero

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

Defined in OAlg.Limes.Exact.Free

(NaturalDiagrammatic (Inv2 (HomFree s)) d ('Parallel 'LeftToRight) N2 N1, NaturalDiagrammatic (Inv2 (HomFree s)) d ('Parallel 'RightToLeft) N2 N1, p ~ Dual (Dual p), t ~ Dual (Dual t)) => ApplicativeG (SDualBi (ConeLiftable s p d t n m)) (Inv2 (HomFree s)) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

Methods

amapG :: Inv2 (HomFree s) x y -> SDualBi (ConeLiftable s p d t n m) x -> SDualBi (ConeLiftable s p d t n m) y Source #

p ~ Dual (Dual p) => ApplicativeG (SDualBi (LiftableFree p)) (Inv2 (HomFree Dst)) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

Methods

amapG :: Inv2 (HomFree Dst) x y -> SDualBi (LiftableFree p) x -> SDualBi (LiftableFree p) y Source #

p ~ Dual (Dual p) => ApplicativeG (SDualBi (LiftableFree p)) (Inv2 (HomFree Mlt)) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

Methods

amapG :: Inv2 (HomFree Mlt) x y -> SDualBi (LiftableFree p) x -> SDualBi (LiftableFree p) y Source #

(CategoryDisjunctive h, HomSlicedMultiplicative i h, p ~ Dual (Dual p)) => ApplicativeG (SDualBi (Liftable p i)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Liftable

Methods

amapG :: Inv2 h x y -> SDualBi (Liftable p i) x -> SDualBi (Liftable p i) y Source #

(CategoryDisjunctive h, HomSlicedDistributive i h, FunctorialOriented h, p ~ Dual (Dual p), t ~ Dual (Dual t)) => ApplicativeG (SDualBi (LiftableCone i s p d t n m)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Liftable

Methods

amapG :: Inv2 h x y -> SDualBi (LiftableCone i s p d t n m) x -> SDualBi (LiftableCone i s p d t n m) y Source #

(CategoryDisjunctive h, HomSlicedDistributive i h, FunctorialOriented h, p ~ Dual (Dual p), t ~ Dual (Dual t)) => ApplicativeG (SDualBi (ConeG (LiftableCone i) s p d t n m)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Liftable

Methods

amapG :: Inv2 h x y -> SDualBi (ConeG (LiftableCone i) s p d t n m) x -> SDualBi (ConeG (LiftableCone i) s p d t n m) y Source #

NaturalConicBi (Inv2 h) c s p d t n m => ApplicativeG (SDualBi (LimesG c s p d t n m)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Limes.Definition.Duality

Methods

amapG :: Inv2 h x y -> SDualBi (LimesG c s p d t n m) x -> SDualBi (LimesG c s p d t n m) y Source #

(HomDistributiveDisjunctive h, CategoryDisjunctive h, NaturalKernelCokernel (Inv2 h) k c d, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (VarianceG t k c d n)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Limes.Exact.Deviation

Methods

amapG :: Inv2 h x y -> SDualBi (VarianceG t k c d n) x -> SDualBi (VarianceG t k c d n) y Source #

(HomDistributiveDisjunctive h, CategoryDisjunctive h, NaturalKernelCokernel (Inv2 h) k c d, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (VarianceGHom t k c d n)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Limes.Exact.Deviation

Methods

amapG :: Inv2 h x y -> SDualBi (VarianceGHom t k c d n) x -> SDualBi (VarianceGHom t k c d n) y Source #

NaturalConicBi (Inv2 h) c s p d t n m => ApplicativeG (SDualBi (LimitsG c s p d t n m)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Limes.Limits.Duality

Methods

amapG :: Inv2 h x y -> SDualBi (LimitsG c s p d t n m) x -> SDualBi (LimitsG c s p d t n m) y Source #

(NaturalDiagrammatic (Inv2 (HomFree s)) d ('Parallel 'LeftToRight) N2 N1, NaturalDiagrammatic (Inv2 (HomFree s)) d ('Parallel 'RightToLeft) N2 N1, p ~ Dual (Dual p), t ~ Dual (Dual t)) => FunctorialG (SDualBi (ConeLiftable s p d t n m)) (Inv2 (HomFree s)) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

p ~ Dual (Dual p) => FunctorialG (SDualBi (LiftableFree p)) (Inv2 (HomFree Dst)) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

p ~ Dual (Dual p) => FunctorialG (SDualBi (LiftableFree p)) (Inv2 (HomFree Mlt)) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

(CategoryDisjunctive h, HomSlicedMultiplicative i h, p ~ Dual (Dual p)) => FunctorialG (SDualBi (Liftable p i)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Liftable

(CategoryDisjunctive h, HomSlicedDistributive i h, FunctorialOriented h, p ~ Dual (Dual p), t ~ Dual (Dual t)) => FunctorialG (SDualBi (LiftableCone i s p d t n m)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Liftable

(CategoryDisjunctive h, HomSlicedDistributive i h, FunctorialOriented h, p ~ Dual (Dual p), t ~ Dual (Dual t)) => FunctorialG (SDualBi (ConeG (LiftableCone i) s p d t n m)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Liftable

NaturalConicBi (Inv2 h) c s p d t n m => FunctorialG (SDualBi (LimesG c s p d t n m)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Limes.Definition.Duality

(HomDistributiveDisjunctive h, CategoryDisjunctive h, NaturalKernelCokernel (Inv2 h) k c d, t ~ Dual (Dual t)) => FunctorialG (SDualBi (VarianceG t k c d n)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Limes.Exact.Deviation

(HomDistributiveDisjunctive h, CategoryDisjunctive h, NaturalKernelCokernel (Inv2 h) k c d, t ~ Dual (Dual t)) => FunctorialG (SDualBi (VarianceGHom t k c d n)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Limes.Exact.Deviation

NaturalConicBi (Inv2 h) c s p d t n m => FunctorialG (SDualBi (LimitsG c s p d t n m)) (Inv2 h) (->) Source # 
Instance details

Defined in OAlg.Limes.Limits.Duality

(CategoryDisjunctive h, HomSlicedDistributive i h, FunctorialOriented h, p ~ Dual (Dual p), t ~ Dual (Dual t), s ~ Dst) => NaturalTransformable (Inv2 h) (->) (SDualBi (ConeG (LiftableCone i) s p Diagram t n m)) (SDualBi (ConeG Cone s p Diagram t n m)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Liftable

(Morphism h, ApplicativeGBi d h (->), DualisableGBi r (->) o d, Transformable s r) => ApplicativeG (SDualBi d) (SHom r s o h) (->) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

amapG :: SHom r s o h x y -> SDualBi d x -> SDualBi d y Source #

(Morphism h, ApplicativeGBi d h (->), DualisableGBi r (->) o d, Transformable s r) => FunctorialG (SDualBi d) (SHom r s o h) (->) Source # 
Instance details

Defined in OAlg.Category.SDuality

(Show (d x), ShowDual1 d x) => Show (SDualBi d x) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

showsPrec :: Int -> SDualBi d x -> ShowS #

show :: SDualBi d x -> String #

showList :: [SDualBi d x] -> ShowS #

(Eq (d x), EqDual1 d x) => Eq (SDualBi d x) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

(==) :: SDualBi d x -> SDualBi d x -> Bool #

(/=) :: SDualBi d x -> SDualBi d x -> Bool #

(Validable (d x), ValidableDual1 d x) => Validable (SDualBi d x) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

valid :: SDualBi d x -> Statement Source #

(XStandard (d x), XStandardDual1 d x) => XStandard (SDualBi d x) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

xStandard :: X (SDualBi d x) Source #

type Dual1 (SDualBi d :: Type -> Type) Source # 
Instance details

Defined in OAlg.Category.SDuality

type Dual1 (SDualBi d :: Type -> Type) = SDualBi (Dual1 d)

smapBi :: forall (h :: Type -> Type -> Type) (d :: Type -> Type) r (o :: Type -> Type) s x y. (Morphism h, ApplicativeG d h (->), ApplicativeG (Dual1 d) h (->), DualisableGBi r (->) o d, Transformable s r) => SHom r s o h x y -> SDualBi d x -> SDualBi d y Source #

application of SHom on SDualBi

Properties Let Morphism h, ApplicativeG d h (->), ApplicativeG (Dual1 d) h (->), DualisableGBi r (->) o d and Transformable s r, then holds:

  1. smapBi is functorial.
  2. For all x, y and h in h x y holds:

    1. If variant2 h == Covariant, then for all d in d x holds: smapBi h (SDualBi (Right1 d)) == SDualBi (Right1 d') where d' = amapG h d.
    2. If variant2 h == Covariant, then for all d' in Dual1 d x holds: smapBi h (SDualBi (Left1 d')) == SDualBi (Left1 d) where d = amapG h d'.
    3. If variant2 h == Contravariant, then for all d in d x holds: smapBi h (SDualBi (Right1 d)) == SDualBi (Left1 d').
    4. If variant2 h == Covariant, then for all d' in Dual1 d x holds: smapBi h (SDualBi (Left1 d')) == SDualBi (Right1 d).

vmapBi :: Disjunctive2 h => (Variant2 'Covariant h x y -> d x -> d y) -> (Variant2 'Covariant h x y -> Dual1 d x -> Dual1 d y) -> (Variant2 'Contravariant h x y -> d x -> Dual1 d y) -> (Variant2 'Contravariant h x y -> Dual1 d x -> d y) -> h x y -> SDualBi d x -> SDualBi d y Source #

mapping of SDualBi given by Variant2 mappings.

class Show (Dual1 d x) => ShowDual1 (d :: k -> Type) (x :: k) Source #

helper class to avoid undecidable instances.

Instances

Instances details
(Show a, ShowPoint a) => ShowDual1 (Diagram t n m :: Type -> Type) (a :: Type) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

(Show a, ShowPoint a) => ShowDual1 (DiagramTrafo t n m :: Type -> Type) (a :: Type) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Oriented x => ShowDual1 (DiagramG Diagram t n m :: Type -> Type) (x :: Type) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Diagrammatic

(Show x, ShowPoint x) => ShowDual1 (Cone s p Diagram t n m :: Type -> Type) (x :: Type) Source # 
Instance details

Defined in OAlg.Limes.Cone.Duality

class Eq (Dual1 d x) => EqDual1 (d :: k -> Type) (x :: k) Source #

helper class to avoid undecidable instances.

Instances

Instances details
(Eq a, EqPoint a) => EqDual1 (Diagram t n m :: Type -> Type) (a :: Type) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

(Eq a, EqPoint a) => EqDual1 (DiagramTrafo t n m :: Type -> Type) (a :: Type) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Transformation

Oriented x => EqDual1 (DiagramG Diagram t n m :: Type -> Type) (x :: Type) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Diagrammatic

(Eq x, EqPoint x) => EqDual1 (Cone s p Diagram t n m :: Type -> Type) (x :: Type) Source # 
Instance details

Defined in OAlg.Limes.Cone.Duality

class Validable (Dual1 d x) => ValidableDual1 (d :: Type -> Type) x Source #

helper class to avoid undecidable instances.

Instances

Instances details
Oriented a => ValidableDual1 (Diagram t n m) a Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

Duality Operator

data SHom r s (o :: Type -> Type) (h :: Type -> Type -> Type) x y Source #

category for structural dualities.

Property Let h be in 'SHom r s o h x y with Morphism h, ApplicativeG d h c, DualisableG r c o d, then holds:

  1. amapG h .=. amapG (sForget h) where Transformable s t, Transformable (ObjectClass h) t Transformable s r, TransformableGObjectClassRange d s c and Transformable t r, TransformableGObjectClassRange d t c.

Note The property above states that relaxing the constraints given by s to the constraints given by r dose not alter the applicative behavior.

Instances

Instances details
Disjunctive2 (SHom r s o h :: Type -> Type -> Type) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

variant2 :: SHom r s o h x y -> Variant Source #

TransformableObjectClass s (SHom r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

(Morphism h, TransformableGRefl o s) => CategoryDualisable o (SHom r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

cToDual :: Struct (ObjectClass (SHom r s o h)) x -> Variant2 'Contravariant (SHom r s o h) x (o x) Source #

cFromDual :: Struct (ObjectClass (SHom r s o h)) x -> Variant2 'Contravariant (SHom r s o h) (o x) x Source #

TransformableG d s t => TransformableGObjectClassDomain d (SHom r s o h) t Source # 
Instance details

Defined in OAlg.Category.SDuality

(Morphism h, ApplicativeG d h c, DualisableG r c o d, Transformable s r, c ~ (->)) => ApplicativeG (SVal d) (SHom r s o h) c Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

amapG :: SHom r s o h x y -> c (SVal d x) (SVal d y) Source #

(Morphism h, ApplicativeG d h c, DualisableG r c o d, Transformable s r, c ~ (->)) => FunctorialG (SVal d) (SHom r s o h) c Source # 
Instance details

Defined in OAlg.Category.SDuality

(Morphism h, ApplicativeGBi d h (->), DualisableGBi r (->) o d, Transformable s r) => ApplicativeG (SDualBi d) (SHom r s o h) (->) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

amapG :: SHom r s o h x y -> SDualBi d x -> SDualBi d y Source #

(Morphism h, ApplicativeGBi d h (->), DualisableGBi r (->) o d, Transformable s r) => FunctorialG (SDualBi d) (SHom r s o h) (->) Source # 
Instance details

Defined in OAlg.Category.SDuality

Morphism h => Category (SHom r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

cOne :: Struct (ObjectClass (SHom r s o h)) x -> SHom r s o h x x Source #

(.) :: SHom r s o h y z -> SHom r s o h x y -> SHom r s o h x z Source #

Morphism h => Morphism (SHom r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Associated Types

type ObjectClass (SHom r s o h) 
Instance details

Defined in OAlg.Category.SDuality

type ObjectClass (SHom r s o h) = s

Methods

homomorphous :: SHom r s o h x y -> Homomorphous (ObjectClass (SHom r s o h)) x y Source #

domain :: SHom r s o h x y -> Struct (ObjectClass (SHom r s o h)) x Source #

range :: SHom r s o h x y -> Struct (ObjectClass (SHom r s o h)) y Source #

(Morphism h, Transformable s Typ, Eq2 h) => Eq2 (SHom r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

eq2 :: SHom r s o h x y -> SHom r s o h x y -> Bool Source #

Show2 h => Show2 (SHom r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

show2 :: SHom r s o h a b -> String Source #

(Morphism h, Validable2 h) => Validable2 (SHom r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

valid2 :: SHom r s o h x y -> Statement Source #

Morphism h => CategoryDisjunctive (SHom r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Show2 h => Show (SHom r s o h x y) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

showsPrec :: Int -> SHom r s o h x y -> ShowS #

show :: SHom r s o h x y -> String #

showList :: [SHom r s o h x y] -> ShowS #

(Morphism h, Transformable s Typ, Eq2 h) => Eq (SHom r s o h x y) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

(==) :: SHom r s o h x y -> SHom r s o h x y -> Bool #

(/=) :: SHom r s o h x y -> SHom r s o h x y -> Bool #

Constructable (SHom r s o h x y) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

make :: Form (SHom r s o h x y) -> SHom r s o h x y Source #

Exposable (SHom r s o h x y) Source # 
Instance details

Defined in OAlg.Category.SDuality

Associated Types

type Form (SHom r s o h x y) 
Instance details

Defined in OAlg.Category.SDuality

type Form (SHom r s o h x y) = PathSMorphism r s o h x y

Methods

form :: SHom r s o h x y -> Form (SHom r s o h x y) Source #

(Morphism h, Validable2 h) => Validable (SHom r s o h x y) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

valid :: SHom r s o h x y -> Statement Source #

Disjunctive (SHom r s o h x y) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

variant :: SHom r s o h x y -> Variant Source #

type ObjectClass (SHom r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

type ObjectClass (SHom r s o h) = s
type Form (SHom r s o h x y) Source # 
Instance details

Defined in OAlg.Category.SDuality

type Form (SHom r s o h x y) = PathSMorphism r s o h x y

sCov :: forall h s x y r (o :: Type -> Type). (Morphism h, Transformable (ObjectClass h) s) => h x y -> Variant2 'Covariant (SHom r s o h) x y Source #

the induced morphism.

Note The resulting morphism is Covariant.

sForget :: forall (h :: Type -> Type -> Type) t s r (o :: Type -> Type) x y. (Morphism h, Transformable (ObjectClass h) t, Transformable s t) => SHom r s o h x y -> SHom r t o h x y Source #

casting a s morphism to a t morphism.

sToDual :: forall o s x r (h :: Type -> Type -> Type). Transformable1 o s => Struct s x -> Variant2 'Contravariant (SHom r s o h) x (o x) Source #

SToDual as a Contravariant morphism in SHom.

sToDual' :: forall o s q (h :: Type -> Type -> Type) x r. Transformable1 o s => q o h -> Struct s x -> Variant2 'Contravariant (SHom r s o h) x (o x) Source #

prefixing a proxy.

sFromDual :: forall o s x r (h :: Type -> Type -> Type). Transformable1 o s => Struct s x -> Variant2 'Contravariant (SHom r s o h) (o x) x Source #

SFromDual as a Contravariant morphism in SHom.

sFromDual' :: forall o s q (h :: Type -> Type -> Type) x r. Transformable1 o s => q o h -> Struct s x -> Variant2 'Contravariant (SHom r s o h) (o x) x Source #

prefixing a proxy.

data SMorphism r s (o :: Type -> Type) (h :: Type -> Type -> Type) x y where Source #

adjoining to a type family h of morphisms two auxiliary morphisms SToDual and SFromDual.

Constructors

SCov :: forall (h :: Type -> Type -> Type) s x y r (o :: Type -> Type). Transformable (ObjectClass h) s => h x y -> SMorphism r s o h x y 
SToDual :: forall s x (o :: Type -> Type) r (h :: Type -> Type -> Type). (Structure s x, Structure s (o x)) => SMorphism r s o h x (o x) 
SFromDual :: forall s y (o :: Type -> Type) r (h :: Type -> Type -> Type). (Structure s y, Structure s (o y)) => SMorphism r s o h (o y) y 

Instances

Instances details
Disjunctive2 (SMorphism r s o h :: Type -> Type -> Type) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

variant2 :: SMorphism r s o h x y -> Variant Source #

(Morphism h, ApplicativeG d h c, DualisableG r c o d, Transformable s r, c ~ (->)) => ApplicativeG (SVal d) (SMorphism r s o h) c Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

amapG :: SMorphism r s o h x y -> c (SVal d x) (SVal d y) Source #

Morphism h => Morphism (SMorphism r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Associated Types

type ObjectClass (SMorphism r s o h) 
Instance details

Defined in OAlg.Category.SDuality

type ObjectClass (SMorphism r s o h) = s

Methods

homomorphous :: SMorphism r s o h x y -> Homomorphous (ObjectClass (SMorphism r s o h)) x y Source #

domain :: SMorphism r s o h x y -> Struct (ObjectClass (SMorphism r s o h)) x Source #

range :: SMorphism r s o h x y -> Struct (ObjectClass (SMorphism r s o h)) y Source #

Transformable s Typ => TransformableObjectClassTyp (SMorphism r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Eq2 h => Eq2 (SMorphism r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

eq2 :: SMorphism r s o h x y -> SMorphism r s o h x y -> Bool Source #

Show2 h => Show2 (SMorphism r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

show2 :: SMorphism r s o h a b -> String Source #

Validable2 h => Validable2 (SMorphism r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

valid2 :: SMorphism r s o h x y -> Statement Source #

Reducible (PathSMorphism r s o h x y) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

reduce :: PathSMorphism r s o h x y -> PathSMorphism r s o h x y Source #

Disjunctive (SMorphism r s o h x y) Source # 
Instance details

Defined in OAlg.Category.SDuality

Methods

variant :: SMorphism r s o h x y -> Variant Source #

type ObjectClass (SMorphism r s o h) Source # 
Instance details

Defined in OAlg.Category.SDuality

type ObjectClass (SMorphism r s o h) = s

type PathSMorphism r s (o :: Type -> Type) (h :: Type -> Type -> Type) = Path (SMorphism r s o h) Source #

path of SCov.

rdcPathSMorphism :: forall r s (o :: Type -> Type) (h :: Type -> Type -> Type) x y. PathSMorphism r s o h x y -> Rdc (PathSMorphism r s o h x y) Source #

reducing a path of SMorphism according to the rules:

  1. SFromDual :. SToDual :. p' reduces to p'.
  2. SToDual :. SFromDual :. p' reduces to p'.

X

xSDualBi :: X (d x) -> X (Dual1 d x) -> X (SDualBi d x) Source #

random variable for SDualBi.

xSctSomeMrph :: forall (h :: Type -> Type -> Type) s (o :: Type -> Type) r. (Morphism h, Transformable (ObjectClass h) s, Transformable1 o s) => N -> X (SomeObjectClass (SHom r s o h)) -> X (SomeMorphism (SHom r s o h)) Source #

random variable for some SHoms between the given object classes.

xSctSomeCmpb2 :: forall (h :: Type -> Type -> Type) s (o :: Type -> Type) r. (Morphism h, Transformable (ObjectClass h) s, Transformable1 o s) => N -> X (SomeObjectClass (SHom r s o h)) -> X (SomeMorphism h) -> X (SomeCmpb2 (SHom r s o h)) Source #

random variable for some composable morphism in SHom s o h where cOne and h are adjoined with maximal n times SToDual or SFromDual or SFromDual . SToDual

Pre
Not both input random variables are empty.
Post
The resulting random variable is not empty