oalg-base-1.1.4.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 HaskellSafe-Inferred
LanguageHaskell2010

OAlg.Category.Path

Contents

Description

category of paths over morphisms.

Synopsis

Path

data Path m x y where Source #

paths over morphisms.

Constructors

IdPath :: Struct (ObjectClass m) x -> Path m x x 
(:.) :: m y z -> Path m x y -> Path m x z infixr 9 

Instances

Instances details
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

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

Defined in OAlg.Category.Path

Methods

amap :: Path m a b -> a -> b 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 #

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

Defined in OAlg.Category.Path

Methods

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

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

Defined in OAlg.Category.Path

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

Defined in OAlg.Category.Path

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

Defined in OAlg.Category.Path

Associated Types

type ObjectClass (Path m) Source #

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 #

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

(Entity2 h, EmbeddableMorphismTyp h) => Entity2 (Path h) Source # 
Instance details

Defined in OAlg.Category.Path

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

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

Defined in OAlg.Hom.Fibred

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

Defined in OAlg.Hom.Fibred

Methods

rmap :: Path h a b -> Root a -> Root b Source #

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

Defined in OAlg.Hom.Fibred

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

Defined in OAlg.Hom.Multiplicative.Definition

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

Defined in OAlg.Hom.Oriented.Definition

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

Defined in OAlg.Hom.Oriented.Definition

Methods

pmap :: Path h a b -> Point a -> Point b Source #

EmbeddableMorphism m t => EmbeddableMorphism (Path m) t Source # 
Instance details

Defined in OAlg.Category.Path

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 #

Reducible (PathHomOp s a b) Source # 
Instance details

Defined in OAlg.Hom.Oriented.Definition

Methods

reduce :: PathHomOp s a b -> PathHomOp s a b 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 #

Reducible (PathOpMap f s a b) Source # 
Instance details

Defined in OAlg.Hom.Oriented.Definition

Methods

reduce :: PathOpMap f s a b -> PathOpMap f s a b 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 :: Morphism m => Path m x y -> Path (Op2 m) y x Source #

the opposite path.

fromOp2Path :: 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 :: Path m x y -> N Source #

the length of a path.