Posts tagged with category theory

[Karol] Borsuk’s geometric shape theory works well because … any compact metric space can be embedded into the “Hilbert cube” `[0,1] × [0,½] × [0,⅓] × [0,¼] × [0,⅕] × [0,⅙] ×  …`

A compact metric space is thus an intersection of polyhedral subspaces of n-dimensional cubes …

We relate a category of models A to a category of more realistic objects B which the models approximate. For example polyhedra can approximate smooth shapes in the infinite limit…. In Borsuk’s geometric shape theory, A is the homotopy category of finite polyhedra, and B is the homotopy category of compact metric spaces.

—-Jean-Marc Cordier and Timothy Porter, Shape Theory

(I rearranged their words liberally but the substance is theirs.)

in `R` do: `prod( factorial( 1/ 1:10e4) )` to see the volume of Hilbert’s cube → 0.

[☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺…]

hi-res

• `{−,+} ⨉ {−,+}`
• and
•  `{−,+,0} ⨉ {−,+,0}`

realised as faces and as theories of personality.

Isomorphic to what you get if you strip the lightswitch group of its relationships=mappings=arrows (forgetful functor `→Set`).

The Five Temperaments apparently thinks the Four Humours theory of personality is improved by adding `0`. We could go all the way to fuzzy logic and make the dimension continuous. What would that do?

hi-res

i.e. think about the number of rearrangements of `AAAAABBBBBBB` and then revalue `A as +` and `B as −` — or whatever.

Requires knowing that combinatorics can be thought of in terms of counting injections, bijections, etc. rather than real-life examples like cards or coin flips.

hi-res

I said that adjoint functors are like dictionaries that translate back and forth between different categories. How far can we take that analogy?

In the common understanding of dictionaries, we assume that the two languages … are equally expressive, and that a good dictionary will be an even exchange of ideas. But in category theory we often have two categories that are not on the same conceptual level. This is most clear in the case of so-called free-forgetful adjunctions. [In a] sense … each adjunction provides a dictionary between two categories that are not necessarily on an equal footing, so to speak.

$\large \dpi{200} \bg_white \mathrm{functor} \ F\!: \quad \mathcal{C} \to \mathcal{D} \\ \\ \begin{matrix} U \overset{h}{\longrightarrow} &V \overset{g}{\longrightarrow} &W \qquad \in \textrm{category } \mathcal{C} \\ \arrowvert &\arrowvert &\arrowvert \\ \arrowvert &\arrowvert &\qquad \arrowvert \: \quad F \\ \downarrow &\downarrow &\downarrow \\ F( U ) \overset{F(h)}{\longrightarrow} &F(V) \overset{F(g)}{\longrightarrow} &F(W) \quad \ \in \textrm{category } \mathcal{D} \end{matrix}$

Consider the category of monoids and the category of sets. A monoid `(M,e,∗)` is a set with an identity element and a multiplication formula that is associative. A set is just [stuff in a box]. A dictionary between `Mon` and `Set` should not be required to set up an even exchange, but instead an exchange that is appropriate to the structures at hand. …

Let’s bring it down to earth with an analogy. A one-year-old can make repeatable noises and an adult can make repeatable noises. One might say “after all, talking is nothing but making repeatable noises.”

But the adult’s repeatable noises are called words, they form sentences, and these sentences can cause nuclear wars. There is something more in adult language than there is simply in repeatable sounds.

In the same vein, a tennis match can be viewed as physics, but you won’t see the match. So we have something analogous to two categories here: `((repeated noises))` and `((meaningful words))`.

We are looking for adjoint functors going back and forth, serving as the appropriate sort of dictionary. To translate baby talk into adult language we would make every repeated noise a kind of word, thereby granting it meaning.

We don’t know what a given repeated noise should mean, but we give it a slot in our conceptual space, always pondering “I wonder what she means by Konnen..”

On the other hand, to translate from meaningful words to repeatable noises is easy. We just hear the word as a repeated noise, which is how the baby probably hears it.

Adjoint functors often come in the form of “free” and “forgetful”. Here we freely add Konnen to our conceptual space without having any idea how it adheres to the rest of the child’s noises or feelings. But it doesn’t act like a sound to us, it acts like a word; we don’t know what it means but we figure it means something. Conversely, the translation going the other way is “forgetful”, forgetting the meaning of our words and just hearing them as sounds.

The baby hears our words and accepts them as mere sounds, not knowing that there is anything extra to get.

Back to sets and monoids, the sets are like the babies from our story: they are simple objects full of unconnected dots. The monoids are like adults, forming words and performing actions. In the monoid, each element means something and combines with other elements in some way. There are lots of different sets and lots of different monoids, just as there are many babies and many adults, but there are patterns to the behavior of each kind and we put them in different categories.

Applying a free functor … makes every element… a word…. Since a set … carries no information about the meaning or structure of its various elements, the free monoid … does not relate different words in any way.

To apply a forgetful functor … to a monoid, even a structured one, is to … [remove all the arrows, all the interrelationships which give the elements meaning relative to each other]. It sends a monoid … to a set. The analogy is complete.

some very small categories

hi-res

horizontal composition of homotopies

• within 𝒵:
• `red→yellow` then `orange→green`
• ends the same as
• `orange→green` then `red→yellow`

hi-res

## Non-Associative

Commutativity is an easy property to render into English: it means order doesn’t matter.

For example “three groups of five rocks” totals the same as “five groups of three rocks”. In fact a general proposition is true: “L groups of R rocks” totals the same as “R groups of L rocks” for any L,R. Which is surprising if you think about arraying the stones in piles or spirals or circles

but less so if you think about arraying them in grids

`  `

