Skip to content

Commit 0f043df

Browse files
committed
Published multiple files
1 parent 01ab8ed commit 0f043df

File tree

5 files changed

+64
-0
lines changed

5 files changed

+64
-0
lines changed

src/site/notes/Category/Category.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
{"dg-publish":true,"permalink":"/category/category/","noteIcon":"","created":"2024-07-27T13:37:26.045+08:00","updated":"2024-07-27T14:11:21.991+08:00"}
3+
---
4+
5+
#Catagory
6+
- A **category** consists of objects and arrows (morphisms). Arrows can be composed, and the composition is associative. Every object has an identity arrow that serves as a unit under composition. 
7+
- Category theory is extreme in the sense that it actively discourages us from looking inside the objects. An object in category theory is an abstract nebulous entity.
8+
- Category theory is about composing arrows. But not any two arrows can be composed. The target object of one arrow must be the same as the source object of the next arrow.
9+
10+
11+
 - [Category Wikipedia](https://en.wikipedia.org/wiki/Category_(mathematics) "Category (mathematics)")
12+
 - [CPSC 617:  Category Theory for Computer Science](http://pages.cpsc.ucalgary.ca/~robin/class/617/webnotes.html)
13+
 -
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
{"dg-publish":true,"permalink":"/category/composition/","noteIcon":"","created":"2024-07-27T13:21:47.175+08:00","updated":"2024-07-27T13:25:43.249+08:00"}
3+
---
4+
5+
#Catagory
6+
There are two extremely important properties that the composition in any category must satisfy.
7+
1. Composition is associative
8+
```haskell
9+
f :: A -> B
10+
g :: B -> C
11+
h :: C -> D
12+
h . (g . f) == (h . g) . f == h . g . f
13+
```
14+
2. For every object $A$ there is an arrow which is a unit of composition. This arrow loops from the object to itself.
15+
```ocaml
16+
let id x = x
17+
```

src/site/notes/Category/Monoid.md

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
{"dg-publish":true,"permalink":"/category/monoid/","noteIcon":"","created":"2024-07-27T17:24:41.011+08:00","updated":"2024-07-27T17:27:13.257+08:00"}
3+
---
4+
5+
#Catagory
6+
In abstract algebra, a branch of mathematics, a monoid is **a set equipped with an associative binary operation and an identity element**.
7+
8+
A monoid is a single object category. In fact the name monoid comes from Greek *mono*, which means single.
9+
10+
Every monoid can be described as a single object category with a set of morphisms that follow appropriate rules of composition.

src/site/notes/Category/Morphisms.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
{"dg-publish":true,"permalink":"/category/morphisms/","noteIcon":"","created":"2024-07-27T13:10:52.265+08:00","updated":"2024-07-27T13:37:29.144+08:00"}
3+
---
4+
5+
#Catagory
6+
Morphisms and [objects](https://en.wikipedia.org/wiki/Object_(category_theory) "Object (category theory)") are constituents of a [[Category/Category\|Category]]. Morphisms, also called _maps_ or _arrows_, relate two objects called the _source_ and the _target_ of the morphism.
7+
8+
A morphism is a map between two objects in an abstract [category](https://mathworld.wolfram.com/Category.html).
9+
1. A general morphism is called a [homomorphism](https://mathworld.wolfram.com/Homomorphism.html)
10+
2. A morphism ![f:Y->X|100](https://mathworld.wolfram.com/images/equations/Morphism/Inline1.svg) in a [category](https://mathworld.wolfram.com/Category.html) is a [monomorphism](https://mathworld.wolfram.com/Monomorphism.html) if, for any two morphisms ![u,v:Z->Y|100](https://mathworld.wolfram.com/images/equations/Morphism/Inline2.svg)![fu=fv|100](https://mathworld.wolfram.com/images/equations/Morphism/Inline3.svg) implies that ![u=v|50](https://mathworld.wolfram.com/images/equations/Morphism/Inline4.svg)
11+
3. A morphism ![f:Y->X|100](https://mathworld.wolfram.com/images/equations/Morphism/Inline5.svg) in a [category](https://mathworld.wolfram.com/Category.html) is an [epimorphism](https://mathworld.wolfram.com/Epimorphism.html) if, for any two morphisms ![u,v:X->Z|100](https://mathworld.wolfram.com/images/equations/Morphism/Inline6.svg)![uf=vf|100](https://mathworld.wolfram.com/images/equations/Morphism/Inline7.svg) implies ![u=v|50](https://mathworld.wolfram.com/images/equations/Morphism/Inline8.svg)
12+
4. A bijective morphism is called an [isomorphism](https://mathworld.wolfram.com/Isomorphism.html) (if there is an isomorphism between two objects, then we say they are isomorphic),
13+
5. A surjective morphism from an object to itself is called an [endomorphism](https://mathworld.wolfram.com/Endomorphism.html), and
14+
6. An [isomorphism](https://mathworld.wolfram.com/Isomorphism.html) between an object and itself is called an [automorphism](https://mathworld.wolfram.com/Automorphism.html).
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
{"dg-publish":true,"permalink":"/category/operational-and-denotational-semantics/","noteIcon":"","created":"2024-07-27T14:33:58.783+08:00","updated":"2024-07-27T14:37:38.701+08:00"}
3+
---
4+
5+
#Catagory #Semantics
6+
There are formal tools for describing the semantics of a language but, because of their complexity, they are mostly used with simplified academic languages, not real-life programming behemoths.
7+
8+
If we give the semantics of a language in terms of a mathematical model we speak of *mathematical or denotational semantics*. If the semantics is in terms of a (virtual) computing machine, we speak of *operational semantics*. Both are two different and important ways of explicating the meaning of a programming language.
9+
10+
- [Operational and Denotational Semantics](https://hackmd.io/@alexhkurz/Hkf6BTL6P#Introduction-to-Semantics)

0 commit comments

Comments
 (0)