{-| Module  : FiniteCategories
Description : An example of 'FullSubcategory' of __'FinCat'__ pretty printed.
Copyright   : Guillaume Sabbagh 2022
License     : GPL-3
Maintainer  : guillaumesabbagh@protonmail.com
Stability   : experimental
Portability : portable

An example of 'FullSubcategory' of __'FinCat'__ pretty printed.
-}
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
    
    -- | An example of 'FullSubcategory' of __'FinCat'__ pretty printed.

    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"