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

Description

categories of morphisms. We adapted the concept of categories form Category to better cover our needs.

Synopsis

Category

class Morphism c => Category (c :: Type -> Type -> Type) where Source #

category of morphisms.

Properties Let c be a type instance of the class Category, then holds:

  1. For all types x, y and f in c x y holds: cOne (range f) . f .=. f and f . cOne (domain f) .=. f.
  2. For all types w, x, y, z and f in c x w, g in c y x, h in c z y holds: f . (g . h) .=. (f . g) . h.

Methods

cOne :: Struct (ObjectClass c) x -> c x x Source #

the identity morphism for an eligible x.

(.) :: c y z -> c x y -> c x z infixr 9 Source #

Instances

Instances details
Category (Homomorphous s) Source # 
Instance details

Defined in OAlg.Category.Definition

Category c => Category (Inv2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

cOne :: Struct (ObjectClass (Inv2 c)) x -> Inv2 c x x Source #

(.) :: Inv2 c y z -> Inv2 c x y -> Inv2 c x z Source #

Category c => Category (Op2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

cOne :: Struct (ObjectClass (Op2 c)) x -> Op2 c x x Source #

(.) :: Op2 c y z -> Op2 c x y -> Op2 c x z Source #

Category (Map s) Source # 
Instance details

Defined in OAlg.Category.Map

Methods

cOne :: Struct (ObjectClass (Map s)) x -> Map s x x Source #

(.) :: Map s y z -> Map s x y -> Map s x z Source #

Morphism m => Category (Path m) Source # 
Instance details

Defined in OAlg.Category.Path

Methods

cOne :: Struct (ObjectClass (Path m)) x -> Path m x x Source #

(.) :: Path m y z -> Path m x y -> Path m x z Source #

(Category c, TransformableObjectClass s c) => Category (Sub s c) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

cOne :: Struct (ObjectClass (Sub s c)) x -> Sub s c x x Source #

(.) :: Sub s c y z -> Sub s c x y -> Sub s c x z Source #

Category (->) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

cOne :: Struct (ObjectClass (->)) x -> x -> x Source #

(.) :: (y -> z) -> (x -> y) -> x -> z Source #

Category (HomCo m s o) Source # 
Instance details

Defined in OAlg.Data.HomCo

Methods

cOne :: Struct (ObjectClass (HomCo m s o)) x -> HomCo m s o x x Source #

(.) :: HomCo m s o y z -> HomCo m s o x y -> HomCo m s o x z Source #

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

Defined in OAlg.Hom.Definition

Methods

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

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

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 #

CategoryDisjunctive h => Category (Variant2 'Covariant h) Source # 
Instance details

Defined in OAlg.Data.Variant

cOne' :: Category c => p c -> Struct (ObjectClass c) x -> c x x Source #

prefixing a proxy.

data Sub s (c :: Type -> Type -> Type) x y where Source #

sub category of c according to the ObjectClass s, whereas maintaining the applicative behavior of c.

Constructors

Sub :: forall s x y (c :: Type -> Type -> Type). (Structure s x, Structure s y) => c x y -> Sub s c x y 

Instances

Instances details
EqExt EqualExt Source # 
Instance details

Defined in OAlg.Data.Validable

Methods

(.=.) :: EqualExt x y -> EqualExt x y -> Statement Source #

EqExt EqualExtOrt Source # 
Instance details

Defined in OAlg.Structure.Oriented.Definition

Methods

(.=.) :: EqualExtOrt x y -> EqualExtOrt x y -> Statement Source #

TransformableObjectClass OrtX EqualExtOrt Source # 
Instance details

Defined in OAlg.Structure.Oriented.Definition

TransformableGObjectClassRange Id OrtX EqualExtOrt Source # 
Instance details

Defined in OAlg.Structure.Oriented.Definition

TransformableGObjectClassRange Pnt OrtX EqualExtOrt Source # 
Instance details

Defined in OAlg.Structure.Oriented.Definition

DualisableG OrtX EqualExtOrt Op Id Source # 
Instance details

Defined in OAlg.Category.Dualisable

Methods

toDualG :: Struct OrtX x -> EqualExtOrt (Id x) (Id (Op x)) Source #

fromDualG :: Struct OrtX x -> EqualExtOrt (Id (Op x)) (Id x) Source #

DualisableG OrtX EqualExtOrt Op Pnt Source # 
Instance details

Defined in OAlg.Category.Dualisable

Methods

toDualG :: Struct OrtX x -> EqualExtOrt (Pnt x) (Pnt (Op x)) Source #

fromDualG :: Struct OrtX x -> EqualExtOrt (Pnt (Op x)) (Pnt x) Source #

ReflexiveG OrtX EqualExtOrt Op Id Source # 
Instance details

Defined in OAlg.Category.Dualisable

Methods

reflG :: Struct OrtX x -> Inv2 EqualExtOrt (Id x) (Id (Op (Op x))) Source #

ReflexiveG OrtX EqualExtOrt Op Pnt Source # 
Instance details

Defined in OAlg.Category.Dualisable

Methods

reflG :: Struct OrtX x -> Inv2 EqualExtOrt (Pnt x) (Pnt (Op (Op x))) Source #

Disjunctive2 h => Disjunctive2 (Sub s h :: Type -> Type -> Type) Source # 
Instance details

Defined in OAlg.Data.Variant

Methods

variant2 :: Sub s h x y -> Variant Source #

(TransformableOrt s, TransformableType s, TransformableOp s) => HomSlicedOriented i (Sub (s, Sld i) (HomDisjEmpty s Op)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Sliced

(TransformableOrt s, TransformableType s, TransformableOp s) => HomSlicedOriented i (Sub (s, Sld i) (IsoO s Op)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Sliced

(ApplicativeG d a b, TransformableG d s t) => ApplicativeG d (Sub s a) (Sub t b) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

amapG :: Sub s a x y -> Sub t b (d x) (d y) Source #

ApplicativeG f h (->) => ApplicativeG f (Sub t h) (->) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

amapG :: Sub t h x y -> f x -> f y Source #

(FunctorialG d a b, TransformableObjectClass s a, TransformableObjectClass t b, TransformableG d s t) => FunctorialG d (Sub s a) (Sub t b) Source # 
Instance details

Defined in OAlg.Category.Definition

(FunctorialG f c (->), TransformableObjectClass s c) => FunctorialG f (Sub s c) (->) Source # 
Instance details

Defined in OAlg.Category.Definition

HomOrientedSlicedFree (Inv2 (HomFree Dst)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

HomOrientedSlicedFree (Inv2 (HomFree Mlt)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

(TransformableOrt s, TransformableType s, TransformableOp s) => HomOrientedSlicedFree (HomFree s) Source # 
Instance details

Defined in OAlg.Entity.Slice.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 #

(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

Attestable k => HomSlicedOriented (Free k) (Sub (Dst, SldFr) (HomDisjEmpty Dst Op)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

(Category c, TransformableObjectClass s c) => Category (Sub s c) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

cOne :: Struct (ObjectClass (Sub s c)) x -> Sub s c x x Source #

(.) :: Sub s c y z -> Sub s c x y -> Sub s c x z Source #

Morphism (Sub s c) Source # 
Instance details

Defined in OAlg.Category.Definition

Associated Types

type ObjectClass (Sub s c) 
Instance details

Defined in OAlg.Category.Definition

type ObjectClass (Sub s c) = s

Methods

homomorphous :: Sub s c x y -> Homomorphous (ObjectClass (Sub s c)) x y Source #

domain :: Sub s c x y -> Struct (ObjectClass (Sub s c)) x Source #

range :: Sub s c x y -> Struct (ObjectClass (Sub s c)) y Source #

(CategoryDisjunctive c, TransformableObjectClass s c) => CategoryDisjunctive (Sub s c) Source # 
Instance details

Defined in OAlg.Data.Variant

(TransformableAdd s, HomAdditive h) => HomAdditive (Sub s h) Source # 
Instance details

Defined in OAlg.Hom.Additive

(TransformableDst s, HomDistributiveDisjunctive h) => HomDistributiveDisjunctive (Sub s h) Source # 
Instance details

Defined in OAlg.Hom.Distributive

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

Defined in OAlg.Hom.Fibred

(TransformableFbrOrt s, HomFibredOrientedDisjunctive h) => HomFibredOrientedDisjunctive (Sub s h) Source # 
Instance details

Defined in OAlg.Hom.FibredOriented

(TransformableMlt s, HomMultiplicativeDisjunctive h) => HomMultiplicativeDisjunctive (Sub s h) Source # 
Instance details

Defined in OAlg.Hom.Multiplicative

FunctorialOriented (Sub (Dst, SldFr) (HomDisjEmpty Dst Op)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

FunctorialOriented (Sub (Mlt, SldFr) (HomDisjEmpty Mlt Op)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

(Transformable s Ort, HomOrientedDisjunctive h) => HomOrientedDisjunctive (Sub s h) Source # 
Instance details

Defined in OAlg.Hom.Oriented.Definition

type ObjectClass (Sub s c) Source # 
Instance details

Defined in OAlg.Category.Definition

type ObjectClass (Sub s c) = s

cOneSub :: forall (c :: Type -> Type -> Type) t s x. (Category c, t ~ ObjectClass c) => Struct s x -> Struct t x -> Sub s c x x Source #

restricting cOne.

sub :: (Morphism h, Transformable (ObjectClass h) s) => h x y -> Sub s h x y Source #

restricting a morphism.

sub' :: Homomorphous s x y -> h x y -> Sub s h x y Source #

restricting a morphism.

subG :: forall d (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) s t x y. (ApplicativeG d a b, TransformableG d s t) => Sub s a x y -> Sub t b (d x) (d y) Source #

the induced embedding.

newtype Op2 (h :: Type -> Type -> Type) x y Source #

Predicat for the opposite of a two parametrized type h where the two parameters x and y are switched

Constructors

Op2 (h y x) 

Instances

Instances details
Category c => Category (Op2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

cOne :: Struct (ObjectClass (Op2 c)) x -> Op2 c x x Source #

(.) :: Op2 c y z -> Op2 c x y -> Op2 c x z Source #

Cayleyan2 c => Cayleyan2 (Op2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

invert2 :: Op2 c x y -> Op2 c y x Source #

Morphism h => Morphism (Op2 h) Source # 
Instance details

Defined in OAlg.Category.Definition

Associated Types

type ObjectClass (Op2 h) 
Instance details

Defined in OAlg.Category.Definition

Methods

homomorphous :: Op2 h x y -> Homomorphous (ObjectClass (Op2 h)) x y Source #

domain :: Op2 h x y -> Struct (ObjectClass (Op2 h)) x Source #

range :: Op2 h x y -> Struct (ObjectClass (Op2 h)) y Source #

Eq2 h => Eq2 (Op2 h) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

eq2 :: Op2 h x y -> Op2 h x y -> Bool Source #

Show2 h => Show2 (Op2 h) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

show2 :: Op2 h a b -> String Source #

Validable2 h => Validable2 (Op2 h) Source # 
Instance details

Defined in OAlg.Data.Validable

Methods

valid2 :: Op2 h x y -> Statement Source #

type ObjectClass (Op2 h) Source # 
Instance details

Defined in OAlg.Category.Definition

Some basic definitions in the category (->)

id :: x -> x Source #

the identity map.

const :: b -> a -> b Source #

the constant map given by a value in b.

Property Let y be in b then for all x in a holds: const y x is identical to y.

curry :: ((a, b) -> c) -> a -> b -> c Source #

currying a map.

uncurry :: (a -> b -> c) -> (a, b) -> c Source #

uncurrying a map.

fst :: (a, b) -> a Source #

the first component of the pair.

snd :: (a, b) -> b Source #

the second component of the pair.

curry3 :: ((a, b, c) -> d) -> a -> b -> c -> d Source #

currying a map.

uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d Source #

uncurrying a map.

Cayleyan

class (Category c, Eq2 c) => Cayleyan2 (c :: Type -> Type -> Type) where Source #

category of isomorphisms.

Property Let c be a type instance of Cayleyan2, then holds: For all types x, y and f in c x y holds:

  1. (invert2 f . f) == cOne (domain f) and (f . invert2 f) == cOne (range f) where (==) = eq2.

Methods

invert2 :: c x y -> c y x Source #

Instances

Instances details
Cayleyan2 (Homomorphous m) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

invert2 :: Homomorphous m x y -> Homomorphous m y x Source #

(Category c, Eq2 c) => Cayleyan2 (Inv2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

invert2 :: Inv2 c x y -> Inv2 c y x Source #

Cayleyan2 c => Cayleyan2 (Op2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

invert2 :: Op2 c x y -> Op2 c y x Source #

(Cayleyan2 m, TransformableObjectClassTyp m) => Cayleyan2 (Path m) Source # 
Instance details

Defined in OAlg.Category.Path

Methods

invert2 :: Path m x y -> Path m y x Source #

data Inv2 (c :: Type -> Type -> Type) x y Source #

predicate for invertible morphisms within a category c.

Property Let Inv2 f f' be in Inv2 c x y for a Category c with Eq2 c, then holds:

  1. f' . f .=. cOne (domain f).
  2. f . f' .=. cOne (range f).

Constructors

Inv2 (c x y) (c y x) 

Instances

Instances details
CategoryDisjunctive h => Disjunctive2 (Inv2 h :: Type -> Type -> Type) Source # 
Instance details

Defined in OAlg.Data.Variant

Methods

variant2 :: Inv2 h x y -> Variant Source #

(CategoryDisjunctive h, HomSlicedOriented i h) => HomSlicedOriented i (Inv2 h) Source # 
Instance details

Defined in OAlg.Entity.Slice.Sliced

ApplicativeG Id h c => ApplicativeG Id (Inv2 h) c Source # 
Instance details

Defined in OAlg.Data.Identity

Methods

amapG :: Inv2 h x y -> c (Id x) (Id y) Source #

ApplicativeG Rt h c => ApplicativeG Rt (Inv2 h) c Source # 
Instance details

Defined in OAlg.Structure.Fibred.Root

Methods

amapG :: Inv2 h x y -> c (Rt x) (Rt y) Source #

ApplicativeG Pnt h c => ApplicativeG Pnt (Inv2 h) c Source # 
Instance details

Defined in OAlg.Structure.Oriented.Point

Methods

amapG :: Inv2 h x y -> c (Pnt x) (Pnt y) Source #

FunctorialG Id h c => FunctorialG Id (Inv2 h) c Source # 
Instance details

Defined in OAlg.Data.Identity

FunctorialG Pnt h c => FunctorialG Pnt (Inv2 h) c Source # 
Instance details

Defined in OAlg.Structure.Oriented.Point

(TransformableOrt s, TransformableType s, TransformableOp s) => HomSlicedOriented i (Sub (s, Sld i) (IsoO s Op)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Sliced

Category c => Category (Inv2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

cOne :: Struct (ObjectClass (Inv2 c)) x -> Inv2 c x x Source #

(.) :: Inv2 c y z -> Inv2 c x y -> Inv2 c x z Source #

(Category c, Eq2 c) => Cayleyan2 (Inv2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

invert2 :: Inv2 c x y -> Inv2 c y x Source #

Morphism c => Morphism (Inv2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

Associated Types

type ObjectClass (Inv2 c) 
Instance details

Defined in OAlg.Category.Definition

Methods

homomorphous :: Inv2 c x y -> Homomorphous (ObjectClass (Inv2 c)) x y Source #

domain :: Inv2 c x y -> Struct (ObjectClass (Inv2 c)) x Source #

range :: Inv2 c x y -> Struct (ObjectClass (Inv2 c)) y Source #

Eq2 c => Eq2 (Inv2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

eq2 :: Inv2 c x y -> Inv2 c x y -> Bool Source #

(Category c, EqExt c) => Validable2 (Inv2 c) Source # 
Instance details

Defined in OAlg.Data.Validable

Methods

valid2 :: Inv2 c x y -> Statement Source #

CategoryDisjunctive c => CategoryDisjunctive (Inv2 c) Source # 
Instance details

Defined in OAlg.Data.Variant

HomOrientedSlicedFree (Inv2 (HomFree Dst)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

HomOrientedSlicedFree (Inv2 (HomFree Mlt)) Source # 
Instance details

Defined in OAlg.Entity.Slice.Free

HomAdditive h => HomAdditive (Inv2 h) Source # 
Instance details

Defined in OAlg.Hom.Additive

HomDistributive h => HomDistributive (Inv2 h) Source # 
Instance details

Defined in OAlg.Hom.Distributive

(CategoryDisjunctive h, HomDistributiveDisjunctive h) => HomDistributiveDisjunctive (Inv2 h) Source # 
Instance details

Defined in OAlg.Hom.Distributive

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

Defined in OAlg.Hom.Fibred

HomFibredOriented h => HomFibredOriented (Inv2 h) Source # 
Instance details

Defined in OAlg.Hom.FibredOriented

(CategoryDisjunctive h, HomFibredOrientedDisjunctive h) => HomFibredOrientedDisjunctive (Inv2 h) Source # 
Instance details

Defined in OAlg.Hom.FibredOriented

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

Defined in OAlg.Hom.Multiplicative

(CategoryDisjunctive h, HomMultiplicativeDisjunctive h) => HomMultiplicativeDisjunctive (Inv2 h) Source # 
Instance details

Defined in OAlg.Hom.Multiplicative

FunctorialOriented h => FunctorialOriented (Inv2 h) Source # 
Instance details

Defined in OAlg.Hom.Oriented.Definition

HomOriented h => HomOriented (Inv2 h) Source # 
Instance details

Defined in OAlg.Hom.Oriented.Definition

(CategoryDisjunctive h, HomOrientedDisjunctive h) => HomOrientedDisjunctive (Inv2 h) Source # 
Instance details

Defined in OAlg.Hom.Oriented.Definition

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

Defined in OAlg.Entity.Slice.Liftable

(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

(Show (c x y), Show (c y x)) => Show (Inv2 c x y) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

showsPrec :: Int -> Inv2 c x y -> ShowS #

show :: Inv2 c x y -> String #

showList :: [Inv2 c x y] -> ShowS #

(Eq (c x y), Eq (c y x)) => Eq (Inv2 c x y) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

(==) :: Inv2 c x y -> Inv2 c x y -> Bool #

(/=) :: Inv2 c x y -> Inv2 c x y -> Bool #

(Category c, EqExt c) => Validable (Inv2 c x y) Source # 
Instance details

Defined in OAlg.Data.Validable

Methods

valid :: Inv2 c x y -> Statement Source #

type ObjectClass (Inv2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

inv2 :: forall (c :: Type -> Type -> Type) x y. Inv2 c x y -> Inv2 c y x Source #

the inverse.

inv2Forget :: forall s (h :: Type -> Type -> Type) x y. Inv2 (Sub s h) x y -> Inv2 h x y Source #

forgetting the restriction to Sub.

Morphism

class Morphism (m :: Type -> Type -> Type) where Source #

morphism.

Minimal complete definition

homomorphous | domain, range

Associated Types

type ObjectClass (m :: Type -> Type -> Type) Source #

the object class.

Methods

homomorphous :: m x y -> Homomorphous (ObjectClass m) x y Source #

attests, that the types x and y fulfill the constraints given by Homomorphous (ObjectClass m) x y, i.e both fulfill the constraints given by Structure (ObjectClass m) x and Structure (ObjectClass m) y respectively.

domain :: m x y -> Struct (ObjectClass m) x Source #

attests that the domain type x fulfills the constraints given by Structure (ObjectClass m) x.

range :: m x y -> Struct (ObjectClass m) y Source #

attests that the range type y fulfills the constraints given by Structure (ObjectClass m) y.

Instances

Instances details
Morphism GLApp Source # 
Instance details

Defined in OAlg.Entity.Matrix.GeneralLinearGroup

Associated Types

type ObjectClass GLApp 
Instance details

Defined in OAlg.Entity.Matrix.GeneralLinearGroup

Morphism TrApp Source # 
Instance details

Defined in OAlg.Entity.Matrix.GeneralLinearGroup

Associated Types

type ObjectClass TrApp 
Instance details

Defined in OAlg.Entity.Matrix.GeneralLinearGroup

Morphism (Homomorphous s) Source # 
Instance details

Defined in OAlg.Category.Definition

Associated Types

type ObjectClass (Homomorphous s) 
Instance details

Defined in OAlg.Category.Definition

Morphism c => Morphism (Inv2 c) Source # 
Instance details

Defined in OAlg.Category.Definition

Associated Types

type ObjectClass (Inv2 c) 
Instance details

Defined in OAlg.Category.Definition

Methods

homomorphous :: Inv2 c x y -> Homomorphous (ObjectClass (Inv2 c)) x y Source #

domain :: Inv2 c x y -> Struct (ObjectClass (Inv2 c)) x Source #

range :: Inv2 c x y -> Struct (ObjectClass (Inv2 c)) y Source #

Morphism h => Morphism (Op2 h) Source # 
Instance details

Defined in OAlg.Category.Definition

Associated Types

type ObjectClass (Op2 h) 
Instance details

Defined in OAlg.Category.Definition

Methods

homomorphous :: Op2 h x y -> Homomorphous (ObjectClass (Op2 h)) x y Source #

domain :: Op2 h x y -> Struct (ObjectClass (Op2 h)) x Source #

range :: Op2 h x y -> Struct (ObjectClass (Op2 h)) y Source #

Morphism (Map s) Source # 
Instance details

Defined in OAlg.Category.Map

Associated Types

type ObjectClass (Map s) 
Instance details

Defined in OAlg.Category.Map

type ObjectClass (Map s) = s

Methods

homomorphous :: Map s x y -> Homomorphous (ObjectClass (Map s)) x y Source #

domain :: Map s x y -> Struct (ObjectClass (Map s)) x Source #

range :: Map s x y -> Struct (ObjectClass (Map s)) y Source #

Morphism m => Morphism (Path m) Source # 
Instance details

Defined in OAlg.Category.Path

Associated Types

type ObjectClass (Path m) 
Instance details

Defined in OAlg.Category.Path

Methods

homomorphous :: Path m x y -> Homomorphous (ObjectClass (Path m)) x y Source #

domain :: Path m x y -> Struct (ObjectClass (Path m)) x Source #

range :: Path m x y -> Struct (ObjectClass (Path m)) y Source #

Morphism h => Morphism (Id2 h) Source # 
Instance details

Defined in OAlg.Data.Identity

Associated Types

type ObjectClass (Id2 h) 
Instance details

Defined in OAlg.Data.Identity

Methods

homomorphous :: Id2 h x y -> Homomorphous (ObjectClass (Id2 h)) x y Source #

domain :: Id2 h x y -> Struct (ObjectClass (Id2 h)) x Source #

range :: Id2 h x y -> Struct (ObjectClass (Id2 h)) y Source #

Morphism (Ornt s) Source # 
Instance details

Defined in OAlg.Data.Ornt

Associated Types

type ObjectClass (Ornt s) 
Instance details

Defined in OAlg.Data.Ornt

type ObjectClass (Ornt s) = s

Methods

homomorphous :: Ornt s x y -> Homomorphous (ObjectClass (Ornt s)) x y Source #

domain :: Ornt s x y -> Struct (ObjectClass (Ornt s)) x Source #

range :: Ornt s x y -> Struct (ObjectClass (Ornt s)) y Source #

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

Defined in OAlg.Entity.Matrix.Vector

Associated Types

type ObjectClass (HomSymbol r) 
Instance details

Defined in OAlg.Entity.Matrix.Vector

Morphism (SliceFactorDrop s) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

Associated Types

type ObjectClass (SliceFactorDrop s) 
Instance details

Defined in OAlg.Entity.Slice.Definition

Morphism (HomEmpty s) Source # 
Instance details

Defined in OAlg.Hom.Definition

Associated Types

type ObjectClass (HomEmpty s) 
Instance details

Defined in OAlg.Hom.Definition

type ObjectClass (HomEmpty s) = s
Morphism (HomId s) Source # 
Instance details

Defined in OAlg.Hom.Definition

Associated Types

type ObjectClass (HomId s) 
Instance details

Defined in OAlg.Hom.Definition

type ObjectClass (HomId s) = s
Morphism (Sub s c) Source # 
Instance details

Defined in OAlg.Category.Definition

Associated Types

type ObjectClass (Sub s c) 
Instance details

Defined in OAlg.Category.Definition

type ObjectClass (Sub s c) = s

Methods

homomorphous :: Sub s c x y -> Homomorphous (ObjectClass (Sub s c)) x y Source #

domain :: Sub s c x y -> Struct (ObjectClass (Sub s c)) x Source #

range :: Sub s c x y -> Struct (ObjectClass (Sub s c)) y Source #

(Morphism f, Morphism g, ObjectClass f ~ ObjectClass g) => Morphism (Either2 f g) Source # 
Instance details

Defined in OAlg.Category.Definition

Associated Types

type ObjectClass (Either2 f g) 
Instance details

Defined in OAlg.Category.Definition

Methods

homomorphous :: Either2 f g x y -> Homomorphous (ObjectClass (Either2 f g)) x y Source #

domain :: Either2 f g x y -> Struct (ObjectClass (Either2 f g)) x Source #

range :: Either2 f g x y -> Struct (ObjectClass (Either2 f g)) y Source #

Morphism (->) Source # 
Instance details

Defined in OAlg.Category.Definition

Associated Types

type ObjectClass (->) 
Instance details

Defined in OAlg.Category.Definition

type ObjectClass (->) = Type

Methods

homomorphous :: (x -> y) -> Homomorphous (ObjectClass (->)) x y Source #

domain :: (x -> y) -> Struct (ObjectClass (->)) x Source #

range :: (x -> y) -> Struct (ObjectClass (->)) y Source #

Morphism (HomCo m s o) Source # 
Instance details

Defined in OAlg.Data.HomCo

Associated Types

type ObjectClass (HomCo m s o) 
Instance details

Defined in OAlg.Data.HomCo

type ObjectClass (HomCo m s o) = s

Methods

homomorphous :: HomCo m s o x y -> Homomorphous (ObjectClass (HomCo m s o)) x y Source #

domain :: HomCo m s o x y -> Struct (ObjectClass (HomCo m s o)) x Source #

range :: HomCo m s o x y -> Struct (ObjectClass (HomCo m s o)) y Source #

Morphism (MorCo m s o) Source # 
Instance details

Defined in OAlg.Data.HomCo

Associated Types

type ObjectClass (MorCo m s o) 
Instance details

Defined in OAlg.Data.HomCo

type ObjectClass (MorCo m s o) = s

Methods

homomorphous :: MorCo m s o x y -> Homomorphous (ObjectClass (MorCo m s o)) x y Source #

domain :: MorCo m s o x y -> Struct (ObjectClass (MorCo m s o)) x Source #

range :: MorCo m s o x y -> Struct (ObjectClass (MorCo m s o)) y Source #

(Multiplicative d, Sliced i d) => Morphism (SliceAdjunction i c d) Source # 
Instance details

Defined in OAlg.Entity.Slice.Adjunction

Associated Types

type ObjectClass (SliceAdjunction i c d) 
Instance details

Defined in OAlg.Entity.Slice.Adjunction

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

Defined in OAlg.Hom.Definition

Associated Types

type ObjectClass (HomDisj s o h) 
Instance details

Defined in OAlg.Hom.Definition

type ObjectClass (HomDisj s o h) = s

Methods

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

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

range :: HomDisj s o h x y -> Struct (ObjectClass (HomDisj s o h)) y 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 => 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 #

Morphism h => Morphism (Variant2 v h) Source # 
Instance details

Defined in OAlg.Data.Variant

Associated Types

type ObjectClass (Variant2 v h) 
Instance details

Defined in OAlg.Data.Variant

data Homomorphous s x y Source #

attest that both x and y have homomorphous structures, i.e. both admit the same constraints given by the parameter s.

Constructors

(Struct s x) :>: (Struct s y) infix 5 

Instances

Instances details
Category (Homomorphous s) Source # 
Instance details

Defined in OAlg.Category.Definition

Cayleyan2 (Homomorphous m) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

invert2 :: Homomorphous m x y -> Homomorphous m y x Source #

Morphism (Homomorphous s) Source # 
Instance details

Defined in OAlg.Category.Definition

Associated Types

type ObjectClass (Homomorphous s) 
Instance details

Defined in OAlg.Category.Definition

Eq2 (Homomorphous m) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

eq2 :: Homomorphous m x y -> Homomorphous m x y -> Bool Source #

Show2 (Homomorphous m) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

show2 :: Homomorphous m a b -> String Source #

Show (Homomorphous s x y) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

showsPrec :: Int -> Homomorphous s x y -> ShowS #

show :: Homomorphous s x y -> String #

showList :: [Homomorphous s x y] -> ShowS #

Eq (Homomorphous s x y) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

(==) :: Homomorphous s x y -> Homomorphous s x y -> Bool #

(/=) :: Homomorphous s x y -> Homomorphous s x y -> Bool #

type ObjectClass (Homomorphous s) Source # 
Instance details

Defined in OAlg.Category.Definition

tauHom :: Transformable s t => Homomorphous s x y -> Homomorphous t x y Source #

transforming homomorphous structural attests.

tauHomG :: TransformableG t u v => Homomorphous u x y -> Homomorphous v (t x) (t y) Source #

transforming homomorphous structural attests.

tau1Hom :: Transformable1 f s => Homomorphous s x y -> Homomorphous s (f x) (f y) Source #

transforming homomorphous structural attests.

eqlDomain :: Struct Typ x -> Struct Typ x' -> m x y -> m x' y -> Maybe (x :~: x') Source #

gets for two Typeable types x and x' and for two parameterized types maybe an attest that the domain types are equal.

eqlRange :: Struct Typ y -> Struct Typ y' -> m x y -> m x y' -> Maybe (y :~: y') Source #

gets for two Typeable types y and y' and for two parameterized types maybe an attest that the range types are equal.

eqlEndo :: Struct Typ x -> Struct Typ y -> h x y -> Maybe (x :~: y) Source #

maybe endomorphism.

eqlMorphism :: Typeable m => Struct Typ x -> Struct Typ x' -> Struct Typ y -> Struct Typ y' -> m x y -> m x' y' -> Maybe (m x y :~: m x' y') Source #

gets maybe an attest that the two given morphisms types are equal.

Applicative

class ApplicativeG (t :: Type -> Type) (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) where Source #

generalized application.

Methods

amapG :: a x y -> b (t x) (t y) Source #

application.

Instances

Instances details
ApplicativeG t EntEmpty2 b Source # 
Instance details

Defined in OAlg.Entity.Definition

Methods

amapG :: EntEmpty2 x y -> b (t x) (t y) Source #

ApplicativeG Id GLApp (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.GeneralLinearGroup

Methods

amapG :: GLApp x y -> Id x -> Id y Source #

ApplicativeG Id TrApp (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.GeneralLinearGroup

Methods

amapG :: TrApp x y -> Id x -> Id y Source #

ApplicativeG Pnt GLApp (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.GeneralLinearGroup

Methods

amapG :: GLApp x y -> Pnt x -> Pnt y Source #

ApplicativeG Pnt TrApp (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.GeneralLinearGroup

Methods

amapG :: TrApp x y -> Pnt x -> Pnt y Source #

ApplicativeG Id h c => ApplicativeG Id (Inv2 h) c Source # 
Instance details

Defined in OAlg.Data.Identity

Methods

amapG :: Inv2 h x y -> c (Id x) (Id y) Source #

ApplicativeG Id h c => ApplicativeG Id (Id2 h) c Source # 
Instance details

Defined in OAlg.Data.Identity

Methods

amapG :: Id2 h x y -> c (Id x) (Id y) Source #

ApplicativeG Id (HomEmpty s) c Source # 
Instance details

Defined in OAlg.Hom.Definition

Methods

amapG :: HomEmpty s x y -> c (Id x) (Id y) Source #

ApplicativeG Rt h c => ApplicativeG Rt (Inv2 h) c Source # 
Instance details

Defined in OAlg.Structure.Fibred.Root

Methods

amapG :: Inv2 h x y -> c (Rt x) (Rt y) Source #

ApplicativeG Rt (HomEmpty s) c Source # 
Instance details

Defined in OAlg.Hom.Definition

Methods

amapG :: HomEmpty s x y -> c (Rt x) (Rt y) Source #

ApplicativeG Pnt h c => ApplicativeG Pnt (Inv2 h) c Source # 
Instance details

Defined in OAlg.Structure.Oriented.Point

Methods

amapG :: Inv2 h x y -> c (Pnt x) (Pnt y) Source #

ApplicativeG Pnt h c => ApplicativeG Pnt (Id2 h) c Source # 
Instance details

Defined in OAlg.Structure.Oriented.Point

Methods

amapG :: Id2 h x y -> c (Pnt x) (Pnt y) Source #

ApplicativeG Pnt (HomEmpty s) c Source # 
Instance details

Defined in OAlg.Hom.Definition

Methods

amapG :: HomEmpty s x y -> c (Pnt x) (Pnt y) Source #

(Category c, ApplicativeG t m c, TransformableGObjectClass t m c) => ApplicativeG t (Path m) c Source # 
Instance details

Defined in OAlg.Category.Path

Methods

amapG :: Path m x y -> c (t x) (t y) Source #

TransformableOrt s => ApplicativeG Id (Ornt s) (->) Source # 
Instance details

Defined in OAlg.Data.Ornt

Methods

amapG :: Ornt s x y -> Id x -> Id y Source #

(Semiring r, Commutative r) => ApplicativeG Id (HomSymbol r) (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Vector

Methods

amapG :: HomSymbol r x y -> Id x -> Id y Source #

ApplicativeG Id (SliceFactorDrop s) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

Methods

amapG :: SliceFactorDrop s x y -> Id x -> Id y Source #

ApplicativeG Id (HomId s) (->) Source # 
Instance details

Defined in OAlg.Hom.Definition

Methods

amapG :: HomId s x y -> Id x -> Id y Source #

ApplicativeG Set (Map EntOrd) (->) Source # 
Instance details

Defined in OAlg.Entity.Sequence.Set

Methods

amapG :: Map EntOrd x y -> Set x -> Set y Source #

ApplicativeG Set (Map Ord') (->) Source # 
Instance details

Defined in OAlg.Entity.Sequence.Set

Methods

amapG :: Map Ord' x y -> Set x -> Set y Source #

Transformable s FbrOrt => ApplicativeG Rt (Ornt s) (->) Source # 
Instance details

Defined in OAlg.Data.Ornt

Methods

amapG :: Ornt s x y -> Rt x -> Rt y Source #

ApplicativeG Rt (HomSymbol r) (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Vector

Methods

amapG :: HomSymbol r x y -> Rt x -> Rt y Source #

ApplicativeG Pnt (Ornt s) (->) Source # 
Instance details

Defined in OAlg.Data.Ornt

Methods

amapG :: Ornt s x y -> Pnt x -> Pnt y Source #

ApplicativeG Pnt (SliceFactorDrop s) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Definition

Methods

amapG :: SliceFactorDrop s x y -> Pnt x -> Pnt y Source #

ApplicativeG Pnt (HomId s) (->) Source # 
Instance details

Defined in OAlg.Hom.Definition

Methods

amapG :: HomId s x y -> Pnt x -> Pnt y Source #

ApplicativeG [] (Map s) (->) Source # 
Instance details

Defined in OAlg.Category.Map

Methods

amapG :: Map s x y -> [x] -> [y] Source #

(ApplicativeG t f c, ApplicativeG t g c) => ApplicativeG t (Either2 f g) c Source # 
Instance details

Defined in OAlg.Category.Applicative

Methods

amapG :: Either2 f g x y -> c (t x) (t y) Source #

ApplicativeG Id (->) (->) Source # 
Instance details

Defined in OAlg.Data.Identity

Methods

amapG :: (x -> y) -> Id x -> Id y Source #

ApplicativeG X (->) (->) Source # 
Instance details

Defined in OAlg.Category.Applicative

Methods

amapG :: (x -> y) -> X x -> X y Source #

ApplicativeG SomeFinList (->) (->) Source # 
Instance details

Defined in OAlg.Entity.FinList

Methods

amapG :: (x -> y) -> SomeFinList x -> SomeFinList y Source #

ApplicativeG Orientation (->) (->) Source # 
Instance details

Defined in OAlg.Structure.Oriented.Orientation

Methods

amapG :: (x -> y) -> Orientation x -> Orientation y Source #

ApplicativeG Maybe (->) (->) Source # 
Instance details

Defined in OAlg.Category.Applicative

Methods

amapG :: (x -> y) -> Maybe x -> Maybe y Source #

ApplicativeG [] (->) (->) Source # 
Instance details

Defined in OAlg.Category.Applicative

Methods

amapG :: (x -> y) -> [x] -> [y] Source #

(ApplicativeG d a b, TransformableG d s t) => ApplicativeG d (Sub s a) (Sub t b) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

amapG :: Sub s a x y -> Sub t b (d x) (d y) Source #

ApplicativeG f h (->) => ApplicativeG f (Sub t h) (->) Source # 
Instance details

Defined in OAlg.Category.Definition

Methods

amapG :: Sub t h x y -> f x -> f y Source #

(Morphism h, ApplicativeG Id h c, DualisableG s c o Id, c ~ (->)) => ApplicativeG Id (HomDisj s o h) c Source # 
Instance details

Defined in OAlg.Hom.Definition

Methods

amapG :: HomDisj s o h x y -> c (Id x) (Id y) Source #

(TransformableDst s, TransformableGRefl o s, DualisableDistributive s o, TransformableGRefl Matrix s) => ApplicativeG Id (MorCo Matrix s o) (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

Methods

amapG :: MorCo Matrix s o x y -> Id x -> Id y Source #

(Distributive d, Sliced i d, Conic c) => ApplicativeG Id (SliceAdjunction i c d) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Adjunction

Methods

amapG :: SliceAdjunction i c d x y -> Id x -> Id y Source #

(HomOriented h, DualisableOriented s o) => ApplicativeG SomeDiagram (HomDisj s o h) (->) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

Methods

amapG :: HomDisj s o h x y -> SomeDiagram x -> SomeDiagram y Source #

(TransformableGRefl o s, DualisableDistributive s o, TransformableGRefl Matrix s) => ApplicativeG Rt (MorCo Matrix s o) (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

Methods

amapG :: MorCo Matrix s o x y -> Rt x -> Rt y Source #

(Morphism h, ApplicativeRoot h, DualisableG s (->) o Rt) => ApplicativeG Rt (HomDisj s o h) (->) Source # 
Instance details

Defined in OAlg.Hom.Definition

Methods

amapG :: HomDisj s o h x y -> Rt x -> Rt y Source #

(TransformableGRefl o s, DualisableDistributive s o, TransformableGRefl Matrix s) => ApplicativeG Pnt (MorCo Matrix s o) (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Definition

Methods

amapG :: MorCo Matrix s o x y -> Pnt x -> Pnt y Source #

(Distributive d, Sliced i d, Conic c) => ApplicativeG Pnt (SliceAdjunction i c d) (->) Source # 
Instance details

Defined in OAlg.Entity.Slice.Adjunction

Methods

amapG :: SliceAdjunction i c d x y -> Pnt x -> Pnt y Source #

(Morphism h, ApplicativePoint h, DualisableG s (->) o Pnt) => ApplicativeG Pnt (HomDisj s o h) (->) Source # 
Instance details

Defined in OAlg.Hom.Definition

Methods

amapG :: HomDisj s o h x y -> Pnt x -> Pnt y Source #

(ApplicativeMorCo d m s o (->), DualisableG s (->) o d) => ApplicativeG d (HomCo m s o) (->) Source # 
Instance details

Defined in OAlg.Data.HomCo

Methods

amapG :: HomCo m s o x y -> d x -> d y Source #

ApplicativeG Id h c => ApplicativeG Id (Variant2 v h) c Source # 
Instance details

Defined in OAlg.Data.Variant

Methods

amapG :: Variant2 v h x y -> c (Id x) (Id y) Source #

ApplicativeG Rt h c => ApplicativeG Rt (Variant2 v h) c Source # 
Instance details

Defined in OAlg.Data.Variant

Methods

amapG :: Variant2 v h x y -> c (Rt x) (Rt y) Source #

ApplicativeG Pnt h c => ApplicativeG Pnt (Variant2 v h) c Source # 
Instance details

Defined in OAlg.Data.Variant

Methods

amapG :: Variant2 v h x y -> c (Pnt x) (Pnt y) 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 #

(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 #

ApplicativeG (FinList n) (->) (->) Source # 
Instance details

Defined in OAlg.Entity.FinList

Methods

amapG :: (x -> y) -> FinList n x -> FinList n y Source #

ApplicativeG (Col i) (->) (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Entries

Methods

amapG :: (x -> y) -> Col i x -> Col i y Source #

ApplicativeG (Row i) (->) (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Entries

Methods

amapG :: (x -> y) -> Row i x -> Row i y Source #

ApplicativeG (Word r) (->) (->) Source # 
Instance details

Defined in OAlg.Entity.Product.Definition

Methods

amapG :: (x -> y) -> Word r x -> Word r y Source #

ApplicativeG (PSequence i) (->) (->) Source # 
Instance details

Defined in OAlg.Entity.Sequence.PSequence

Methods

amapG :: (x -> y) -> PSequence i x -> PSequence i y Source #

ApplicativeG (LinearCombination r) (->) (->) Source # 
Instance details

Defined in OAlg.Entity.Sum.Definition

Methods

amapG :: (x -> y) -> LinearCombination r x -> LinearCombination r y Source #

(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, 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 #

ApplicativeG (Entries i j) (->) (->) Source # 
Instance details

Defined in OAlg.Entity.Matrix.Entries

Methods

amapG :: (x -> y) -> Entries i j x -> Entries i j y Source #

HomOriented h => ApplicativeG (Diagram t n m) h (->) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

Methods

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

type Applicative1 (h :: Type -> Type -> Type) (f :: Type -> Type) = ApplicativeG f h (->) Source #

representable hs according to f.

amap1 :: Applicative1 h f => h x y -> f x -> f y Source #

representation of h in (->) according to f.

Functorial

amapF :: FunctorialG t a b => a x y -> b (t x) (t y) Source #

functorial application.

type Functorial1 (c :: Type -> Type -> Type) (f :: Type -> Type) = FunctorialG f c (->) Source #

functorials form c to (->) according to f.

data Functor1 (c :: Type -> Type -> Type) (f :: Type -> Type) where Source #

attest of being Functorial1 for the Category c to the Category (->) according to f.

Constructors

Functor1 :: forall (c :: Type -> Type -> Type) (f :: Type -> Type). Functorial1 c f => Functor1 c f 

class (Category a, Category b, ApplicativeG t a b, TransformableG t (ObjectClass a) (ObjectClass b)) => FunctorialG (t :: Type -> Type) (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) Source #

functorials from Category a to Category b according to the type function t.

Properties Let FunctorialG f a b, the holdst:

  1. For all x and s in Struct (ObjectClass a) x holds: amapG (cOne s) .=. cOne (tauG s).
  2. For all x, y, z and f in c y z, g in c x y holds: amapG (f . g) .=. amapG f . amapG g.

Instances

Instances details
FunctorialG Id h c => FunctorialG Id (Inv2 h) c Source # 
Instance details

Defined in OAlg.Data.Identity

FunctorialG Pnt h c => FunctorialG Pnt (Inv2 h) c Source # 
Instance details

Defined in OAlg.Structure.Oriented.Point

(Morphism m, Category c, ApplicativeG t m c, TransformableGObjectClass t m c) => FunctorialG t (Path m) c Source # 
Instance details

Defined in OAlg.Category.Path

FunctorialG Set (Map EntOrd) (->) Source # 
Instance details

Defined in OAlg.Entity.Sequence.Set

FunctorialG Set (Map Ord') (->) Source # 
Instance details

Defined in OAlg.Entity.Sequence.Set

FunctorialG [] (Map s) (->) Source # 
Instance details

Defined in OAlg.Category.Map

(FunctorialG d a b, TransformableObjectClass s a, TransformableObjectClass t b, TransformableG d s t) => FunctorialG d (Sub s a) (Sub t b) Source # 
Instance details

Defined in OAlg.Category.Definition

(FunctorialG f c (->), TransformableObjectClass s c) => FunctorialG f (Sub s c) (->) Source # 
Instance details

Defined in OAlg.Category.Definition

(Morphism h, ApplicativeG Id h c, DualisableG s c o Id, c ~ (->)) => FunctorialG Id (HomDisj s o h) c Source # 
Instance details

Defined in OAlg.Hom.Definition

(HomOriented h, DualisableOriented s o) => FunctorialG SomeDiagram (HomDisj s o h) (->) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

(Morphism h, ApplicativeRoot h, DualisableG s (->) o Rt) => FunctorialG Rt (HomDisj s o h) (->) Source # 
Instance details

Defined in OAlg.Hom.Definition

(Morphism h, ApplicativePoint h, DualisableG s (->) o Pnt) => FunctorialG Pnt (HomDisj s o h) (->) Source # 
Instance details

Defined in OAlg.Hom.Definition

(FunctorialHomCo d m s o (->), DualisableG s (->) o d) => FunctorialG d (HomCo m s o) (->) Source # 
Instance details

Defined in OAlg.Data.HomCo

(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)) => 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

(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) => FunctorialG (SDualBi d) (SHom r s o h) (->) Source # 
Instance details

Defined in OAlg.Category.SDuality

(HomOriented h, FunctorialOriented h) => FunctorialG (Diagram t n m) h (->) Source # 
Instance details

Defined in OAlg.Entity.Diagram.Definition

data FunctorG (t :: Type -> Type) (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) where Source #

attest of being FunctorialG.

Constructors

FunctorG :: forall (t :: Type -> Type) (a :: Type -> Type -> Type) (b :: Type -> Type -> Type). FunctorialG t a b => FunctorG t a b 

Transformables

class Transformable s (ObjectClass c) => TransformableObjectClass s (c :: Type -> Type -> Type) Source #

helper class to avoid undecided instances.

class Transformable (ObjectClass m) Typ => TransformableObjectClassTyp (m :: Type -> Type -> Type) Source #

helper class to avoid undecided instances.

Example By declaring an instance instance (..,Transformable (ObjectClass m) Typ,..) => C m for a Morphism m and a class C one will get the compiler error:

   • Illegal use of type family ‘ObjectClass’
       in the constraint ‘Transformable (ObjectClass m) Typ’
     (Use UndecidableInstances to permit this)

To avoid this error use this instance declaration: instance (..,TransformableObjectClassTyp m),..) => C m which will solve the problem!

class TransformableG t (ObjectClass a) (ObjectClass b) => TransformableGObjectClass (t :: Type -> Type) (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) Source #

helper class to avoid undecided instances.

Instances

Instances details
TransformableGObjectClass t a (->) Source # 
Instance details

Defined in OAlg.Category.Definition

TransformableGObjectClass t m c => TransformableGObjectClass t (Path m) c Source # 
Instance details

Defined in OAlg.Category.Path

class TransformableG d (ObjectClass a) t => TransformableGObjectClassDomain (d :: Type -> Type) (a :: Type -> Type -> Type) t Source #

helper class to avoid undecided instances.

class TransformableG d s (ObjectClass c) => TransformableGObjectClassRange (d :: Type -> Type) s (c :: Type -> Type -> Type) Source #

helper class to avoid undecided instances.