module Math.FiniteCategories.FinCat.Example
(
main
)
where
import Data.WeakSet.Safe
import Math.Categories
import Math.FiniteCategories
import Math.IO.PrettyPrint
import Math.FiniteCategory
import Numeric.Natural
main :: IO ()
main :: IO ()
main = do
String -> IO ()
putStrLn String
"Start of Math.FiniteCategories.FinCat.Example"
String -> IO ()
putStrLn (String -> IO ()) -> String -> IO ()
forall a b. (a -> b) -> a -> b
$ FullSubcategory
(FinCat NumberCategory NumberCategoryMorphism Natural)
(FinFunctor NumberCategory NumberCategoryMorphism Natural)
NumberCategory
-> String
forall c m o.
(FiniteCategory c m o, Morphism m o, PrettyPrint c, PrettyPrint m,
PrettyPrint o, Eq m, Eq o) =>
c -> String
pprintFiniteCategory (FinCat NumberCategory NumberCategoryMorphism Natural
-> Set NumberCategory
-> FullSubcategory
(FinCat NumberCategory NumberCategoryMorphism Natural)
(FinFunctor NumberCategory NumberCategoryMorphism Natural)
NumberCategory
forall c m o. c -> Set o -> FullSubcategory c m o
FullSubcategory FinCat NumberCategory NumberCategoryMorphism Natural
forall c m o. FinCat c m o
FinCat (Natural -> NumberCategory
numberCategory (Natural -> NumberCategory) -> Set Natural -> Set NumberCategory
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ([Natural] -> Set Natural
forall a. [a] -> Set a
set [Natural
0..Natural
2])) :: FullSubcategory (FinCat NumberCategory NumberCategoryMorphism Natural) (FinFunctor NumberCategory NumberCategoryMorphism Natural) NumberCategory)
String -> IO ()
putStrLn String
"End of Math.FiniteCategories.FinCat.Example"