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

Contents

Description

category of paths over morphisms.

Synopsis

Path

data Path (m :: Type -> Type -> Type) x y where Source #

paths over morphisms.

Constructors

IdPath :: forall (m :: Type -> Type -> Type) x. Struct (ObjectClass m) x -> Path m x x 
(:.) :: forall (m :: Type -> Type -> Type) y1 y x. m y1 y -> Path m x y1 -> Path m x y infixr 9 

Instances

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

Defined in OAlg.Data.Variant

Methods

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

HomAlgebraic k h => HomAlgebraic k (Path h) Source # 
Instance details

Defined in OAlg.Hom.Algebraic

HomVectorial k h => HomVectorial k (Path h) Source # 
Instance details

Defined in OAlg.Hom.Vectorial

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

(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

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

Defined in OAlg.Category.Path

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 #

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

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 #

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

Defined in OAlg.Category.Path

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

Defined in OAlg.Category.Path

Methods

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

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

Defined in OAlg.Category.Path

Methods

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

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

Defined in OAlg.Category.Path

Methods

valid2 :: Path m x y -> Statement Source #

(Morphism h, Disjunctive2 h) => CategoryDisjunctive (Path h) Source # 
Instance details

Defined in OAlg.Data.Variant

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

Defined in OAlg.Hom.Additive

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

Defined in OAlg.Hom.Distributive

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

Defined in OAlg.Hom.Fibred

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

Defined in OAlg.Hom.FibredOriented

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

Defined in OAlg.Hom.FibredOriented

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

Defined in OAlg.Hom.Multiplicative

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

Defined in OAlg.Hom.Oriented.Definition

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

Defined in OAlg.Hom.Oriented.Definition

Show2 (Path m) => Show (Path m x y) Source # 
Instance details

Defined in OAlg.Category.Path

Methods

showsPrec :: Int -> Path m x y -> ShowS #

show :: Path m x y -> String #

showList :: [Path m x y] -> ShowS #

Eq2 (Path m) => Eq (Path m x y) Source # 
Instance details

Defined in OAlg.Category.Path

Methods

(==) :: Path m x y -> Path m x y -> Bool #

(/=) :: Path m x y -> Path m x y -> Bool #

Morphism m => Dualisable (Path m x y) Source # 
Instance details

Defined in OAlg.Category.Path

Methods

toDual :: Path m x y -> Dual (Path m x y) Source #

fromDual :: Dual (Path m x y) -> Path m x y Source #

Validable2 (Path m) => Validable (Path m x y) Source # 
Instance details

Defined in OAlg.Category.Path

Methods

valid :: Path m x y -> Statement Source #

Disjunctive2 h => Disjunctive (Path h x y) Source # 
Instance details

Defined in OAlg.Data.Variant

Methods

variant :: Path h x y -> Variant Source #

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

Defined in OAlg.Category.SDuality

Methods

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

type Dual (Path m x y :: Type) Source # 
Instance details

Defined in OAlg.Category.Path

type Dual (Path m x y :: Type) = Path (Op2 m) y x
type ObjectClass (Path m) Source # 
Instance details

Defined in OAlg.Category.Path

toOp2Path :: forall (m :: Type -> Type -> Type) x y. Morphism m => Path m x y -> Path (Op2 m) y x Source #

the opposite path.

fromOp2Path :: forall (m :: Type -> Type -> Type) x y. Morphism m => Path (Op2 m) x y -> Path m y x Source #

from the opposite path.

compose :: Category m => Path m x y -> m x y Source #

composing the morphisms of a path.

mPath :: Morphism m => m x y -> Path m x y Source #

embedding morphisms into paths.

reverse :: (Morphism m, Morphism f) => (forall u. Struct (ObjectClass m) u -> Struct (ObjectClass f) u) -> (forall u v. m u v -> f v u) -> Path m x y -> Path f y x Source #

reversing a path given by the formal inverse function.

pthFoldr :: (forall x y. m x y -> f x -> f y) -> f a -> Path m a b -> f b Source #

folding from the right.

pthLength :: forall (m :: Type -> Type -> Type) x y. Path m x y -> N Source #

the length of a path.