Skip to content

Notes Chapter 2 Part 1

Piotr Paradziński edited this page Mar 27, 2020 · 4 revisions

Examples of adjunctions:

product -| exponential object
see talk: Adjunctions in Everyday Life - Rúnar Bjarnason
Haskell: https://www.youtube.com/watch?v=f-kdpR0BPqo
Scala: https://www.youtube.com/watch?v=BLk4DlNZkL8

coproduct -| diagonal -| product
Bartosz Milewski The Power of Adjunctions: https://bartoszmilewski.com/2019/09/20/the-power-of-adjunctions/

Free and Forget
Set -| Monoid
Graph -| Category
...

Posets => order
Monoidal posets => order + combining

In diagrams in chapter 2 (e.g. baking meringue lemon pie) functions are boxes and connections are objects - usually (e.g. in category of types, petri nets) it is the other way around. Is it useful to model programs that way? How?

enriched categories allow to answer different questions:
Boolean-enriched category - Can I make what I want from what I have
Cost-enriched category - How much it will costs?
Set-enriched category - How many ways?

def. monoidal set (usually people just say monoid but it is useful to have a different name).

We can have monoidal structure in different xs:
Monoidal set = set + function + axioms
Monoidal poset = poset + monotone function + axioms
Monoidal Lie groups,
Monoidal topological spaces,
...

wiring diagrams/string diagrams flavors:
string diagrams for categories - sequential computation
string diagrams for monoidal cats. - parallel computation
string diagrams for traced m. cats. - feedback, trace, (recursion ?)
string diagrams for hypergraphs - relations? (systems composable from subsystems ?) 

In resource theories there are:
discard axiom: forall a. a <= 1
copy axiom: forall a. a <= a*a
Do we have such a thing in programming?

Clone this wiki locally