{-| Module : FiniteCategories Description : An example of coslice category. Copyright : Guillaume Sabbagh 2021 License : GPL-3 Maintainer : guillaumesabbagh@protonmail.com Stability : experimental Portability : portable An example of coslice category. -} module ExampleCommaCategory.ExampleCosliceCategory ( cosliceCategory, main ) where import RandomCompositionGraph.RandomCompositionGraph import System.Random import ExportGraphViz.ExportGraphViz (catToPdf,diagToPdf,diagToPdf2) import Diagram.Diagram (mkIdentityDiagram) import FiniteCategory.FiniteCategory import CommaCategory.CommaCategory import Utils.Sample import Data.Maybe (rcg1,newGen) = (defaultMkRandomCompositionGraph (mkStdGen 834589)) -- | The category of objects under a random one. cosliceCategory = fromJust $ mkCosliceCategory rcg1 (fst (pickOne (ob rcg1) newGen)) -- | Export the coslice category as a pdf with GraphViz. main = do putStrLn "Start of ExampleCosliceCategory" catToPdf rcg1 "OutputGraphViz/Examples/CommaCategory/CosliceCategory/rcg" catToPdf cosliceCategory "OutputGraphViz/Examples/CommaCategory/CosliceCategory/coslice" putStrLn "End of ExampleCosliceCategory"