From 87efe12fd471f9e68704ccf2f4ddeb143287e3af Mon Sep 17 00:00:00 2001 From: Mahdi Dibaiee Date: Fri, 29 Sep 2017 23:02:44 +0330 Subject: [PATCH] write(typoclassopedia): Category Theory --- ...-09-27-typoclassopedia-exercise-answers.md | 108 ++++++++++++++++++ img/typoclassopedia/functor-diagram.png | Bin 0 -> 45639 bytes img/typoclassopedia/not-a-cat.png | Bin 0 -> 12069 bytes 3 files changed, 108 insertions(+) create mode 100644 img/typoclassopedia/functor-diagram.png create mode 100644 img/typoclassopedia/not-a-cat.png diff --git a/_posts/2017-09-27-typoclassopedia-exercise-answers.md b/_posts/2017-09-27-typoclassopedia-exercise-answers.md index 1eea5eb..5d645bf 100644 --- a/_posts/2017-09-27-typoclassopedia-exercise-answers.md +++ b/_posts/2017-09-27-typoclassopedia-exercise-answers.md @@ -4,6 +4,7 @@ title: "Typoclassopedia: Exercise solutions" date: 2017-09-27 permalink: typoclassopedia-exercise-solutions/ categories: programming +math: true --- I wanted to get proficient in Haskell so I decided to follow [An [Essential] Haskell Reading List](http://www.stephendiehl.com/posts/essential_haskell.html), there I stumbled upon [Typoclassopedia](https://wiki.haskell.org/Typeclassopedia), while the material is great, I couldn't find solutions for the exercises to check against, so I decided I would write my own and hopefully the solutions would get fixed in case I have gone wrong by others. So if you think a solution is wrong, let me know in the comments! @@ -167,3 +168,110 @@ fmap (g . h) = (fmap g) . (fmap h) **Solution**: The instance defined breaks the first law (`fmap id [1] -- [1,1]`), but holds for the second law. + +Category Theory +=============== + +The Functor section links to [Category Theory](https://en.wikibooks.org/wiki/Haskell/Category_theory), so here I'm going to cover the exercises of that page, too. + +## Introduction to categories + +### Category laws: + +1. The compositions of morphisms need to be **associative**: + + $f \circ (g \circ h) = (f \circ g) \circ h$ + +2. The category needs to be **closed** under the composition operator. So if $f : B \to C$ and $g: A \to B$, then there must be some $h: A \to C$ in the category such that $h = f \circ g$. +3. Every object $A$ in a category must have an identity morphism, $id_A : A \to A$ that is an identity of composition with other morphisms. So for every morphism $g: A \to B$: + $g \circ id_A = id_B \circ g = g$. + +### Exercises + +1. As was mentioned, any partial order $(P, \leq)$ is a category with objects as the elements of P and a morphism between elements a and b iff $a \leq b$. Which of the above laws guarantees the transitivity of $\leq$? + + **Solution**: + + The second law, which states that the category needs to be closed under the composition operator guarantess that because we have a morphism $a \leq b$, and another morphism $b \leq c$, there must also be some other morphism such that $a \leq c$. + +2. If we add another morphism to the above example, as illustrated below, it fails to be a category. Why? Hint: think about associativity of the composition operation. + + ![not a category, an additional h: B -> A](/img/typoclassopedia/not-a-cat.png) + + **Solution**: + + The first law does not hold: + + $f \circ (g \circ h) = (f \circ g) \circ h$ + + To see that, we can evaluate each side to get an inequality: + + $g \circ h = id_B$ + + $f \circ g = id_A$ + + $f \circ (g \circ h) = f \circ id_B = f$ + + $(f \circ g) \circ h = id_A \circ h = h$ + + $f \neq h$ + +## Functors + +### Functor laws: + +1. Given an identity morphism $id_A$ on an object $A$, $F(id_A)$ must be the identity morphism on $F(A)$, so: + $F(id_A) = id_{F(A)}$ + +2. Functors must distribute over morphism composition: + $F(f \circ g) = F(f) \circ F(g)$ + +### Exercises + +1. Check the functor laws for the diagram below. + + ![functor diagram](/img/typoclassopedia/functor-diagram.png) + + **Solution**: + + The first law is obvious as it's directly written, the pale blue dotted arrows from $id_C$ to $F(id_C) = id_{F(C)}$ and $id_A$ and $id_B$ to $F(id_A) = F(id_B) = id_{F(A)} = id_{F(B)}$ show this. + + The second law also holds, the only compositions in category $C$ are between $f$ and identities, and $g$ and identities, there is no composition between $f$ and $g$. + + (Note: The second law always hold as long as the first one does, as was seen in Typoclassopedia) + +2. Check the laws for the Maybe and List functors. + + **Solution**: + + ```haskell + instance Functor [] where + fmap :: (a -> b) -> [a] -> [b] + fmap _ [] = [] + fmap g (x:xs) = g x : fmap g xs + + -- check the first law for each part: + fmap id [] = [] + fmap id (x:xs) = id x : fmap id xs = x : fmap id xs -- the first law holds recursively + + -- check the second law for each part: + fmap (f . g) [] = [] + fmap (f . g) (x:xs) = (f . g) x : fmap (f . g) xs = f (g x) : fmap (f . g) xs + fmap f (fmap g (x:xs)) = fmap f (g x : fmap g xs) = f (g x) : fmap (f . g) xs + ``` + + ```haskell + instance Functor Maybe where + fmap :: (a -> b) -> Maybe a -> Maybe b + fmap _ Nothing = Nothing + fmap g (Just a) = Just (g a) + + -- check the first law for each part: + fmap id Nothing = Nothing + fmap id (Just a) = Just (id a) = Just a + + -- check the second law for each part: + fmap (f . g) Nothing = Nothing + fmap (f . g) (Just x) = Just ((f . g) x) = Just (f (g x)) + fmap f (fmap g (Just x)) = Just (f (g x)) = Just ((f . g) x) + ``` diff --git a/img/typoclassopedia/functor-diagram.png b/img/typoclassopedia/functor-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..21caa18e20bd2dce65c5498addf3b5643076133a GIT binary patch literal 45639 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

Iz#`Zq!O%kX;vXmydxKf{m?y`W%?qFyLXtOnyN8 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 literal 0 HcmV?d00001 diff --git a/img/typoclassopedia/not-a-cat.png b/img/typoclassopedia/not-a-cat.png new file mode 100644 index 0000000000000000000000000000000000000000..0c8a41e1370ce47abdc7f76e1c22af5b952fc473 GIT binary patch literal 12069 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