The Brunerie number is -2

836 views
Skip to first unread message

Anders Mortberg

unread,
May 23, 2022, 3:30:51 PM5/23/22
to Homotopy Type Theory, Axel Ljungström
We're very happy to announce that we have finally managed to compute the Brunerie number using Cubical Agda... and the result is -2!


The computation was made possible by a new direct synthetic proof that pi_4(S^3) = Z/2Z by Axel Ljungström. This new proof involves a series of new Brunerie numbers (i.e. numbers n : Z such that pi_4(S^3) = Z/nZ) and we got the one called β' in the file above to reduce to -2 in just a few seconds. With some work we then managed to prove that pi_4(S^3) = Z / β' Z, leading to a proof by normalization of the number as conjectured in Brunerie's thesis.

Axel's new proof is very direct and completely avoids chapters 4-6 in Brunerie's thesis (so no cohomology theory!), but it relies on chapters 1-3 to define the number. It also does not rely on any special features of cubical type theory and should be possible to formalize also in systems based on Book HoTT. For a proof sketch as well as the formalization of the new proof in just ~700 lines (not counting what is needed from chapters 1-3) see:

So to summarize we now have both a new direct HoTT proof, not relying on cubical computations, as well as a cubical proof by computation.

Univalent regards,
Anders and Axel

PS: the minus sign is actually not very significant and we can get +2 by slightly modifying β', but it's quite funny that we ended up getting -2 when we finally got a definition which terminates!

Steve Awodey

unread,
May 23, 2022, 3:38:58 PM5/23/22
to Anders Mortberg, Homotopy Type Theory, Axel Ljungström
Congratulations to Team A^2!
Great work - and a real milestone. 
Best wishes,
Steve 

On May 23, 2022, at 21:30, Anders Mortberg <andersm...@gmail.com> wrote:


--
You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group.
To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeThe...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/CAMWCppkF0JTQ8z6sPgLaC1%3DNZYFQdocCjUamCUDJUwGu179XXw%40mail.gmail.com.

Nicolai Kraus

unread,
May 23, 2022, 4:23:12 PM5/23/22
to Anders Mortberg, Homotopy Type Theory, Axel Ljungström
Congratulations! It's great that this number finally computes in practice and not just in theory, after all these years. :-)
And it's impressive how short the new proof is! But this still doesn't mean that Cubical Agda passes the test that Guillaume formulates in Appendix B of his thesis, right? Because this test refers to the Brunerie number β (in the Summary.agda file you linked), and not to β'.
In any case, that's a fantastic result!
Best,
Nicolai







--

Anders Mortberg

unread,
May 23, 2022, 5:00:17 PM5/23/22
to Nicolai Kraus, Homotopy Type Theory, Axel Ljungström
Thanks Nicolai! And yes, our β' is a different definition of the order of pi_4(S^3). In fact, the number β in the Summary file is not exactly the same number as in Guillaume's Appendix B either for various reasons. For instance, Guillaume only uses 1-HITs while we are quite liberal in using higher HITs as they are not much harder to work with in Cubical Agda than 1-HITs. Also Guillaume of course defines everything with path-induction while we use cubical primitives and the maps in appendix B are quite unnecessarily complex from a cubical point of view (for instance, the equivalence S^3 = S^1 * S^1 can be written quite directly in Cubical Agda while in Book HoTT it's a bit more involved and Guillaume uses a chain of equivalences to define it).

One could of course define the number exactly like Guillaume does and try to compute it, but I don't find that very interesting now that we have a much simpler definition which is fast to compute. However, we have come up with various other interesting numbers that we can't get Cubical Agda to compute, so there's definitely room to make cubical evaluation faster. Surprisingly enough though, one doesn't need to do this in order to get Cubical Agda to compute the order of pi_4(S^3)   :-)

--
Anders

Anders Mörtberg

unread,
May 24, 2022, 5:46:35 AM5/24/22
to Homotopy Type Theory
I did some digging and found the first commit with an attempt to compute the number written by Guillaume Brunerie, Thierry Coquand and Simon Huber already in December 2014:


This code is written for the predecessor of cubicaltt called "cubical" and Thierry reminded me that it was based on the buggy regularity evaluator which we eventually fixed in cubicaltt. I also think this cubical code is what became Appendix B in Guillaume's thesis (or maybe Guillaume already had a draft at the time, I don't remember). Anyway, Guillaume gave a nice talk in 2017 with an overview of the attempts up to then and the problems we had encountered:


This was before Cubical Agda was invented and there are some tricks in Cubical Agda that might make a difference compared to cubicaltt (in particular the "ghcomp" trick which I learned about from Angiuli-Favonia-Harper and which eliminates empty systems in hcomps). Now that we have a computation that actually terminates I'm looking forward to seeing if any of these tricks actually were necessary or if it was "just" a matter of simplifying the definition of the number.

Best,
Anders

Anders Mörtberg

unread,
May 24, 2022, 5:49:36 AM5/24/22
to Homotopy Type Theory

This was before Cubical Agda was invented


Oops, I meant to say that this was around the time Andrea Vezzosi was implementing Cubical Agda (which Guillaume mentions in the slides).
Reply all
Reply to author
Forward
0 new messages