{-| Module  : FiniteCategories
Description : An example of 'FunctorCategory' exported with GraphViz.
Copyright   : Guillaume Sabbagh 2022
License     : GPL-3
Maintainer  : guillaumesabbagh@protonmail.com
Stability   : experimental
Portability : portable

An example of 'FunctorCategory' exported with GraphViz.

Export the category in the directory "OutputGraphViz\/Examples\/FiniteCategories\/FunctorCategory".
-}
module Math.FiniteCategories.FunctorCategory.Example
(
    main
)
where
    import Data.WeakSet.Safe
    import Data.WeakMap.Safe
    
    import Math.FiniteCategory
    import Math.Categories
    import Math.FiniteCategories
    import Math.IO.FiniteCategories.ExportGraphViz
    import Math.IO.PrettyPrint
    
    import Numeric.Natural
    
    -- | An example of 'FunctorCategory' exported with GraphViz.

    main :: IO ()
    main :: IO ()
main = do
        String -> IO ()
putStrLn String
"Start of Math.FiniteCategories.FunctorCategory.Example"
        FunctorCategory
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> String -> IO ()
forall o m c.
(Eq o, PrettyPrint o, PrettyPrint m, Morphism m o,
 FiniteCategory c m o) =>
c -> String -> IO ()
catToPdf (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> FunctorCategory
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2.
c1 -> c2 -> FunctorCategory c1 m1 o1 c2 m2 o2
FunctorCategory (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
2) (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)) String
"OutputGraphViz/Examples/FiniteCategories/FunctorCategory/FunctorCategory"
        [IO ()] -> IO [()]
