module Math.Functors.DiagonalFunctor.Example
(
main
)
where
import Math.FiniteCategory
import Math.FiniteCategories.DiscreteCategory
import Math.FiniteCategories.V
import Math.Functors.DiagonalFunctor
import Math.IO.FiniteCategories.ExportGraphViz
import Data.WeakSet (Set)
import qualified Data.WeakSet as Set
import Data.WeakSet.Safe
import Data.WeakMap (Map)
import qualified Data.WeakMap as Map
import Data.WeakMap.Safe
main :: IO ()
main :: IO ()
main = do
String -> IO ()
putStrLn String
"Start of Math.Functors.DiagonalFunctor.Example"
DiscreteCategory Int -> String -> IO ()
forall o m c.
(Eq o, PrettyPrint o, PrettyPrint m, Morphism m o,
FiniteCategory c m o) =>
c -> String -> IO ()
catToPdf (Set Int -> DiscreteCategory Int
forall a. Set a -> DiscreteCategory a
discreteCategory ([Int] -> Set Int
forall a. [a] -> Set a
set [Int
1 :: Int,Int
2])) String
"OutputGraphViz/Examples/Functors/DiagonalFunctor/indexing"
V -> String -> IO ()
forall o m c.
(Eq o, PrettyPrint o, PrettyPrint m, Morphism m o,
FiniteCategory c m o) =>
c -> String -> IO ()
catToPdf V
V String
"OutputGraphViz/Examples/Functors/DiagonalFunctor/target"
Diagram
V
VAr
VOb
(FunctorCategory
(DiscreteCategory Int) (StarIdentity Int) Int V VAr VOb)
(NaturalTransformation
(DiscreteCategory Int) (StarIdentity Int) Int V VAr VOb)
(Diagram (DiscreteCategory Int) (StarIdentity Int) Int V VAr VOb)
-> 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 (DiscreteCategory Int
-> V
-> Diagram
V
VAr
VOb
(FunctorCategory
(DiscreteCategory Int) (StarIdentity Int) Int V VAr VOb)
(NaturalTransformation
(DiscreteCategory Int) (StarIdentity Int) Int V VAr VOb)
(Diagram (DiscreteCategory Int) (StarIdentity Int) Int V VAr VOb)
forall c1 m1 o1 c2 m2 o2.
(FiniteCategory c1 m1 o1, Morphism m1 o1, FiniteCategory c2 m2 o2,
Morphism m2 o2) =>
c1
-> c2
-> Diagram
c2
m2
o2
(FunctorCategory c1 m1 o1 c2 m2 o2)
(NaturalTransformation c1 m1 o1 c2 m2 o2)
(Diagram c1 m1 o1 c2 m2 o2)
diagonalFunctor (Set Int -> DiscreteCategory Int
forall a. Set a -> DiscreteCategory a
discreteCategory ([Int] -> Set Int
forall a. [a] -> Set a
set [Int
1 :: Int,Int
2])) V
V) String
"OutputGraphViz/Examples/Functors/DiagonalFunctor/diagonalFunctor"
String -> IO ()
putStrLn String
"End of Math.Functors.DiagonalFunctor.Example"