X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=advanced_topics%2Fmonads_in_category_theory.mdwn;h=316d0274dee29d1600b33169c5d631f2f41c2001;hp=74b5d5727bd204dc6159e0701a98c8f6ecfde055;hb=fd2c52ec9129e2886b5f09381efb25d49fa3bc6d;hpb=8b1c423b50e7c2801bc9c69772261940fc6a7854 diff --git a/advanced_topics/monads_in_category_theory.mdwn b/advanced_topics/monads_in_category_theory.mdwn index 74b5d572..316d0274 100644 --- a/advanced_topics/monads_in_category_theory.mdwn +++ b/advanced_topics/monads_in_category_theory.mdwn @@ -21,28 +21,13 @@ Monoids ------- A **monoid** is a structure `(S, *, z)` consisting of an associative binary operation `*` over some set `S`, which is closed under `*`, and which contains an identity element `z` for `*`. That is: -
this is
-my pre-only
-block
-
- -this is -my code-only -block - - -
this is -my bq-only -block -
- -
-for all `s1`, `s2`, `s3` in `S`:
-(i) `s1*s2` etc are also in `S`
-(ii) `(s1*s2)*s3` = `s1*(s2*s3)`
+
+for all `s1`, `s2`, `s3` in `S`:
+(i) `s1*s2` etc are also in `S`
+(ii) `(s1*s2)*s3` = `s1*(s2*s3)`
(iii) `z*s1` = `s1` = `s1*z` -
+ Some examples of monoids are: @@ -60,8 +45,8 @@ When a morphism `f` in category **C** has source `C1` and target `C2`, we'll wri To have a category, the elements and morphisms have to satisfy some constraints:
-(i) the class of morphisms has to be closed under composition: where `f:C1->C2` and `g:C2->C3`, `g o f` is also a morphism of the category, which maps `C1->C3`.
-(ii) composition of morphisms has to be associative
+(i) the class of morphisms has to be closed under composition: where `f:C1->C2` and `g:C2->C3`, `g o f` is also a morphism of the category, which maps `C1->C3`.
+(ii) composition of morphisms has to be associative
(iii) every element `E` of the category has to have an identity morphism 1E, which is such that for every morphism `f:C1->C2`: 1C2 o f = f = f o 1C1