module Data.Graph.Morphisms
()
where
import Data.Graph.DGraph
import Data.Graph.Types
import Data.Graph.UGraph
-- | Tell if two graphs are isomorphic
-- TODO: check first: same number of vertices, same number of edges
areIsomorphic :: Graph g => g v e -> g v' e' -> Bool
areIsomorphic = undefined
isomorphism :: Graph g => g v e -> g v' e' -> (v -> v')
isomorphism = undefined
-- | Tell if a 'UGraph' is regular
--
-- An undirected graph is @regular@ if each vertex has the same degree
isURegular :: UGraph v e -> Bool
isURegular = undefined
-- | Tell if a 'DGraph' is regular
--
-- A directed graph is @regular@ if each vertex has the same indegree and
-- outdegree
isDRegular :: DGraph v e -> Bool
isDRegular = undefined