| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
OAlg.Category.Definition
Description
categories of morphisms. We adapted the concept of categories form Category to
better cover our needs.
Synopsis
- class Morphism c => Category (c :: Type -> Type -> Type) where
- cOne :: Struct (ObjectClass c) x -> c x x
- (.) :: c y z -> c x y -> c x z
- cOne' :: Category c => p c -> Struct (ObjectClass c) x -> c x x
- data Sub s (c :: Type -> Type -> Type) x y where
- 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
- sub :: (Morphism h, Transformable (ObjectClass h) s) => h x y -> Sub s h x y
- sub' :: Homomorphous s x y -> h x y -> Sub s h x y
- 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)
- newtype Op2 (h :: Type -> Type -> Type) x y = Op2 (h y x)
- id :: x -> x
- const :: b -> a -> b
- curry :: ((a, b) -> c) -> a -> b -> c
- uncurry :: (a -> b -> c) -> (a, b) -> c
- fst :: (a, b) -> a
- snd :: (a, b) -> b
- curry3 :: ((a, b, c) -> d) -> a -> b -> c -> d
- uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d
- class (Category c, Eq2 c) => Cayleyan2 (c :: Type -> Type -> Type) where
- invert2 :: c x y -> c y x
- data Inv2 (c :: Type -> Type -> Type) x y = Inv2 (c x y) (c y x)
- inv2 :: forall (c :: Type -> Type -> Type) x y. Inv2 c x y -> Inv2 c y x
- inv2Forget :: forall s (h :: Type -> Type -> Type) x y. Inv2 (Sub s h) x y -> Inv2 h x y
- class Morphism (m :: Type -> Type -> Type) where
- type ObjectClass (m :: Type -> Type -> Type)
- homomorphous :: m x y -> Homomorphous (ObjectClass m) x y
- domain :: m x y -> Struct (ObjectClass m) x
- range :: m x y -> Struct (ObjectClass m) y
- data Homomorphous s x y = (Struct s x) :>: (Struct s y)
- tauHom :: Transformable s t => Homomorphous s x y -> Homomorphous t x y
- tauHomG :: TransformableG t u v => Homomorphous u x y -> Homomorphous v (t x) (t y)
- tau1Hom :: Transformable1 f s => Homomorphous s x y -> Homomorphous s (f x) (f y)
- eqlDomain :: Struct Typ x -> Struct Typ x' -> m x y -> m x' y -> Maybe (x :~: x')
- eqlRange :: Struct Typ y -> Struct Typ y' -> m x y -> m x y' -> Maybe (y :~: y')
- eqlEndo :: Struct Typ x -> Struct Typ y -> h x y -> Maybe (x :~: y)
- 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')
- class ApplicativeG (t :: Type -> Type) (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) where
- amapG :: a x y -> b (t x) (t y)
- type Applicative1 (h :: Type -> Type -> Type) (f :: Type -> Type) = ApplicativeG f h (->)
- amap1 :: Applicative1 h f => h x y -> f x -> f y
- amapF :: FunctorialG t a b => a x y -> b (t x) (t y)
- type Functorial1 (c :: Type -> Type -> Type) (f :: Type -> Type) = FunctorialG f c (->)
- data Functor1 (c :: Type -> Type -> Type) (f :: Type -> Type) where
- 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)
- data FunctorG (t :: Type -> Type) (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) where
- class Transformable s (ObjectClass c) => TransformableObjectClass s (c :: Type -> Type -> Type)
- class Transformable (ObjectClass m) Typ => TransformableObjectClassTyp (m :: Type -> Type -> Type)
- class TransformableG t (ObjectClass a) (ObjectClass b) => TransformableGObjectClass (t :: Type -> Type) (a :: Type -> Type -> Type) (b :: Type -> Type -> Type)
- class TransformableG d (ObjectClass a) t => TransformableGObjectClassDomain (d :: Type -> Type) (a :: Type -> Type -> Type) t
- class TransformableG d s (ObjectClass c) => TransformableGObjectClassRange (d :: Type -> Type) s (c :: Type -> Type -> Type)
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:
Instances
| Category (Homomorphous s) Source # | |
Defined in OAlg.Category.Definition Methods cOne :: Struct (ObjectClass (Homomorphous s)) x -> Homomorphous s x x Source # (.) :: Homomorphous s y z -> Homomorphous s x y -> Homomorphous s x z Source # | |
| Category c => Category (Inv2 c) Source # | |
| Category c => Category (Op2 c) Source # | |
| Category (Map s) Source # | |
| Morphism m => Category (Path m) Source # | |
| (Category c, TransformableObjectClass s c) => Category (Sub s c) Source # | |
| Category (->) Source # | |
Defined in OAlg.Category.Definition | |
| Category (HomCo m s o) Source # | |
| Morphism h => Category (HomDisj s o h) Source # | |
| Morphism h => Category (SHom r s o h) Source # | |
| CategoryDisjunctive h => Category (Variant2 'Covariant h) Source # | |
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
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
| Category c => Category (Op2 c) Source # | |||||
| Cayleyan2 c => Cayleyan2 (Op2 c) Source # | |||||
| Morphism h => Morphism (Op2 h) Source # | |||||
Defined in OAlg.Category.Definition Associated Types
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 # | |||||
| Show2 h => Show2 (Op2 h) Source # | |||||
| Validable2 h => Validable2 (Op2 h) Source # | |||||
| type ObjectClass (Op2 h) Source # | |||||
Defined in OAlg.Category.Definition | |||||
Some basic definitions in the category (->)
the constant map given by a value in b.
Property Let y be in b then for all x in a holds: is identical
to const y xy.
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:
Instances
| Cayleyan2 (Homomorphous m) Source # | |
Defined in OAlg.Category.Definition Methods invert2 :: Homomorphous m x y -> Homomorphous m y x Source # | |
| (Category c, Eq2 c) => Cayleyan2 (Inv2 c) Source # | |
| Cayleyan2 c => Cayleyan2 (Op2 c) Source # | |
| (Cayleyan2 m, TransformableObjectClassTyp m) => Cayleyan2 (Path m) Source # | |
data Inv2 (c :: Type -> Type -> Type) x y Source #
predicate for invertible morphisms within a category c.
Property Let be in Inv2 f f' for a Inv2 c x y with
Category c, then holds:Eq2 c
Constructors
| Inv2 (c x y) (c y x) |
Instances
| CategoryDisjunctive h => Disjunctive2 (Inv2 h :: Type -> Type -> Type) Source # | |||||
| (CategoryDisjunctive h, HomSlicedOriented i h) => HomSlicedOriented i (Inv2 h) Source # | |||||
Defined in OAlg.Entity.Slice.Sliced | |||||
| ApplicativeG Id h c => ApplicativeG Id (Inv2 h) c Source # | |||||
| ApplicativeG Rt h c => ApplicativeG Rt (Inv2 h) c Source # | |||||
| ApplicativeG Pnt h c => ApplicativeG Pnt (Inv2 h) c Source # | |||||
| FunctorialG Id h c => FunctorialG Id (Inv2 h) c Source # | |||||
Defined in OAlg.Data.Identity | |||||
| FunctorialG Pnt h c => FunctorialG Pnt (Inv2 h) c Source # | |||||
Defined in OAlg.Structure.Oriented.Point | |||||
| (TransformableOrt s, TransformableType s, TransformableOp s) => HomSlicedOriented i (Sub (s, Sld i) (IsoO s Op)) Source # | |||||
Defined in OAlg.Entity.Slice.Sliced | |||||
| Category c => Category (Inv2 c) Source # | |||||
| (Category c, Eq2 c) => Cayleyan2 (Inv2 c) Source # | |||||
| Morphism c => Morphism (Inv2 c) Source # | |||||
Defined in OAlg.Category.Definition Associated Types
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 # | |||||
| (Category c, EqExt c) => Validable2 (Inv2 c) Source # | |||||
| CategoryDisjunctive c => CategoryDisjunctive (Inv2 c) Source # | |||||
Defined in OAlg.Data.Variant | |||||
| HomOrientedSlicedFree (Inv2 (HomFree Dst)) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| HomOrientedSlicedFree (Inv2 (HomFree Mlt)) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| HomAdditive h => HomAdditive (Inv2 h) Source # | |||||
Defined in OAlg.Hom.Additive | |||||
| HomDistributive h => HomDistributive (Inv2 h) Source # | |||||
Defined in OAlg.Hom.Distributive | |||||
| (CategoryDisjunctive h, HomDistributiveDisjunctive h) => HomDistributiveDisjunctive (Inv2 h) Source # | |||||
Defined in OAlg.Hom.Distributive | |||||
| HomFibred h => HomFibred (Inv2 h) Source # | |||||
Defined in OAlg.Hom.Fibred | |||||
| HomFibredOriented h => HomFibredOriented (Inv2 h) Source # | |||||
Defined in OAlg.Hom.FibredOriented | |||||
| (CategoryDisjunctive h, HomFibredOrientedDisjunctive h) => HomFibredOrientedDisjunctive (Inv2 h) Source # | |||||
Defined in OAlg.Hom.FibredOriented | |||||
| HomMultiplicative h => HomMultiplicative (Inv2 h) Source # | |||||
Defined in OAlg.Hom.Multiplicative | |||||
| (CategoryDisjunctive h, HomMultiplicativeDisjunctive h) => HomMultiplicativeDisjunctive (Inv2 h) Source # | |||||
Defined in OAlg.Hom.Multiplicative | |||||
| FunctorialOriented h => FunctorialOriented (Inv2 h) Source # | |||||
Defined in OAlg.Hom.Oriented.Definition | |||||
| HomOriented h => HomOriented (Inv2 h) Source # | |||||
Defined in OAlg.Hom.Oriented.Definition | |||||
| (CategoryDisjunctive h, HomOrientedDisjunctive h) => HomOrientedDisjunctive (Inv2 h) Source # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
| (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 # | |||||
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 # | |||||
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 # | |||||
| (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 # | |||||
| (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 # | |||||
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 # | |||||
| (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 # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| p ~ Dual (Dual p) => FunctorialG (SDualBi (LiftableFree p)) (Inv2 (HomFree Dst)) (->) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| p ~ Dual (Dual p) => FunctorialG (SDualBi (LiftableFree p)) (Inv2 (HomFree Mlt)) (->) Source # | |||||
Defined in OAlg.Entity.Slice.Free | |||||
| (CategoryDisjunctive h, HomSlicedMultiplicative i h, p ~ Dual (Dual p)) => FunctorialG (SDualBi (Liftable p i)) (Inv2 h) (->) Source # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
Defined in OAlg.Entity.Slice.Liftable | |||||
| (Show (c x y), Show (c y x)) => Show (Inv2 c x y) Source # | |||||
| (Eq (c x y), Eq (c y x)) => Eq (Inv2 c x y) Source # | |||||
| (Category c, EqExt c) => Validable (Inv2 c x y) Source # | |||||
| type ObjectClass (Inv2 c) Source # | |||||
Defined in OAlg.Category.Definition | |||||
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
Methods
homomorphous :: m x y -> Homomorphous (ObjectClass m) x y Source #
attests, that the types x and y fulfill the constraints given
by , i.e both fulfill the constraints
given by Homomorphous (ObjectClass m) x y and Structure (ObjectClass m) x
respectively.Structure (ObjectClass m) y
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
| Morphism GLApp Source # | |||||
Defined in OAlg.Entity.Matrix.GeneralLinearGroup Associated Types
Methods homomorphous :: GLApp x y -> Homomorphous (ObjectClass GLApp) x y Source # domain :: GLApp x y -> Struct (ObjectClass GLApp) x Source # | |||||
| Morphism TrApp Source # | |||||
Defined in OAlg.Entity.Matrix.GeneralLinearGroup Associated Types
Methods homomorphous :: TrApp x y -> Homomorphous (ObjectClass TrApp) x y Source # domain :: TrApp x y -> Struct (ObjectClass TrApp) x Source # | |||||
| Morphism (Homomorphous s) Source # | |||||
Defined in OAlg.Category.Definition Associated Types
Methods homomorphous :: Homomorphous s x y -> Homomorphous (ObjectClass (Homomorphous s)) x y Source # domain :: Homomorphous s x y -> Struct (ObjectClass (Homomorphous s)) x Source # range :: Homomorphous s x y -> Struct (ObjectClass (Homomorphous s)) y Source # | |||||
| Morphism c => Morphism (Inv2 c) Source # | |||||
Defined in OAlg.Category.Definition Associated Types
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 # | |||||
Defined in OAlg.Category.Definition Associated Types
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 # | |||||
Defined in OAlg.Category.Map Associated Types
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 # | |||||
Defined in OAlg.Category.Path Associated Types
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 # | |||||
Defined in OAlg.Data.Identity Associated Types
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 # | |||||
Defined in OAlg.Data.Ornt Associated Types
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 # | |||||
Defined in OAlg.Entity.Matrix.Vector Associated Types
Methods homomorphous :: HomSymbol r x y -> Homomorphous (ObjectClass (HomSymbol r)) x y Source # domain :: HomSymbol r x y -> Struct (ObjectClass (HomSymbol r)) x Source # range :: HomSymbol r x y -> Struct (ObjectClass (HomSymbol r)) y Source # | |||||
| Morphism (SliceFactorDrop s) Source # | |||||
Defined in OAlg.Entity.Slice.Definition Associated Types
Methods homomorphous :: SliceFactorDrop s x y -> Homomorphous (ObjectClass (SliceFactorDrop s)) x y Source # domain :: SliceFactorDrop s x y -> Struct (ObjectClass (SliceFactorDrop s)) x Source # range :: SliceFactorDrop s x y -> Struct (ObjectClass (SliceFactorDrop s)) y Source # | |||||
| Morphism (HomEmpty s) Source # | |||||
Defined in OAlg.Hom.Definition Associated Types
Methods homomorphous :: HomEmpty s x y -> Homomorphous (ObjectClass (HomEmpty s)) x y Source # domain :: HomEmpty s x y -> Struct (ObjectClass (HomEmpty s)) x Source # range :: HomEmpty s x y -> Struct (ObjectClass (HomEmpty s)) y Source # | |||||
| Morphism (HomId s) Source # | |||||
Defined in OAlg.Hom.Definition Associated Types
Methods homomorphous :: HomId s x y -> Homomorphous (ObjectClass (HomId s)) x y Source # domain :: HomId s x y -> Struct (ObjectClass (HomId s)) x Source # range :: HomId s x y -> Struct (ObjectClass (HomId s)) y Source # | |||||
| Morphism (Sub s c) Source # | |||||
Defined in OAlg.Category.Definition Associated Types
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 # | |||||
Defined in OAlg.Category.Definition Associated Types
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 # | |||||
Defined in OAlg.Category.Definition Associated Types
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 # | |||||
Defined in OAlg.Data.HomCo Associated Types
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 # | |||||
Defined in OAlg.Data.HomCo Associated Types
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 # | |||||
Defined in OAlg.Entity.Slice.Adjunction Associated Types
Methods homomorphous :: SliceAdjunction i c d x y -> Homomorphous (ObjectClass (SliceAdjunction i c d)) x y Source # domain :: SliceAdjunction i c d x y -> Struct (ObjectClass (SliceAdjunction i c d)) x Source # range :: SliceAdjunction i c d x y -> Struct (ObjectClass (SliceAdjunction i c d)) y Source # | |||||
| Morphism h => Morphism (HomDisj s o h) Source # | |||||
Defined in OAlg.Hom.Definition Associated Types
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 # | |||||
Defined in OAlg.Category.SDuality Associated Types
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 # | |||||
Defined in OAlg.Category.SDuality Associated Types
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 # | |||||
Defined in OAlg.Data.Variant Associated Types
Methods homomorphous :: Variant2 v h x y -> Homomorphous (ObjectClass (Variant2 v h)) x y Source # domain :: Variant2 v h x y -> Struct (ObjectClass (Variant2 v h)) x Source # range :: Variant2 v h x y -> Struct (ObjectClass (Variant2 v h)) y Source # | |||||
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.
Instances
| Category (Homomorphous s) Source # | |||||
Defined in OAlg.Category.Definition Methods cOne :: Struct (ObjectClass (Homomorphous s)) x -> Homomorphous s x x Source # (.) :: Homomorphous s y z -> Homomorphous s x y -> Homomorphous s x z Source # | |||||
| Cayleyan2 (Homomorphous m) Source # | |||||
Defined in OAlg.Category.Definition Methods invert2 :: Homomorphous m x y -> Homomorphous m y x Source # | |||||
| Morphism (Homomorphous s) Source # | |||||
Defined in OAlg.Category.Definition Associated Types
Methods homomorphous :: Homomorphous s x y -> Homomorphous (ObjectClass (Homomorphous s)) x y Source # domain :: Homomorphous s x y -> Struct (ObjectClass (Homomorphous s)) x Source # range :: Homomorphous s x y -> Struct (ObjectClass (Homomorphous s)) y Source # | |||||
| Eq2 (Homomorphous m) Source # | |||||
Defined in OAlg.Category.Definition Methods eq2 :: Homomorphous m x y -> Homomorphous m x y -> Bool Source # | |||||
| Show2 (Homomorphous m) Source # | |||||
Defined in OAlg.Category.Definition Methods show2 :: Homomorphous m a b -> String Source # | |||||
| Show (Homomorphous s x y) Source # | |||||
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 # | |||||
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 # | |||||
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.
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.
Instances
| ApplicativeG t EntEmpty2 b Source # | |
Defined in OAlg.Entity.Definition | |
| ApplicativeG Id GLApp (->) Source # | |
| ApplicativeG Id TrApp (->) Source # | |
| ApplicativeG Pnt GLApp (->) Source # | |
| ApplicativeG Pnt TrApp (->) Source # | |
| ApplicativeG Id h c => ApplicativeG Id (Inv2 h) c Source # | |
| ApplicativeG Id h c => ApplicativeG Id (Id2 h) c Source # | |
| ApplicativeG Id (HomEmpty s) c Source # | |
| ApplicativeG Rt h c => ApplicativeG Rt (Inv2 h) c Source # | |
| ApplicativeG Rt (HomEmpty s) c Source # | |
| ApplicativeG Pnt h c => ApplicativeG Pnt (Inv2 h) c Source # | |
| ApplicativeG Pnt h c => ApplicativeG Pnt (Id2 h) c Source # | |
| ApplicativeG Pnt (HomEmpty s) c Source # | |
| (Category c, ApplicativeG t m c, TransformableGObjectClass t m c) => ApplicativeG t (Path m) c Source # | |
Defined in OAlg.Category.Path | |
| TransformableOrt s => ApplicativeG Id (Ornt s) (->) Source # | |
| (Semiring r, Commutative r) => ApplicativeG Id (HomSymbol r) (->) Source # | |
| ApplicativeG Id (SliceFactorDrop s) (->) Source # | |
Defined in OAlg.Entity.Slice.Definition | |
| ApplicativeG Id (HomId s) (->) Source # | |
| ApplicativeG Set (Map EntOrd) (->) Source # | |
| ApplicativeG Set (Map Ord') (->) Source # | |
| Transformable s FbrOrt => ApplicativeG Rt (Ornt s) (->) Source # | |
| ApplicativeG Rt (HomSymbol r) (->) Source # | |
| ApplicativeG Pnt (Ornt s) (->) Source # | |
| ApplicativeG Pnt (SliceFactorDrop s) (->) Source # | |
Defined in OAlg.Entity.Slice.Definition | |
| ApplicativeG Pnt (HomId s) (->) Source # | |
| ApplicativeG [] (Map s) (->) Source # | |
Defined in OAlg.Category.Map | |
| (ApplicativeG t f c, ApplicativeG t g c) => ApplicativeG t (Either2 f g) c Source # | |
Defined in OAlg.Category.Applicative | |
| ApplicativeG Id (->) (->) Source # | |
| ApplicativeG X (->) (->) Source # | |
| ApplicativeG SomeFinList (->) (->) Source # | |
Defined in OAlg.Entity.FinList Methods amapG :: (x -> y) -> SomeFinList x -> SomeFinList y Source # | |
| ApplicativeG Orientation (->) (->) Source # | |
Defined in OAlg.Structure.Oriented.Orientation Methods amapG :: (x -> y) -> Orientation x -> Orientation y Source # | |
| ApplicativeG Maybe (->) (->) Source # | |
| ApplicativeG [] (->) (->) Source # | |
Defined in OAlg.Category.Applicative | |
| (ApplicativeG d a b, TransformableG d s t) => ApplicativeG d (Sub s a) (Sub t b) Source # | |
| ApplicativeG f h (->) => ApplicativeG f (Sub t h) (->) Source # | |
Defined in OAlg.Category.Definition | |
| (Morphism h, ApplicativeG Id h c, DualisableG s c o Id, c ~ (->)) => ApplicativeG Id (HomDisj s o h) c Source # | |
| (TransformableDst s, TransformableGRefl o s, DualisableDistributive s o, TransformableGRefl Matrix s) => ApplicativeG Id (MorCo Matrix s o) (->) Source # | |
| (Distributive d, Sliced i d, Conic c) => ApplicativeG Id (SliceAdjunction i c d) (->) Source # | |
Defined in OAlg.Entity.Slice.Adjunction | |
| (HomOriented h, DualisableOriented s o) => ApplicativeG SomeDiagram (HomDisj s o h) (->) Source # | |
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 # | |
| (Morphism h, ApplicativeRoot h, DualisableG s (->) o Rt) => ApplicativeG Rt (HomDisj s o h) (->) Source # | |
| (TransformableGRefl o s, DualisableDistributive s o, TransformableGRefl Matrix s) => ApplicativeG Pnt (MorCo Matrix s o) (->) Source # | |
| (Distributive d, Sliced i d, Conic c) => ApplicativeG Pnt (SliceAdjunction i c d) (->) Source # | |
Defined in OAlg.Entity.Slice.Adjunction | |
| (Morphism h, ApplicativePoint h, DualisableG s (->) o Pnt) => ApplicativeG Pnt (HomDisj s o h) (->) Source # | |
| (ApplicativeMorCo d m s o (->), DualisableG s (->) o d) => ApplicativeG d (HomCo m s o) (->) Source # | |
Defined in OAlg.Data.HomCo | |
| ApplicativeG Id h c => ApplicativeG Id (Variant2 v h) c Source # | |
| ApplicativeG Rt h c => ApplicativeG Rt (Variant2 v h) c Source # | |
| ApplicativeG Pnt h c => ApplicativeG Pnt (Variant2 v h) c Source # | |
| (HomOrientedDisjunctive h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (Diagram t n m)) h (->) Source # | |
| (HomOrientedDisjunctive h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (DiagramG Diagram t n m)) h (->) Source # | |
| (HomSlicedOriented i h, t ~ Dual (Dual t)) => ApplicativeG (SDualBi (DiagramG (SliceDiagram i) t n m)) h (->) Source # | |
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 # | |
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 # | |
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 # | |
| (HomSlicedOriented i h, s ~ Dual (Dual s)) => ApplicativeG (SDualBi (Slice s i)) h (->) Source # | |
| (HomSlicedMultiplicative i h, s ~ Dual (Dual s)) => ApplicativeG (SDualBi (SliceFactor s i)) h (->) Source # | |
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 # | |
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 # | |
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 # | |
| (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 # | |
| (HomDistributiveDisjunctive h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => ApplicativeG (SDualBi (ConeG ConeZeroHead s p d t n m)) h (->) Source # | |
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 # | |
| (HomMultiplicativeDisjunctive h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => ApplicativeG (SDualBi (Cone Mlt p d t n m)) h (->) Source # | |
| (HomDistributiveDisjunctive h, NaturalDiagrammaticBi h d t n m, p ~ Dual (Dual p)) => ApplicativeG (SDualBi (ConeZeroHead s p d t n m)) h (->) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
| (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 # | |
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 # | |
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 # | |
| (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 # | |
| (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 # | |
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 # | |
| ApplicativeG (FinList n) (->) (->) Source # | |
| ApplicativeG (Col i) (->) (->) Source # | |
| ApplicativeG (Row i) (->) (->) Source # | |
| ApplicativeG (Word r) (->) (->) Source # | |
| ApplicativeG (PSequence i) (->) (->) Source # | |
| ApplicativeG (LinearCombination r) (->) (->) Source # | |
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 # | |
| (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 # | |
| (Morphism h, ApplicativeGBi d h (->), DualisableGBi r (->) o d, Transformable s r) => ApplicativeG (SDualBi d) (SHom r s o h) (->) Source # | |
| ApplicativeG (Entries i j) (->) (->) Source # | |
| HomOriented h => ApplicativeG (Diagram t n m) h (->) 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.
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 to Category a according to the
type function Category bt.
Properties Let , the holdst: FunctorialG f a b
Instances
| FunctorialG Id h c => FunctorialG Id (Inv2 h) c Source # | |
Defined in OAlg.Data.Identity | |
| FunctorialG Pnt h c => FunctorialG Pnt (Inv2 h) c Source # | |
Defined in OAlg.Structure.Oriented.Point | |
| (Morphism m, Category c, ApplicativeG t m c, TransformableGObjectClass t m c) => FunctorialG t (Path m) c Source # | |
Defined in OAlg.Category.Path | |
| FunctorialG Set (Map EntOrd) (->) Source # | |
Defined in OAlg.Entity.Sequence.Set | |
| FunctorialG Set (Map Ord') (->) Source # | |
Defined in OAlg.Entity.Sequence.Set | |
| FunctorialG [] (Map s) (->) Source # | |
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 # | |
Defined in OAlg.Category.Definition | |
| (FunctorialG f c (->), TransformableObjectClass s c) => FunctorialG f (Sub s c) (->) Source # | |
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 # | |
Defined in OAlg.Hom.Definition | |
| (HomOriented h, DualisableOriented s o) => FunctorialG SomeDiagram (HomDisj s o h) (->) Source # | |
Defined in OAlg.Entity.Diagram.Definition | |
| (Morphism h, ApplicativeRoot h, DualisableG s (->) o Rt) => FunctorialG Rt (HomDisj s o h) (->) Source # | |
Defined in OAlg.Hom.Definition | |
| (Morphism h, ApplicativePoint h, DualisableG s (->) o Pnt) => FunctorialG Pnt (HomDisj s o h) (->) Source # | |
Defined in OAlg.Hom.Definition | |
| (FunctorialHomCo d m s o (->), DualisableG s (->) o d) => FunctorialG d (HomCo m s o) (->) Source # | |
Defined in OAlg.Data.HomCo | |
| (HomOrientedDisjunctive h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (Diagram t n m)) h (->) Source # | |
Defined in OAlg.Entity.Diagram.Definition | |
| (HomOrientedDisjunctive h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (DiagramG Diagram t n m)) h (->) Source # | |
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 # | |
Defined in OAlg.Entity.Slice.Adjunction | |
| (HomOrientedSlicedFree h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (DiagramG DiagramFree t n m)) h (->) Source # | |
Defined in OAlg.Entity.Slice.Free | |
| (HomMultiplicativeDisjunctive h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (DiagramTrafo t n m)) h (->) Source # | |
Defined in OAlg.Entity.Diagram.Transformation | |
| (HomDistributiveDisjunctive h, FunctorialOriented h) => FunctorialG (SDualBi Matrix) h (->) Source # | |
Defined in OAlg.Entity.Matrix.Definition | |
| (HomSlicedOriented i h, FunctorialOriented h, s ~ Dual (Dual s)) => FunctorialG (SDualBi (Slice s i)) h (->) Source # | |
Defined in OAlg.Entity.Slice.Definition | |
| (HomSlicedMultiplicative i h, FunctorialOriented h, s ~ Dual (Dual s)) => FunctorialG (SDualBi (SliceFactor s i)) h (->) Source # | |
Defined in OAlg.Entity.Slice.Definition | |
| (HomOrientedSlicedFree h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (DiagramFree t n m)) h (->) Source # | |
Defined in OAlg.Entity.Slice.Free | |
| (HomOrientedSlicedFree h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (SomeFreeSliceDiagram t n m)) h (->) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in OAlg.Limes.Cone.ZeroHead.Duality | |
| (HomDistributiveDisjunctive h, t ~ Dual (Dual t), FunctorialOriented h) => FunctorialG (SDualBi (ConsecutiveZero t n)) h (->) Source # | |
Defined in OAlg.Limes.Exact.ConsecutiveZero | |
| (HomDistributiveDisjunctive h, FunctorialOriented h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (ConsecutiveZeroHom t n)) h (->) Source # | |
Defined in OAlg.Limes.Exact.ConsecutiveZero | |
| (HomDistributiveDisjunctive h, FunctorialOriented h, HomOrientedSlicedFree h, t ~ Dual (Dual t)) => FunctorialG (SDualBi (ConsecutiveZeroFree t n)) h (->) Source # | |
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 # | |
Defined in OAlg.Entity.Slice.Free | |
| p ~ Dual (Dual p) => FunctorialG (SDualBi (LiftableFree p)) (Inv2 (HomFree Dst)) (->) Source # | |
Defined in OAlg.Entity.Slice.Free | |
| p ~ Dual (Dual p) => FunctorialG (SDualBi (LiftableFree p)) (Inv2 (HomFree Mlt)) (->) Source # | |
Defined in OAlg.Entity.Slice.Free | |
| (CategoryDisjunctive h, HomSlicedMultiplicative i h, p ~ Dual (Dual p)) => FunctorialG (SDualBi (Liftable p i)) (Inv2 h) (->) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
Defined in OAlg.Category.SDuality | |
| (HomOriented h, FunctorialOriented h) => FunctorialG (Diagram t n m) h (->) Source # | |
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.
Transformables
class Transformable s (ObjectClass c) => TransformableObjectClass s (c :: Type -> Type -> Type) Source #
helper class to avoid undecided instances.
Instances
| TransformableObjectClass OrtX EqualExtOrt Source # | |
Defined in OAlg.Structure.Oriented.Definition | |
| Transformable s Type => TransformableObjectClass s (->) Source # | |
Defined in OAlg.Category.Definition | |
| TransformableObjectClass OrtX (HomDisj OrtX Op (HomEmpty OrtX)) Source # | |
Defined in OAlg.Hom.Definition | |
| TransformableObjectClass s (SHom r s o h) Source # | |
Defined in OAlg.Category.SDuality | |
| Transformable (s, Sld i) s => TransformableObjectClass (s, Sld i) (HomDisjEmpty s Op) Source # | |
Defined in OAlg.Entity.Slice.Sliced | |
| TransformableObjectClass (Dst, SldFr) (HomDisj Dst Op (HomEmpty Dst)) Source # | |
Defined in OAlg.Entity.Slice.Free | |
| TransformableObjectClass (Mlt, SldFr) (HomDisj Mlt Op (HomEmpty Mlt)) Source # | |
Defined in OAlg.Entity.Slice.Free | |
class Transformable (ObjectClass m) Typ => TransformableObjectClassTyp (m :: Type -> Type -> Type) Source #
helper class to avoid undecided instances.
Example By declaring an instance
instance (.., for a Transformable (ObjectClass m) Typ,..) => C m
and a class Morphism mC 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 (.., which will solve the problem!TransformableObjectClassTyp m),..) => C m
Instances
| TransformableObjectClassTyp GLApp Source # | |
Defined in OAlg.Entity.Matrix.GeneralLinearGroup | |
| TransformableObjectClassTyp TrApp Source # | |
Defined in OAlg.Entity.Matrix.GeneralLinearGroup | |
| TransformableObjectClassTyp m => TransformableObjectClassTyp (Path m) Source # | |
Defined in OAlg.Category.Path | |
| TransformableTyp s => TransformableObjectClassTyp (Ornt s) Source # | |
Defined in OAlg.Data.Ornt | |
| TransformableObjectClassTyp (SliceAdjunction i c d) Source # | |
Defined in OAlg.Entity.Slice.Adjunction | |
| Transformable s Typ => TransformableObjectClassTyp (SMorphism r s o h) Source # | |
Defined in OAlg.Category.SDuality | |
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
| TransformableGObjectClass t a (->) Source # | |
Defined in OAlg.Category.Definition | |
| TransformableGObjectClass t m c => TransformableGObjectClass t (Path m) c Source # | |
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.
Instances
| TransformableGObjectClassDomain Id (HomDisj OrtX Op (HomEmpty OrtX)) EqEOrt Source # | |
Defined in OAlg.Hom.Definition | |
| TransformableGObjectClassDomain Pnt (HomDisj OrtX Op (HomEmpty OrtX)) EqEOrt Source # | |
Defined in OAlg.Hom.Definition | |
| TransformableG d s t => TransformableGObjectClassDomain d (SHom r s o h) t Source # | |
Defined in OAlg.Category.SDuality | |
class TransformableG d s (ObjectClass c) => TransformableGObjectClassRange (d :: Type -> Type) s (c :: Type -> Type -> Type) Source #
helper class to avoid undecided instances.