Copyright | Guillaume Sabbagh 2022 |
---|---|
License | GPL-3 |
Maintainer | guillaumesabbagh@protonmail.com |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
The FinGrph
category has finite multidigraphs as objects and multidigraph homomorphisms as morphisms.
Synopsis
- data Arrow n e = Arrow {
- sourceArrow :: n
- targetArrow :: n
- labelArrow :: e
- data Graph n e
- nodes :: Graph n e -> Set n
- edges :: Graph n e -> Set (Arrow n e)
- graph :: Eq n => Set n -> Set (Arrow n e) -> Maybe (Graph n e)
- unsafeGraph :: Set n -> Set (Arrow n e) -> Graph n e
- mapOnNodes :: (n1 -> n2) -> Graph n1 e -> Graph n2 e
- mapOnEdges :: (e1 -> e2) -> Graph n e1 -> Graph n e2
- data GraphHomomorphism n e
- nodeMap :: GraphHomomorphism n e -> Map n n
- edgeMap :: GraphHomomorphism n e -> Map (Arrow n e) (Arrow n e)
- checkGraphHomomorphism :: (Eq n, Eq e) => GraphHomomorphism n e -> Bool
- graphHomomorphism :: (Eq n, Eq e) => Map n n -> Map (Arrow n e) (Arrow n e) -> Graph n e -> Maybe (GraphHomomorphism n e)
- unsafeGraphHomomorphism :: Map n n -> Map (Arrow n e) (Arrow n e) -> Graph n e -> GraphHomomorphism n e
- data FinGrph n e = FinGrph
- underlyingGraph :: (FiniteCategory c m o, Morphism m o) => c -> Graph o m
- underlyingGraphFormat :: (FiniteCategory c m o, Morphism m o) => (o -> a) -> (m -> b) -> c -> Graph a b
Graph
An Arrow
is composed of a source node, a target node and a label.
Arrow | |
|
Instances
(PrettyPrint n, PrettyPrint e) => PrettyPrint (Arrow n e) Source # | |
Defined in Math.Categories.FinGrph | |
(Simplifiable n, Simplifiable e) => Simplifiable (Arrow n e) Source # | |
Defined in Math.Categories.FinGrph | |
Generic (Arrow n e) Source # | |
(Show n, Show e) => Show (Arrow n e) Source # | |
(Eq n, Eq e) => Eq (Arrow n e) Source # | |
type Rep (Arrow n e) Source # | |
Defined in Math.Categories.FinGrph type Rep (Arrow n e) = D1 ('MetaData "Arrow" "Math.Categories.FinGrph" "FiniteCategories-0.6.5.1-inplace" 'False) (C1 ('MetaCons "Arrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "sourceArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 n) :*: (S1 ('MetaSel ('Just "targetArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 n) :*: S1 ('MetaSel ('Just "labelArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)))) |
Instances
(PrettyPrint n, PrettyPrint e, Eq n, Eq e) => PrettyPrint (Graph n e) Source # | |
Defined in Math.Categories.FinGrph | |
(Simplifiable n, Simplifiable e, Eq n, Eq e) => Simplifiable (Graph n e) Source # | |
Defined in Math.Categories.FinGrph | |
Generic (Graph n e) Source # | |
(Show n, Show e) => Show (Graph n e) Source # | |
(Eq n, Eq e) => Eq (Graph n e) Source # | |
(Eq n, Eq e) => Morphism (GraphHomomorphism n e) (Graph n e) Source # | |
Defined in Math.Categories.FinGrph (@) :: GraphHomomorphism n e -> GraphHomomorphism n e -> GraphHomomorphism n e Source # (@?) :: GraphHomomorphism n e -> GraphHomomorphism n e -> Maybe (GraphHomomorphism n e) Source # source :: GraphHomomorphism n e -> Graph n e Source # target :: GraphHomomorphism n e -> Graph n e Source # | |
(Eq n, Eq e) => Category (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
Defined in Math.Categories.FinGrph identity :: FinGrph n e -> Graph n e -> GraphHomomorphism n e Source # ar :: FinGrph n e -> Graph n e -> Graph n e -> Set (GraphHomomorphism n e) Source # genAr :: FinGrph n e -> Graph n e -> Graph n e -> Set (GraphHomomorphism n e) Source # decompose :: FinGrph n e -> GraphHomomorphism n e -> [GraphHomomorphism n e] Source # | |
(Eq e, Eq n) => HasCoequalizers (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | BEWARE, for the coequalizer to be correct, ALL arrow labels should be different (two arrows with different source and target might have the same source and target after the coequalization process). |
Defined in Math.Categories.FinGrph coequalize :: Diagram Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cocone Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
(Eq n, Eq e) => HasEqualizers (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
Defined in Math.Categories.FinGrph equalize :: Diagram Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cone Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
(Eq n, Eq e, Eq oIndex) => HasCoproducts (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) oIndex Source # | |
Defined in Math.Categories.FinGrph coproduct :: Diagram (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cocone (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) Source # | |
(Eq n, Eq e, Eq oIndex) => HasProducts (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) oIndex Source # | |
Defined in Math.Categories.FinGrph product :: Diagram (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cone (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) Source # | |
(Eq e, Eq n, Eq mIndex, Eq oIndex) => CocompleteCategory (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) cIndex mIndex oIndex Source # | |
Defined in Math.Categories.FinGrph colimit :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cocone cIndex mIndex oIndex (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) Source # coprojectBase :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Diagram (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) Source # | |
(Eq n, Eq e, Eq mIndex, Eq oIndex) => CompleteCategory (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) cIndex mIndex oIndex Source # | |
Defined in Math.Categories.FinGrph limit :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cone cIndex mIndex oIndex (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) Source # projectBase :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Diagram (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) Source # | |
type Rep (Graph n e) Source # | |
Defined in Math.Categories.FinGrph type Rep (Graph n e) = D1 ('MetaData "Graph" "Math.Categories.FinGrph" "FiniteCategories-0.6.5.1-inplace" 'False) (C1 ('MetaCons "Graph" 'PrefixI 'True) (S1 ('MetaSel ('Just "nodes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set n)) :*: S1 ('MetaSel ('Just "edges") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set (Arrow n e))))) |
Getters
Smart constructors
Transformation
Graph homomorphism
data GraphHomomorphism n e Source #
A GraphHomomorphism
is composed of a map between the nodes of the graphs, a map between the edges of the graphs, and the target Graph
so that we can recover it from the morphism.
It must follow axioms such that the image of an arrow is not torn appart, that is why the constructor is private. Use the smart constructor graphHomomorphism
instead.
Instances
(PrettyPrint n, PrettyPrint e, Eq n, Eq e) => PrettyPrint (GraphHomomorphism n e) Source # | |
Defined in Math.Categories.FinGrph pprint :: Int -> GraphHomomorphism n e -> String Source # pprintWithIndentations :: Int -> Int -> String -> GraphHomomorphism n e -> String Source # pprintIndent :: Int -> GraphHomomorphism n e -> String Source # | |
(Simplifiable n, Simplifiable e, Eq n, Eq e) => Simplifiable (GraphHomomorphism n e) Source # | |
Defined in Math.Categories.FinGrph simplify :: GraphHomomorphism n e -> GraphHomomorphism n e # | |
Generic (GraphHomomorphism n e) Source # | |
Defined in Math.Categories.FinGrph type Rep (GraphHomomorphism n e) :: Type -> Type from :: GraphHomomorphism n e -> Rep (GraphHomomorphism n e) x to :: Rep (GraphHomomorphism n e) x -> GraphHomomorphism n e | |
(Show n, Show e) => Show (GraphHomomorphism n e) Source # | |
Defined in Math.Categories.FinGrph showsPrec :: Int -> GraphHomomorphism n e -> ShowS show :: GraphHomomorphism n e -> String showList :: [GraphHomomorphism n e] -> ShowS | |
(Eq n, Eq e) => Eq (GraphHomomorphism n e) Source # | |
Defined in Math.Categories.FinGrph (==) :: GraphHomomorphism n e -> GraphHomomorphism n e -> Bool (/=) :: GraphHomomorphism n e -> GraphHomomorphism n e -> Bool | |
(Eq n, Eq e) => Morphism (GraphHomomorphism n e) (Graph n e) Source # | |
Defined in Math.Categories.FinGrph (@) :: GraphHomomorphism n e -> GraphHomomorphism n e -> GraphHomomorphism n e Source # (@?) :: GraphHomomorphism n e -> GraphHomomorphism n e -> Maybe (GraphHomomorphism n e) Source # source :: GraphHomomorphism n e -> Graph n e Source # target :: GraphHomomorphism n e -> Graph n e Source # | |
(Eq n, Eq e) => Category (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
Defined in Math.Categories.FinGrph identity :: FinGrph n e -> Graph n e -> GraphHomomorphism n e Source # ar :: FinGrph n e -> Graph n e -> Graph n e -> Set (GraphHomomorphism n e) Source # genAr :: FinGrph n e -> Graph n e -> Graph n e -> Set (GraphHomomorphism n e) Source # decompose :: FinGrph n e -> GraphHomomorphism n e -> [GraphHomomorphism n e] Source # | |
(Eq e, Eq n) => HasCoequalizers (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | BEWARE, for the coequalizer to be correct, ALL arrow labels should be different (two arrows with different source and target might have the same source and target after the coequalization process). |
Defined in Math.Categories.FinGrph coequalize :: Diagram Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cocone Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
(Eq n, Eq e) => HasEqualizers (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
Defined in Math.Categories.FinGrph equalize :: Diagram Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cone Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
(Eq n, Eq e, Eq oIndex) => HasCoproducts (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) oIndex Source # | |
Defined in Math.Categories.FinGrph coproduct :: Diagram (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cocone (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) Source # | |
(Eq n, Eq e, Eq oIndex) => HasProducts (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) oIndex Source # | |
Defined in Math.Categories.FinGrph product :: Diagram (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cone (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) Source # | |
(Eq e, Eq n, Eq mIndex, Eq oIndex) => CocompleteCategory (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) cIndex mIndex oIndex Source # | |
Defined in Math.Categories.FinGrph colimit :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cocone cIndex mIndex oIndex (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) Source # coprojectBase :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Diagram (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) Source # | |
(Eq n, Eq e, Eq mIndex, Eq oIndex) => CompleteCategory (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) cIndex mIndex oIndex Source # | |
Defined in Math.Categories.FinGrph limit :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cone cIndex mIndex oIndex (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) Source # projectBase :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Diagram (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) Source # | |
type Rep (GraphHomomorphism n e) Source # | |
Defined in Math.Categories.FinGrph type Rep (GraphHomomorphism n e) = D1 ('MetaData "GraphHomomorphism" "Math.Categories.FinGrph" "FiniteCategories-0.6.5.1-inplace" 'False) (C1 ('MetaCons "GraphHomomorphism" 'PrefixI 'True) (S1 ('MetaSel ('Just "nodeMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map n n)) :*: (S1 ('MetaSel ('Just "edgeMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map (Arrow n e) (Arrow n e))) :*: S1 ('MetaSel ('Just "targetGraph") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Graph n e))))) |
Getters
nodeMap :: GraphHomomorphism n e -> Map n n Source #
The mapping of nodes.
Smart constructor
checkGraphHomomorphism :: (Eq n, Eq e) => GraphHomomorphism n e -> Bool Source #
Check wether the structure of GraphHomomorphism
is respected or not.
graphHomomorphism :: (Eq n, Eq e) => Map n n -> Map (Arrow n e) (Arrow n e) -> Graph n e -> Maybe (GraphHomomorphism n e) Source #
The smart constructor of GraphHomomorphism
.
unsafeGraphHomomorphism :: Map n n -> Map (Arrow n e) (Arrow n e) -> Graph n e -> GraphHomomorphism n e Source #
Unsafe constructor of GraphHomomorphism
which does not check the structure of the GraphHomomorphism
.
FinGrph
The category of finite graphs.
Instances
PrettyPrint (FinGrph n e) Source # | |
Defined in Math.Categories.FinGrph | |
Simplifiable (FinGrph n e) Source # | |
Defined in Math.Categories.FinGrph | |
Generic (FinGrph n e) Source # | |
Show (FinGrph n e) Source # | |
Eq (FinGrph n e) Source # | |
(Eq n, Eq e) => Category (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
Defined in Math.Categories.FinGrph identity :: FinGrph n e -> Graph n e -> GraphHomomorphism n e Source # ar :: FinGrph n e -> Graph n e -> Graph n e -> Set (GraphHomomorphism n e) Source # genAr :: FinGrph n e -> Graph n e -> Graph n e -> Set (GraphHomomorphism n e) Source # decompose :: FinGrph n e -> GraphHomomorphism n e -> [GraphHomomorphism n e] Source # | |
(Eq e, Eq n) => HasCoequalizers (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | BEWARE, for the coequalizer to be correct, ALL arrow labels should be different (two arrows with different source and target might have the same source and target after the coequalization process). |
Defined in Math.Categories.FinGrph coequalize :: Diagram Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cocone Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
(Eq n, Eq e) => HasEqualizers (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
Defined in Math.Categories.FinGrph equalize :: Diagram Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cone Parallel ParallelAr ParallelOb (FinGrph n e) (GraphHomomorphism n e) (Graph n e) Source # | |
(Eq n, Eq e, Eq oIndex) => HasCoproducts (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) oIndex Source # | |
Defined in Math.Categories.FinGrph coproduct :: Diagram (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cocone (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) Source # | |
(Eq n, Eq e, Eq oIndex) => HasProducts (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) oIndex Source # | |
Defined in Math.Categories.FinGrph product :: Diagram (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cone (DiscreteCategory oIndex) (DiscreteMorphism oIndex) oIndex (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) Source # | |
(Eq e, Eq n, Eq mIndex, Eq oIndex) => CocompleteCategory (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) cIndex mIndex oIndex Source # | |
Defined in Math.Categories.FinGrph colimit :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cocone cIndex mIndex oIndex (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) Source # coprojectBase :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Diagram (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Colimit oIndex n) (Colimit oIndex e)) (GraphHomomorphism (Colimit oIndex n) (Colimit oIndex e)) (Graph (Colimit oIndex n) (Colimit oIndex e)) Source # | |
(Eq n, Eq e, Eq mIndex, Eq oIndex) => CompleteCategory (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) cIndex mIndex oIndex Source # | |
Defined in Math.Categories.FinGrph limit :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Cone cIndex mIndex oIndex (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) Source # projectBase :: Diagram cIndex mIndex oIndex (FinGrph n e) (GraphHomomorphism n e) (Graph n e) -> Diagram (FinGrph n e) (GraphHomomorphism n e) (Graph n e) (FinGrph (Limit oIndex n) (Limit oIndex e)) (GraphHomomorphism (Limit oIndex n) (Limit oIndex e)) (Graph (Limit oIndex n) (Limit oIndex e)) Source # | |
type Rep (FinGrph n e) Source # | |
Defined in Math.Categories.FinGrph type Rep (FinGrph n e) = D1 ('MetaData "FinGrph" "Math.Categories.FinGrph" "FiniteCategories-0.6.5.1-inplace" 'False) (C1 ('MetaCons "FinGrph" 'PrefixI 'False) (U1 :: Type -> Type)) |
underlyingGraph :: (FiniteCategory c m o, Morphism m o) => c -> Graph o m Source #
Return the underlying graph of a FiniteCategory
.
underlyingGraphFormat :: (FiniteCategory c m o, Morphism m o) => (o -> a) -> (m -> b) -> c -> Graph a b Source #
Return the underlying graph of a FiniteCategory
and apply formatting functions on objects and arrows.