# Category Theory III for Programmers (Part 1 & 2)

The most interesting “Category Theory” （范畴论) for Programmers course III by Dr. Bartosz Milewski , a follow-up of last year’s course II.

Prerequisites:

1. Fundamental of Category Theory: Functor, Natural Transformation, etc. (Course II Series)
2. (Nice to have) : Basic Haskell Functional Programming Language. (Quick Haskell Tutorial)

1.1: Overview Part 1

Category Theory (CT) = Summary of ALL Mathematics

Functional Programming = Application of CT

Philosophical Background:

• Math originated 3,000 years ago in Geometry by Greek Euclid with Axioms and deductive （演译） Proof-driven Logic.
• Geometry = Geo (Earth) + Metry (Measurement).
• Math evolved from 2-dimensional Euclidean Geometry through 17 CE French Descartes’s Cartesian Geometry using the 13CE Arabic invention “Algebra” in Equations of n dimensions: $(x_1, x_2,..., x_n)$, $(y_1, y_2,..., y_n)$
• Use of Algebra: 1) Evaluation of algebraic equations (in CT: “Functor”) ; 2) Manipulation. eg. Substitution (in CT : “Monad” ), Container (in CT: “Endo-Functor” ), Algebraic Operations (in CT: “Pure, Return, Binding” ).
• Lawvere Theories: unified all definitions of Monoids (from Set to CT)
• Free Monoid = “List” (in Programming). Eg. Concatenation of Lists = new List (Composition, Associative Law) ; Empty List (Unit Law).
• Advance of Math in 21CE comes back to Geometry in new Math branches like Algebraic Geometry, Algebraic Topology, etc.

Note: The only 2 existing human Languages invented were derived from forms & shapes (images) of the mother Earth & Nature:

1. Ancient Greek Geometry (3000 years) ;
2. Ancient Chinese Pictogram Characters (象形汉字, 3000 years 商朝. 甲骨文 ) .

https://youtu.be/F5uEpKwHqdk

1.1: Overview Part 2

Keypoints: (just a ‘helicopter’ view of the whole course syllabus)

• Calculus: infinite Product, infinite Sum (co-Product), End, co-End.
• Kan-extensions
• Geometry in “Abstract” aka Topology: “Topos”
• Enriched Category : (2-category) Analogy : complex number makes Trigonometry easy; same does Enriched Category.
• Groupoid => “HTT” : Homotopic Type Theory

https://youtu.be/CfoaY2Ybf8M

2.1 String Diagrams (Part 1)

Composing Natural Transformations (Vertical & Horizontal): $\alpha \; \beta$ (assumed naturality)

https://youtu.be/eOdBTqY3-Og