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

Description

unification of categories, i.e. projecting morphisms by dropping the parameterization by there domain and range.

Synopsis

Morphism

data SomeMorphism (m :: Type -> Type -> Type) where Source #

some morphism.

Constructors

SomeMorphism :: forall (m :: Type -> Type -> Type) x y. m x y -> SomeMorphism m 

Instances

Instances details
Show2 m => Show (SomeMorphism m) Source # 
Instance details

Defined in OAlg.Category.Unify

(Morphism m, TransformableObjectClassTyp m, Typeable m, Eq2 m) => Eq (SomeMorphism m) Source # 
Instance details

Defined in OAlg.Category.Unify

Validable2 m => Validable (SomeMorphism m) Source # 
Instance details

Defined in OAlg.Category.Unify

(Morphism m, TransformableObjectClassTyp m, Entity2 m) => Oriented (SomeMorphism m) Source # 
Instance details

Defined in OAlg.Structure.Oriented.Definition

EqPoint (SomeMorphism m) Source # 
Instance details

Defined in OAlg.Structure.Oriented.Point

ShowPoint (SomeMorphism m) Source # 
Instance details

Defined in OAlg.Structure.Oriented.Point

Typeable m => TypeablePoint (SomeMorphism m) Source # 
Instance details

Defined in OAlg.Structure.Oriented.Point

ValidablePoint (SomeMorphism m) Source # 
Instance details

Defined in OAlg.Structure.Oriented.Point

type Point (SomeMorphism m) Source # 
Instance details

Defined in OAlg.Structure.Oriented.Point

data SomeObjectClass (m :: Type -> Type -> Type) where Source #

some object class.

Constructors

SomeObjectClass :: forall (m :: Type -> Type -> Type) x. Transformable (ObjectClass m) Typ => Struct (ObjectClass m) x -> SomeObjectClass m 

Instances

Instances details
Show (SomeObjectClass m) Source # 
Instance details

Defined in OAlg.Category.Unify

Eq (SomeObjectClass m) Source # 
Instance details

Defined in OAlg.Category.Unify

Dualisable (SomeObjectClass m) Source # 
Instance details

Defined in OAlg.Category.Unify

Validable (SomeObjectClass m) Source # 
Instance details

Defined in OAlg.Category.Unify

type Dual (SomeObjectClass m :: Type) Source # 
Instance details

Defined in OAlg.Category.Unify

data SomeMorphismSite (s :: Site) (m :: Type -> Type -> Type) x where Source #

some morphism given by a Site.

Constructors

SomeMorphismDomain :: forall (m :: Type -> Type -> Type) x y. m x y -> SomeMorphismSite 'From m x 
SomeMorphismRange :: forall (m :: Type -> Type -> Type) x1 x. m x1 x -> SomeMorphismSite 'To m x 

Instances

Instances details
Dualisable (SomeMorphismSite 'To m y) Source # 
Instance details

Defined in OAlg.Category.Unify

type Dual (SomeMorphismSite s m y :: Type) Source # 
Instance details

Defined in OAlg.Category.Unify

type Dual (SomeMorphismSite s m y :: Type) = SomeMorphismSite (Dual s) (Op2 m) y

someOne :: forall (c :: Type -> Type -> Type). Category c => SomeObjectClass c -> SomeMorphism c Source #

some cOne for some object class.

data SomeCmpb3 (c :: Type -> Type -> Type) where Source #

some composable morphisms.

Constructors

SomeCmpb3 :: forall (c :: Type -> Type -> Type) x w y z. c x w -> c y x -> c z y -> SomeCmpb3 c 

data SomeCmpb2 (c :: Type -> Type -> Type) where Source #

some composable morphisms.

Constructors

SomeCmpb2 :: forall (c :: Type -> Type -> Type) y z x. c y z -> c x y -> SomeCmpb2 c 

smCmpb2 :: forall (h :: Type -> Type -> Type). Category h => SomeCmpb2 h -> SomeMorphism h Source #

composing the two composables.

Path

data SomePath (m :: Type -> Type -> Type) where Source #

some path

Constructors

SomePath :: forall (m :: Type -> Type -> Type) x y. Path m x y -> SomePath m 

Instances

Instances details
Show2 m => Show (SomePath m) Source # 
Instance details

Defined in OAlg.Category.Unify

Methods

showsPrec :: Int -> SomePath m -> ShowS #

show :: SomePath m -> String #

showList :: [SomePath m] -> ShowS #

Morphism m => Dualisable (SomePath m) Source # 
Instance details

Defined in OAlg.Category.Unify

type Dual (SomePath m :: Type) Source # 
Instance details

Defined in OAlg.Category.Unify

type Dual (SomePath m :: Type) = SomePath (Op2 m)

somePath :: forall (s :: Site) (m :: Type -> Type -> Type) x. SomePathSite s m x -> SomePath m Source #

embedding.

data SomePathSite (s :: Site) (m :: Type -> Type -> Type) x where Source #

some path parameterized either by its domain or range.

Constructors

SomePathDomain :: forall (m :: Type -> Type -> Type) x y. Path m x y -> SomePathSite 'From m x 
SomePathRange :: forall (m :: Type -> Type -> Type) x1 x. Path m x1 x -> SomePathSite 'To m x 

Instances

Instances details
Morphism m => Dualisable (SomePathSite 'To m y) Source # 
Instance details

Defined in OAlg.Category.Unify

type Dual (SomePathSite s m y :: Type) Source # 
Instance details

Defined in OAlg.Category.Unify

type Dual (SomePathSite s m y :: Type) = SomePathSite (Dual s) (Op2 m) y

Entity

data SomeEntity (m :: Type -> Type -> Type) where Source #

some entity x in x having the given ObjectClass m as structure.

Constructors

SomeEntity :: forall x (m :: Type -> Type -> Type). Entity x => Struct (ObjectClass m) x -> x -> SomeEntity m 

Application

data SomeApplication (h :: Type -> Type -> Type) where Source #

some application.

Constructors

SomeApplication :: forall (h :: Type -> Type -> Type) x y. h x y -> x -> SomeApplication h 

xSomeAppl :: (Morphism m, Transformable (ObjectClass m) XStd) => m x y -> X (SomeApplication m) Source #

random variable for some application.