# David Spivak – Category Theory

Part 1 of 6 – λC 2017

1. Set & function
2. Category – Initial & Terminal Objects (may not exist in some category)
3. Product AxB
4. CoProduct (Sum) A+B
5. Exponential : (Type A-> B) or Function Object or Currying ${B^A}$

# Applied Category Theory Course by Prof John Baez

Join John Baez’s Azimuth Math Forum 导读 (Study Tour Guide) in Applied Category Theory (CT):

https://forum.azimuthproject.org/discussion/1717/welcome-to-the-applied-category-theory-course?from=timeline

John Baez (1961-) is the world’s expert in Category Theory. He gave a talk on CT in Hokkaido University last year.

The 导读 is using a book by 2 mathematicians Brenden Fong and David Spivak in “Applied Category Theory” – Download the free book of this course here.

Note: Both John Baez and his wife Lisa Raphals (Professor in Chinese) work now in National University of Singapore – Center of Quantum Technologies & Philosophy, respectively.

# Crash course in Category Theory

Key Point:

Haskell & any FP compiler don’t check the Category Theory proof if your codes (eg. fmap) follow Functor’s Laws (eg. Preserve structure, identity) or Monad’s Laws !

# Category Theory in Life

Category Theory can be approved from 2 directions: 1) Pure Math, 2) IT Functional Programming (FP) .

Dr. Eugenia Cheng doesn’t know 2), she comes from 1).

The second video (below) approaches Category Theory from 2): Scala – FP language.

# Category Theory for Typescript

Key Points:

1. BCCC (Bi-Cartesian Closed Category): PRODUCT (tuple) , SUM (either) , EXPONENTIAL (function)

2. UNIT, ZERO, Absurd

3. Equivalences

# Programmers need Advanced Math ?

As software becomes more complicated for high-speed trains, driverless cars, missile weapons. .. and AI deeplearning algorithm, we can’t depend our life safety on the programmers who don’t understand the advanced maths behind these algorithms.

The Advanced Math is the Category Theory – the most advanced math foundation above “Set Theory” since WW2. Functional Programming is based on Category Theory with mathematical functions – always output correctly with no “side-effects”.

https://www.extremetech.com/computing/259977-software-increasingly-complex-thats-dangerous

# Category Theory – Purest of pure mathematical disciplines may also be a cornerstone of applied solutions in computational science

There exists in almost all Universities a clear division between pure and applied mathematics. A friendly (and sometimes not so friendly) rivalry exists between both sides of the divide, with separate conferences, separate journals and in many cases even a whole separate language. Category Theory was seen as such an abstract area of research that even pure mathematicians started to refer to it as “abstract nonsense“, and until the mid 1980’s almost all category theorists occupied a place hidden somewhere up above the ‘cloud level’ in the highest reaches of the peaks that defined “pure” maths.

By the mid 1990’s and then by the turn of the millenium, a whole world of computer programmers were learning basic category theory as part of their induction into functional programming. The best known product of these efforts is the Haskell language, but even in the past 7 or 8 yrs, workshops on category theory for computer programmers of all types have flourished and proliferated. It is almost as if there are two separate communities masquerading as one – mathematical category theory and computer programming category theory – and never the twain would meet. Or so it seemed, until now.