Skip to main content

Section 4.15 Session 15: Objectification of Properties, Part 6

It’s been another long week of staring into Jupyter notebooks for hours on end and I still feel like I’m being haunted by those two missing maps.
Having given Exercises 7-9 a good share of time already, it might be time for me to consider moving on and coming back to them later. The hint on Exercise 11 suggests there will be more on presentations in Session 22.

Example 4.15.1. Exercise 9:.

...One can even program a computer....
Solution.
In all honesty, I don’t think this solution is quite there yet, but my code from this week can be found in this Jupyter notebook
 1 
github.com/rruff82/LS-Categories/blob/main/assets/notebooks/ls-ses15-ex9-before.ipynb
.
Since I still can’t seem to find these missing two maps, there’s definitely something I’m missing here. However, what I did manage to accomplish was to restore the original graph structures from the presentations. I also got some much needed practice with Python’s generators in the process.
My essential idea was that I could simplify my presentations by ordering the (generator,iteration) pairs in my relations by a single natural number. This was based in part by the proof that the rational numbers are countable.
My idea was that I could form a table with the generators as the columns and powers of the endomap as my rows. By traversing the table along the diagonals, I could ensure that I’m producing each possible relation in a well-defined order.
Figure 4.15.2.
With a fixed ordering for these elements, the relation \(\alpha^2 a = \alpha b\) could be rewritten as pairs \(\alpha^2 a = (0,2)\) ("2nd" iteration of generator "0") and \(\alpha b = (1,1)\) ("1st iteration" of generator "1"), These pairs can be turned into indexes in \(\mathbb{N}\) by using the "zig-zag" pattern illustrated above. The pair \((0,2)\) gets mapped to \(n = 3\) and the pair \((1,1)\) gets mapped to \(n = 4\text{.}\)
This was important because it allowed me to ensure that each of my relations was described in such a way that the higher index was always mapped to a lower index. For example, the above relation \(\alpha^2 a = \alpha b\) became a simple Python dictionary entry {4:3}. Without this I was trying to link points to other points that hadn’t yet been indexed.
With this in place, I had enough information to reconstruct equivalent definitions of \(X^{\circlearrowright \alpha}\) and \(Y^{\circlearrowright \beta}\) given only the presentations I produced last week. My map counts are still off by the same two maps I couldn’t find in Exercise 7, but the fact that I can reconstruct my maps in this way means any method that would work on the original maps could be still be applied given the presentation.
Obviously the point of the Exercise was that we don’t need to reconstruct the maps in this way, but at least this feels like some kind of progress. It allows me to break up the larger endomaps into smaller sub-presentations, develop a "cluster" endomap from the sub-presentation, and then compare these "clusters" for compatibility. Even if I don’t have a full list of maps quite yet, I at least have an algorithm that is consistent with my earlier results.