But what about associativity? It’s a basic assumption of category theory and every monoid or semigroup is associative. Since functional programming (`F#`, `Haskell`, etc) is based in these composition-friendly mathematics of braids, string diagrams, monads, and monoids, the associative assumption will come up in functional programming as well.

If the property holds then we can do things like this:

but what does it mean for associativity to hold? Just like I didn’t understand why the classical poetry I read in school was considered good until I read some truly bad poetry, I need some examples of non-associative things before I can understand what it means to assume some process is associative.

The sedenions aren’t associative

and neither are the octonions.

But these two algebras are unusual so in order to explain why they don’t translate evaluation parentheses, you have to first figure out how they work. Same with Okubo algebras, Jordan algebras, Poisson algebras, and vector cross-products. How about a more commonly understood subject matter?

Here is one: arithmetic of exponents.

The Berkeley calculator evaluates 2^2^2^2^2 right-to-left.

To access the Berkeley Calculator: Type `bc -l` at the terminal in Linux or Mac. In Windows get PuTTY and `ssh new@sdf.org`.

If the evaluation order doesn’t matter (associativity), then the square root of 2^2^2^2^2 should be the same as the base-two log of 2^2^2^2^2, since one cancels “from the bottom” and one of them cancels “from the top”.

$\dpi{200} \bg_white \large {\not 2^{2^{2^{2^{2}}}}} = \log_2 {2^{2^{2^{2^{2}}}}} \overset{?}{=} \sqrt{2^{2^{2^{2^{2}}}}} = {2^{2^{2^{2^{\not 2}}}}}$

$\dpi{200} \bg_white \large {\not 2^\fbox{2^{2^{2^{2}}}}} = \log_2 {2^{2^{2^{2^{2}}}}} \overset{?}{=} \sqrt{2^{2^{2^{2^{2}}}}} = \fbox{2^{2^{2^{2}}}} {}^{^{^{\not 2}}}$

But guess what?

The `square root` of 65536 is 256, but the `log_2` of 65536 is ≈16. Since they’re not the same, exponentiation is non-associative.

Playing around with exponents of a few two’s and different evaluation orders can be done either in `bc -l` or on paper.

```4^4^2
(2^2)^(2^2)^(2)

(2^2^2^2)^2
(2^2^2^2)*(2^2^2^2)

65536^2 = 4294967296
2^65536 = ridiculous

(2^3)^2 = 8^2 = 64
2^(3^2) = 2^9 = 512
```

And now that I’ve played around I have a plain-English description of what associativity means: "Order of evaluation doesn’t matter"

differential topology lecture by John W. Milnor from the 1960’s: Topology from the Differentiable Viewpoint

• A function that’s problematic for analytic continuations:
$\large \dpi{200} \bg_white \begin{cases}{0 & \text{ if } t < 0, \\ \exp{-{1 \over t}} & \text{ if } t > 0 } \end{cases}$
• Definitions of smooth manifold, diffeomorphism, category of smooth manifolds
• bicontinuity condition
• two Euclidean spaces are diffeomorphic iff they have the same dimension
• torus ≠ sphere but compact manifolds are equivalence-classable by genus
• Moebius band is not compact
• Four categories of topology, which were at first thought to be the same, but by the 60’s seen to be really different (and the maps that keep you within the same category):

diffeomorphisms on smooth manifolds;

piecewise-linear maps on simplicial complexes;

homeomorphisms on sets (point-set topology)

• Those three examples of categories helped understand category and functor in general. You could work for your whole career in one category—for example if you work on fluid dynamics, you’re doing fundamentally different stuff than computer scientists on type theory—and this would filter through to your vocabulary and the assumptions you take for granted. Eg “maps” might mean “smooth bicontinuous maps” in fluid dynamics but non-surjective, discontinuous maps are possible all the time in logic or theoretical comptuer science. Functor being the comparison between the different subjects.
• The fourth, homotopy theory, was invented in the 1930’s because topology itself was too hard.

• Minute 38-40. A pretty slick proof. I often have a hard time following, but this is an exception.
• Minute 43. He misspeaks! In defining the hypercube.
• Minute 47. Homology groups relate the category of topological-spaces-with-homotopy-classes-of-mappings, to the category of groups-with-homomorphisms.

That’s the first of three lectures. Also Milnor’s thoughts almost half a century later on how differential topology had evolved since the lectures:

Hat tip to david a edwards.

What I really loved about this talk was the categorical perspective. The talks are really structured so that three categories — smooth things, piecewise things, and points/sets — are developed in parallel. Better than development of the theory of categories in the abstract, I like having these specific examples of categories and how “sameness" differs from category to category.

(Source: simonsfoundation.org)

The category of categories as a model for the Platonic World of Forms by David A Edwards & Marilyn L Edwards

• Thales (7th cent. BC) made the first universal statement (proof w/o regard to the gods or mythology, just from pure reason)
• pre-Greek mathematics was essentially engineering maths.
• I owe ya a post on the illiterates in chapter 2 of James Gleick’s The Information. He tells the story of some illiterates in outer Soviet Union. According to the tale, they basically do not abstract at all. No abstract reasoning, no properties ascribed to members of a class, and so on.

It sounds kind of idyllic in the way of NYT tales of the Pirahã or Jill Bolte Taylor’s story of losing the logical half of her brain. I’m not sure if Thales set us on the path to Hell or Heaven.
• Plato set for himself the [goal] of extending geometry [beyond] triangles and circles and such, to all of human thought. He failed, but his vision has come to pass.
• Why did Lawvere succeed where Plato and Whitehead failed?
• Category theory, unlike earlier formalisations (think Peano arithmetic and Goedel’s proof), is stable to the “meta” step: you do 2-categories, you do n-categories … the abstraction is ultimately a `k → k+1` kind of deal rather than a “And this is the ultimate finality!” kind of deal.