forall (t :: * -> *) (m :: * -> *) a.
(Traversable t, Monad m) =>
t (m a) -> m (t a)
sequence ([IO ()] -> IO [()]) -> [IO ()] -> IO [()]
forall a b. (a -> b) -> a -> b
$ ((Diagram
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
 -> String -> IO ())
-> (Diagram
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural,
    String)
-> IO ()
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Diagram
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> String -> IO ()
forall c1 o1 m1 c2 o2 m2.
(Eq c1, Eq o1, PrettyPrint o1, PrettyPrint m1, Morphism m1 o1,
 FiniteCategory c1 m1 o1, Eq c2, Eq o2, PrettyPrint o2,
 PrettyPrint m2, Morphism m2 o2, FiniteCategory c2 m2 o2) =>
Diagram c1 m1 o1 c2 m2 o2 -> String -> IO ()
diagToPdfCluster) ((Diagram
    (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
    (IsSmallerThan Natural)
    Natural
    (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
    (IsSmallerThan Natural)
    Natural,
  String)
 -> IO ())
-> [(Diagram
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
-> [IO ()]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [Diagram
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural]
-> [String]
-> [(Diagram
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
forall a b. [a] -> [b] -> [(a, b)]
zip (Set
  (Diagram
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> [Diagram
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural]
forall a. Eq a => Set a -> [a]
setToList (FunctorCategory
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (Diagram
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. FiniteCategory c m o => c -> Set o
ob (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> FunctorCategory
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2.
c1 -> c2 -> FunctorCategory c1 m1 o1 c2 m2 o2
FunctorCategory (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
2) (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) (((String
"OutputGraphViz/Examples/FiniteCategories/FunctorCategory/functCluster"String -> String -> String
forall a. [a] -> [a] -> [a]
++)(String -> String) -> (Integer -> String) -> Integer -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
.Integer -> String
forall a. Show a => a -> String
show) (Integer -> String) -> [Integer] -> [String]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Int -> [Integer] -> [Integer]
forall a. Int -> [a] -> [a]
take (Set
  (Diagram
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> Int
forall a. Eq a => Set a -> Int
cardinal (FunctorCategory
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (Diagram
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. FiniteCategory c m o => c -> Set o
ob (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> FunctorCategory
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2.
c1 -> c2 -> FunctorCategory c1 m1 o1 c2 m2 o2
FunctorCategory (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
2) (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) [Integer
1..]))
        [IO ()] -> IO [()]
forall (t :: * -> *) (m :: * -> *) a.
(Traversable t, Monad m) =>
t (m a) -> m (t a)
sequence ([IO ()] -> IO [()]) -> [IO ()] -> IO [()]
forall a b. (a -> b) -> a -> b
$ ((Diagram
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
 -> String -> IO ())
-> (Diagram
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural,
    String)
-> IO ()
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Diagram
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> String -> IO ()
forall m1 o1 c1 m2 o2 c2.
(Morphism m1 o1, FiniteCategory c1 m1 o1, Eq o1, Eq m1,
 PrettyPrint m1, PrettyPrint o1, Morphism m2 o2,
 FiniteCategory c2 m2 o2, Eq o2, Eq m2, PrettyPrint m2,
 PrettyPrint o2) =>
Diagram c1 m1 o1 c2 m2 o2 -> String -> IO ()
diagToPdf) ((Diagram
    (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
    (IsSmallerThan Natural)
    Natural
    (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
    (IsSmallerThan Natural)
    Natural,
  String)
 -> IO ())
-> [(Diagram
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
-> [IO ()]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [Diagram
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural]
-> [String]
-> [(Diagram
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
forall a b. [a] -> [b] -> [(a, b)]
zip (Set
  (Diagram
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> [Diagram
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural]
forall a. Eq a => Set a -> [a]
setToList (FunctorCategory
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (Diagram
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. FiniteCategory c m o => c -> Set o
ob (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> FunctorCategory
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2.
c1 -> c2 -> FunctorCategory c1 m1 o1 c2 m2 o2
FunctorCategory (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
2) (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) (((String
"OutputGraphViz/Examples/FiniteCategories/FunctorCategory/funct"String -> String -> String
forall a. [a] -> [a] -> [a]
++)(String -> String) -> (Integer -> String) -> Integer -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
.Integer -> String
forall a. Show a => a -> String
show) (Integer -> String) -> [Integer] -> [String]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Int -> [Integer] -> [Integer]
forall a. Int -> [a] -> [a]
take (Set
  (Diagram
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> Int
forall a. Eq a => Set a -> Int
cardinal (FunctorCategory
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (Diagram
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. FiniteCategory c m o => c -> Set o
ob (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> FunctorCategory
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2.
c1 -> c2 -> FunctorCategory c1 m1 o1 c2 m2 o2
FunctorCategory (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
2) (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) [Integer
1..]))
        [IO ()] -> IO [()]
forall (t :: * -> *) (m :: * -> *) a.
(Traversable t, Monad m) =>
t (m a) -> m (t a)
sequence ([IO ()] -> IO [()]) -> [IO ()] -> IO [()]
forall a b. (a -> b) -> a -> b
$ ((Diagram
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
 -> String -> IO ())
-> (Diagram
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural,
    String)
-> IO ()
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Diagram
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> String -> IO ()
forall m1 o1 c1 m2 o2 c2.
(Morphism m1 o1, FiniteCategory c1 m1 o1, Eq o1, Eq m1,
 PrettyPrint m1, PrettyPrint o1, Morphism m2 o2,
 FiniteCategory c2 m2 o2, Eq o2, Eq m2, PrettyPrint m2,
 PrettyPrint o2) =>
Diagram c1 m1 o1 c2 m2 o2 -> String -> IO ()
diagToPdf2) ((Diagram
    (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
    (IsSmallerThan Natural)
    Natural
    (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
    (IsSmallerThan Natural)
    Natural,
  String)
 -> IO ())
-> [(Diagram
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
-> [IO ()]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [Diagram
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural]
-> [String]
-> [(Diagram
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
forall a b. [a] -> [b] -> [(a, b)]
zip (Set
  (Diagram
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> [Diagram
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural]
forall a. Eq a => Set a -> [a]
setToList (FunctorCategory
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (Diagram
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. FiniteCategory c m o => c -> Set o
ob (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> FunctorCategory
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2.
c1 -> c2 -> FunctorCategory c1 m1 o1 c2 m2 o2
FunctorCategory (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
2) (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) (((String
"OutputGraphViz/Examples/FiniteCategories/FunctorCategory/diag"String -> String -> String
forall a. [a] -> [a] -> [a]
++)(String -> String) -> (Integer -> String) -> Integer -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
.Integer -> String
forall a. Show a => a -> String
show) (Integer -> String) -> [Integer] -> [String]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Int -> [Integer] -> [Integer]
forall a. Int -> [a] -> [a]
take (Set
  (Diagram
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> Int
forall a. Eq a => Set a -> Int
cardinal (FunctorCategory
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (Diagram
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. FiniteCategory c m o => c -> Set o
ob (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> FunctorCategory
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2.
c1 -> c2 -> FunctorCategory c1 m1 o1 c2 m2 o2
FunctorCategory (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
2) (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) [Integer
1..]))
        [IO ()] -> IO [()]
forall (t :: * -> *) (m :: * -> *) a.
(Traversable t, Monad m) =>
t (m a) -> m (t a)
sequence ([IO ()] -> IO [()]) -> [IO ()] -> IO [()]
forall a b. (a -> b) -> a -> b
$ ((NaturalTransformation
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
 -> String -> IO ())
-> (NaturalTransformation
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural,
    String)
-> IO ()
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry NaturalTransformation
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> String -> IO ()
forall m1 o1 c1 m2 o2 c2.
(Morphism m1 o1, FiniteCategory c1 m1 o1, Eq o1, Eq m1, Eq c1,
 PrettyPrint m1, PrettyPrint o1, Morphism m2 o2,
 FiniteCategory c2 m2 o2, Eq o2, Eq m2, Eq c2, PrettyPrint m2,
 PrettyPrint o2) =>
NaturalTransformation c1 m1 o1 c2 m2 o2 -> String -> IO ()
natToPdf) ((NaturalTransformation
    (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
    (IsSmallerThan Natural)
    Natural
    (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
    (IsSmallerThan Natural)
    Natural,
  String)
 -> IO ())
-> [(NaturalTransformation
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
-> [IO ()]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [NaturalTransformation
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural]
-> [String]
-> [(NaturalTransformation
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
forall a b. [a] -> [b] -> [(a, b)]
zip (Set
  (NaturalTransformation
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> [NaturalTransformation
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural]
forall a. Eq a => Set a -> [a]
setToList (FunctorCategory
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (NaturalTransformation
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. (FiniteCategory c m o, Morphism m o) => c -> Set m
arrows (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> FunctorCategory
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2.
c1 -> c2 -> FunctorCategory c1 m1 o1 c2 m2 o2
FunctorCategory (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
2) (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) (((String
"OutputGraphViz/Examples/FiniteCategories/FunctorCategory/nat"String -> String -> String
forall a. [a] -> [a] -> [a]
++)(String -> String) -> (Integer -> String) -> Integer -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
.Integer -> String
forall a. Show a => a -> String
show) (Integer -> String) -> [Integer] -> [String]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Int -> [Integer] -> [Integer]
forall a. Int -> [a] -> [a]
take (Set
  (NaturalTransformation
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> Int
forall a. Eq a => Set a -> Int
cardinal (FunctorCategory
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (NaturalTransformation
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. (FiniteCategory c m o, Morphism m o) => c -> Set m
arrows (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> FunctorCategory
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2.
c1 -> c2 -> FunctorCategory c1 m1 o1 c2 m2 o2
FunctorCategory (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
2) (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) [Integer
1..]))
        let diag :: Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
diag = Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Diagram
     (DiscreteCategory Natural)
     (StarIdentity Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2.
(FiniteCategory c1 m1 o1, Morphism m1 o1, Eq m1, Eq o1,
 Category c2 m2 o2, Morphism m2 o2) =>
Diagram c1 m1 o1 c2 m2 o2 -> Diagram c1 m1 o1 c2 m2 o2
completeDiagram Diagram :: forall c1 m1 o1 c2 m2 o2.
c1 -> c2 -> Map o1 o2 -> Map m1 m2 -> Diagram c1 m1 o1 c2 m2 o2
Diagram{src :: DiscreteCategory Natural
src=Set Natural -> DiscreteCategory Natural
forall a. Set a -> DiscreteCategory a
discreteCategory ([Natural] -> Set Natural
forall a. [a] -> Set a
set [Natural
1,Natural
2]), tgt :: InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
tgt = (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
2), omap :: Map Natural Natural
omap=(Natural -> Natural) -> Set Natural -> Map Natural Natural
forall k v. (k -> v) -> Set k -> Map k v
memorizeFunction Natural -> Natural
forall a. a -> a
id ([Natural] -> Set Natural
forall a. [a] -> Set a
set [Natural
1,Natural
2]), mmap :: Map (StarIdentity Natural) (IsSmallerThan Natural)
mmap = AssociationList (StarIdentity Natural) (IsSmallerThan Natural)
-> Map (StarIdentity Natural) (IsSmallerThan Natural)
forall k v. AssociationList k v -> Map k v
weakMap []}
        Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> String -> IO ()
forall m1 o1 c1 m2 o2 c2.
(Morphism m1 o1, FiniteCategory c1 m1 o1, Eq o1, Eq m1,
 PrettyPrint m1, PrettyPrint o1, Morphism m2 o2,
 FiniteCategory c2 m2 o2, Eq o2, Eq m2, PrettyPrint m2,
 PrettyPrint o2) =>
Diagram c1 m1 o1 c2 m2 o2 -> String -> IO ()
diagToPdf2 Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
diag String
"OutputGraphViz/Examples/FiniteCategories/PrecomposedFunctorCategory/Functor"
        PrecomposedFunctorCategory
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> String -> IO ()
forall o m c.
(Eq o, PrettyPrint o, PrettyPrint m, Morphism m o,
 FiniteCategory c m o) =>
c -> String -> IO ()
catToPdf (Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> PrecomposedFunctorCategory
     (DiscreteCategory Natural)
     (StarIdentity Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2 c3 m3 o3.
Diagram c1 m1 o1 c2 m2 o2
-> c3 -> PrecomposedFunctorCategory c1 m1 o1 c2 m2 o2 c3 m3 o3
PrecomposedFunctorCategory Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
diag (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)) String
"OutputGraphViz/Examples/FiniteCategories/PrecomposedFunctorCategory/PrecomposedFunctorCategory"
        [IO ()] -> IO [()]
forall (t :: * -> *) (m :: * -> *) a.
(Traversable t, Monad m) =>
t (m a) -> m (t a)
sequence ([IO ()] -> IO [()]) -> [IO ()] -> IO [()]
forall a b. (a -> b) -> a -> b
$ ((Diagram
   (DiscreteCategory Natural)
   (StarIdentity Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
 -> String -> IO ())
-> (Diagram
      (DiscreteCategory Natural)
      (StarIdentity Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural,
    String)
-> IO ()
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> String -> IO ()
forall m1 o1 c1 m2 o2 c2.
(Morphism m1 o1, FiniteCategory c1 m1 o1, Eq o1, Eq m1,
 PrettyPrint m1, PrettyPrint o1, Morphism m2 o2,
 FiniteCategory c2 m2 o2, Eq o2, Eq m2, PrettyPrint m2,
 PrettyPrint o2) =>
Diagram c1 m1 o1 c2 m2 o2 -> String -> IO ()
diagToPdf2) ((Diagram
    (DiscreteCategory Natural)
    (StarIdentity Natural)
    Natural
    (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
    (IsSmallerThan Natural)
    Natural,
  String)
 -> IO ())
-> [(Diagram
       (DiscreteCategory Natural)
       (StarIdentity Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
-> [IO ()]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [Diagram
   (DiscreteCategory Natural)
   (StarIdentity Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural]
-> [String]
-> [(Diagram
       (DiscreteCategory Natural)
       (StarIdentity Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
forall a b. [a] -> [b] -> [(a, b)]
zip (Set
  (Diagram
     (DiscreteCategory Natural)
     (StarIdentity Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> [Diagram
      (DiscreteCategory Natural)
      (StarIdentity Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural]
forall a. Eq a => Set a -> [a]
setToList (PrecomposedFunctorCategory
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (Diagram
        (DiscreteCategory Natural)
        (StarIdentity Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. FiniteCategory c m o => c -> Set o
ob (Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> PrecomposedFunctorCategory
     (DiscreteCategory Natural)
     (StarIdentity Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2 c3 m3 o3.
Diagram c1 m1 o1 c2 m2 o2
-> c3 -> PrecomposedFunctorCategory c1 m1 o1 c2 m2 o2 c3 m3 o3
PrecomposedFunctorCategory Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
diag (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) (((String
"OutputGraphViz/Examples/FiniteCategories/PrecomposedFunctorCategory/precompFunct"String -> String -> String
forall a. [a] -> [a] -> [a]
++)(String -> String) -> (Integer -> String) -> Integer -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
.Integer -> String
forall a. Show a => a -> String
show) (Integer -> String) -> [Integer] -> [String]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Int -> [Integer] -> [Integer]
forall a. Int -> [a] -> [a]
take (Set
  (Diagram
     (DiscreteCategory Natural)
     (StarIdentity Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> Int
forall a. Eq a => Set a -> Int
cardinal (PrecomposedFunctorCategory
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (Diagram
        (DiscreteCategory Natural)
        (StarIdentity Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. FiniteCategory c m o => c -> Set o
ob (Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> PrecomposedFunctorCategory
     (DiscreteCategory Natural)
     (StarIdentity Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2 c3 m3 o3.
Diagram c1 m1 o1 c2 m2 o2
-> c3 -> PrecomposedFunctorCategory c1 m1 o1 c2 m2 o2 c3 m3 o3
PrecomposedFunctorCategory Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
diag (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) [Integer
1..]))
        [IO ()] -> IO [()]
forall (t :: * -> *) (m :: * -> *) a.
(Traversable t, Monad m) =>
t (m a) -> m (t a)
sequence ([IO ()] -> IO [()]) -> [IO ()] -> IO [()]
forall a b. (a -> b) -> a -> b
$ ((NaturalTransformation
   (DiscreteCategory Natural)
   (StarIdentity Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural
 -> String -> IO ())
-> (NaturalTransformation
      (DiscreteCategory Natural)
      (StarIdentity Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural,
    String)
-> IO ()
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry NaturalTransformation
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> String -> IO ()
forall m1 o1 c1 m2 o2 c2.
(Morphism m1 o1, FiniteCategory c1 m1 o1, Eq o1, Eq m1, Eq c1,
 PrettyPrint m1, PrettyPrint o1, Morphism m2 o2,
 FiniteCategory c2 m2 o2, Eq o2, Eq m2, Eq c2, PrettyPrint m2,
 PrettyPrint o2) =>
NaturalTransformation c1 m1 o1 c2 m2 o2 -> String -> IO ()
natToPdf) ((NaturalTransformation
    (DiscreteCategory Natural)
    (StarIdentity Natural)
    Natural
    (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
    (IsSmallerThan Natural)
    Natural,
  String)
 -> IO ())
-> [(NaturalTransformation
       (DiscreteCategory Natural)
       (StarIdentity Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
-> [IO ()]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [NaturalTransformation
   (DiscreteCategory Natural)
   (StarIdentity Natural)
   Natural
   (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
   (IsSmallerThan Natural)
   Natural]
-> [String]
-> [(NaturalTransformation
       (DiscreteCategory Natural)
       (StarIdentity Natural)
       Natural
       (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
       (IsSmallerThan Natural)
       Natural,
     String)]
forall a b. [a] -> [b] -> [(a, b)]
zip (Set
  (NaturalTransformation
     (DiscreteCategory Natural)
     (StarIdentity Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> [NaturalTransformation
      (DiscreteCategory Natural)
      (StarIdentity Natural)
      Natural
      (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
      (IsSmallerThan Natural)
      Natural]
forall a. Eq a => Set a -> [a]
setToList (PrecomposedFunctorCategory
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (NaturalTransformation
        (DiscreteCategory Natural)
        (StarIdentity Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. (FiniteCategory c m o, Morphism m o) => c -> Set m
arrows (Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> PrecomposedFunctorCategory
     (DiscreteCategory Natural)
     (StarIdentity Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2 c3 m3 o3.
Diagram c1 m1 o1 c2 m2 o2
-> c3 -> PrecomposedFunctorCategory c1 m1 o1 c2 m2 o2 c3 m3 o3
PrecomposedFunctorCategory Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
diag (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) (((String
"OutputGraphViz/Examples/FiniteCategories/PrecomposedFunctorCategory/nat"String -> String -> String
forall a. [a] -> [a] -> [a]
++)(String -> String) -> (Integer -> String) -> Integer -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
.Integer -> String
forall a. Show a => a -> String
show) (Integer -> String) -> [Integer] -> [String]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Int -> [Integer] -> [Integer]
forall a. Int -> [a] -> [a]
take (Set
  (NaturalTransformation
     (DiscreteCategory Natural)
     (StarIdentity Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural)
-> Int
forall a. Eq a => Set a -> Int
cardinal (PrecomposedFunctorCategory
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> Set
     (NaturalTransformation
        (DiscreteCategory Natural)
        (StarIdentity Natural)
        Natural
        (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
        (IsSmallerThan Natural)
        Natural)
forall c m o. (FiniteCategory c m o, Morphism m o) => c -> Set m
arrows (Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
-> PrecomposedFunctorCategory
     (DiscreteCategory Natural)
     (StarIdentity Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
     (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
     (IsSmallerThan Natural)
     Natural
forall c1 m1 o1 c2 m2 o2 c3 m3 o3.
Diagram c1 m1 o1 c2 m2 o2
-> c3 -> PrecomposedFunctorCategory c1 m1 o1 c2 m2 o2 c3 m3 o3
PrecomposedFunctorCategory Diagram
  (DiscreteCategory Natural)
  (StarIdentity Natural)
  Natural
  (InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural)
  (IsSmallerThan Natural)
  Natural
diag (Natural
-> InheritedFullSubcategory Omega (IsSmallerThan Natural) Natural
numberCategory Natural
3)))) [Integer
1..]))
        String -> IO ()
putStrLn String
"End of Math.FiniteCategories.FunctorCategory.Example"