Traditionally, mathematics research projects are conducted by a small number (typically one to five) of expert mathematicians, each of which are familiar enough with all aspects of the project that they can verify each other’s contributions. It has been challenging to organize mathematical projects at larger scales, and particularly those that involve contributions from the general public, due to the need to verify all of the contributions; a single error in one component of a mathematical argument could invalidate the entire project. Furthermore, the sophistication of a typical math project is such that it would not be realistic to expect a member of the public, with say an undergraduate level of mathematics education, to contribute in a meaningful way to many such projects.
For related reasons, it is also challenging to incorporate assistance from modern AI tools into a research project, as these tools can “hallucinate” plausible-looking, but nonsensical arguments, which therefore need additional verification before they could be added into the project.
Proof assistant languages, such as Lean, provide a potential way to overcome these obstacles, and allow for large-scale collaborations involving professional mathematicians, the broader public, and/or AI tools to all contribute to a complex project, provided that it can be broken up in a modular fashion into smaller pieces that can be attacked without necessarily understanding all aspects of the project as a whole. Projects to formalize an existing mathematical result (such as the formalization of the recent proof of the PFR conjecture of Marton, discussed in this previous blog post) are currently the main examples of such large-scale collaborations that are enabled via proof assistants. At present, these formalizations are mostly crowdsourced by human contributors (which include both professional mathematicians and interested members of the general public), but there are also some nascent efforts to incorporate more automated tools (either “good old-fashioned” automated theorem provers, or more modern AI-based tools) to assist with the (still quite tedious) task of formalization.
However, I believe that this sort of paradigm can also be used to explore new mathematics, as opposed to formalizing existing mathematics. The online collaborative “Polymath” projects that several people including myself organized in the past are one example of this; but as they did not incorporate proof assistants into the workflow, the contributions had to be managed and verified by the human moderators of the project, which was quite a time-consuming responsibility, and one which limited the ability to scale these projects up further. But I am hoping that the addition of proof assistants will remove this bottleneck.
I am particularly interested in the possibility of using these modern tools to explore a class of many mathematical problems at once, as opposed to the current approach of focusing on only one or two problems at a time. This seems like an inherently modularizable and repetitive task, which could particularly benefit from both crowdsourcing and automated tools, if given the right platform to rigorously coordinate all the contributions; and it is a type of mathematics that previous methods usually could not scale up to (except perhaps over a period of many years, as individual papers slowly explore the class one data point at a time until a reasonable intuition about the class is attained). Among other things, having a large data set of problems to work on could be helpful for benchmarking various automated tools and compare the efficacy of different workflows.
One recent example of such a project was the Busy Beaver Challenge, which showed this July that the fifth Busy Beaver number was equal to
. Some older crowdsourced computational projects, such as the Great Internet Mersenne Prime Search (GIMPS), are also somewhat similar in spirit to this type of project (though using more traditional proof of work certificates instead of proof assistants). I would be interested in hearing of any other extant examples of crowdsourced projects exploring a mathematical space, and whether there are lessons from those examples that could be relevant for the project I propose here.
More specifically I would like to propose the following (admittedly artificial) project as a pilot to further test out this paradigm, which was inspired by a MathOverflow question from last year, and discussed somewhat further on my Mastodon account shortly afterwards.
The problem is in the field of universal algebra, and concerns the (medium-scale) exploration of simple equational theories for magmas. A magma is nothing more than a set equipped with a binary operation
. Initially, no additional axioms on this operation
are imposed, and as such magmas by themselves are somewhat boring objects. Of course, with additional axioms, such as the identity axiom or the associative axiom, one can get more familiar mathematical objects such as groups, semigroups, or monoids. Here we will be interested in (constant-free) equational axioms, which are axioms of equality involving expressions built from the operation
and one or more indeterminate variables in
. Two familiar examples of such axioms are the commutative axiom
To illustrate the project I have in mind, let me first introduce eleven examples of equational axioms for magmas:
- Equation1:
- Equation2:
- Equation3:
- Equation4:
- Equation5:
- Equation6:
- Equation7:
- Equation8:
- Equation9:
- Equation10:
- Equation11:
One can then ask which axioms imply which others. For instance, Equation1 implies all the other axioms in this list, which in turn imply Equation11. Equation8 implies Equation9 as a special case, which in turn implies Equation10 as a special case. The full poset of implications can be depicted by the following Hasse diagram:
This in particular answers the MathOverflow question of whether there were equational axioms intermediate between the constant axiom Equation1 and the associative axiom Equation10.
Most of the implications here are quite easy to prove, but there is one non-trivial one, obtained in this answer to a MathOverflow post closely related to the preceding one:
Proposition 1 Equation4 implies Equation7.
Proof: Suppose that obeys Equation4, thus
. Specializing to
, we conclude
A formalization of the above argument in Lean can be found here.
I will remark that the general question of determining whether one set of equational axioms determines another is undecidable; see Theorem 14 of this paper of Perkins. (This is similar in spirit to the more well known undecidability of various word problems.) So, the situation here is somewhat similar to the Busy Beaver Challenge, in that past a certain point of complexity, we would necessarily encounter unsolvable problems; but hopefully there would be interesting problems and phenomena to discover before we reach that threshold.
The above Hasse diagram does not just assert implications between the listed equational axioms; it also asserts non-implications between the axioms. For instance, as seen in the diagram, the commutative axiom Equation7 does not imply the Equation4 axiom
- Equation2 does not imply Equation3.
- Equation3 does not imply Equation5.
- Equation3 does not imply Equation7.
- Equation5 does not imply Equation6.
- Equation5 does not imply Equation7.
- Equation6 does not imply Equation7.
- Equation6 does not imply Equation10.
- Equation7 does not imply Equation6.
- Equation7 does not imply Equation10.
- Equation9 does not imply Equation8.
- Equation10 does not imply Equation9.
- Equation10 does not imply Equation6.
As one can see, it is already somewhat tedious to compute the Hasse diagram of just eleven equations. The project I propose is to try to expand this Hasse diagram by a couple orders of magnitude, covering a significantly larger set of equations. The set I propose is the set of equations that use the magma operation
at most four times, up to relabeling and the reflexive and symmetric axioms of equality; this includes the eleven equations above, but also many more. How many more? Recall that the Catalan number
is the number of ways one can form an expression out of
applications of a binary operation
(applied to
placeholder variables); and, given a string of
placeholder variables, the Bell number
is the number of ways (up to relabeling) to assign names to each of these variables, where some of the placeholders are allowed to be assigned the same name. As a consequence, ignoring symmetry, the number of equations that involve at most four operations is
It is not clear to me at all what the geometry of will look like. Will most equations be incomparable with each other? Will it stratify into layers of “strong” and “weak” axioms? Will there be a lot of equivalent axioms? It might be interesting to record now any speculations as what the structure of this poset, and compare these predictions with the outcome of the project afterwards.
A brute force computation of the poset would then require
comparisons, which looks rather daunting; but of course due to the axioms of a partial order, one could presumably identify the poset by a much smaller number of comparisons. I am thinking that it should be possible to crowdsource the exploration of this poset in the form of submissions to a central repository (such as the github repository I just created) of proofs in Lean of implications or non-implications between various equations, which could be validated in Lean, and also checked against some file recording the current status (true, false, or open) of all the
comparisons, to avoid redundant effort. Most submissions could be handled automatically, with relatively little human moderation required; and the status of the poset could be updated after each such submission.
I would imagine that there is some “low-hanging fruit” that could establish a large number of implications (or anti-implications) quite easily. For instance, laws such as Equation2 or Equation3 more or less completely describe the binary operation , and it should be quite easy to check which of the
laws are implied by either of these two laws. The poset
has a reflection symmetry associated to replacing the binary operator
by its reflection
, which in principle cuts down the total work by a factor of about two. Specific examples of magmas, such as the natural numbers with the addition operation, obey some set of equations in
but not others, and so could be used to generate a large number of anti-implications. Some existing automated proving tools for equational logic, such as Prover9 and Mace4 (for obtaining implications and anti-implications respectively), could then be used to handle most of the remaining “easy” cases (though some work may be needed to convert the outputs of such tools into Lean). The remaining “hard” cases could then be targeted by some combination of human contributors and more advanced AI tools.
Perhaps, in analogy with formalization projects, we could have a semi-formal “blueprint” evolving in parallel with the formal Lean component of the project. This way, the project could accept human-written proofs by contributors who do not necessarily have any proficiency in Lean, as well as contributions from automated tools (such as the aforementioned Prover9 and Mace4), whose output is in some other format than Lean. The task of converting these semi-formal proofs into Lean could then be done by other humans or automated tools; in particular I imagine modern AI tools could be particularly valuable for this portion of the workflow. I am not quite sure though if existing blueprint software can scale to handle the large number of individual proofs that would be generated by this project; and as this portion would not be formally verified, a significant amount of human moderation might also be needed here, and this also might not scale properly. Perhaps the semi-formal portion of the project could instead be coordinated on a forum such as this blog, in a similar spirit to past Polymath projects.
It would be nice to be able to integrate such a project with some sort of graph visualization software that can take an incomplete determination of the poset as input (in which each potential comparison
in
is marked as either true, false, or open), completes the graph as much as possible using the axioms of partial order, and then presents the partially known poset in a visually appealing way. If anyone knows of such a software package, I would be happy to hear of it in the comments.
Anyway, I would be happy to receive any feedback on this project; in addition to the previous requests, I would be interested in any suggestions for improving the project, as well as gauging whether there is sufficient interest in participating to actually launch it. (I am imagining running it vaguely along the lines of a Polymath project, though perhaps not formally labeled as such.)
UPDATE, Sep 30 2024: The project is up and running (and highly active), with the main page being this Github repository. See also the Lean Zulip chat for some (also very active) discussion on the project.

76 comments
Comments feed for this article
25 September, 2024 at 9:03 pm
Oussama Basta
Hello, I am working on a resembling topic, were an expression of any field of mathematics can be denoted using prime numbers using a map, and then we can in the prime-encoded-domain use prime-encoded-domain operators, thid domain work in a way that resembles binary and boolean representation of algebra as an example, well here are the implications: all math fields expressions will be treated the same way in this domain and solved with the same number of steps, 1. Prime encoding 2. Simplifying 3. Factorization 4. Decoding to the original notation. I developed a proving algorithm and tested on some proven problems and also used to solve problems like PDEs and such. Please visit my ResearchGate preprint:https://www.researchgate.net/publication/382477678_Prime_Encoding_in_Mathematics_A_Novel_Approach_to_Symbolic_Computation
23 October, 2024 at 9:10 pm
Oussama Basta
We have an Arabic proverb and it goes like “My Allah bless you with pilgrimage when they are coming back”, did you buy the dislikes, i don’t think any mathematical peice deserves this many, specially if it wrong TT.
23 October, 2024 at 9:11 pm
Oussama Basta
Here’s my dislike
26 September, 2024 at 12:04 am
Anonymous
You probably need to state whether the answer to the mathematical problem or the development of new ways of collaboration in mathematics is more important to you. Formative process evaluation is going to change the process a lot. A.I. is constantly upgraded at the moment as are online collaboration tools. On the meta level you are going to re-invent the wheel many times. The people contributing should be made aware of that and ready to accept that they will have to learn a new structure of the entire project several times.
26 September, 2024 at 6:13 am
Terence Tao
For this project I would say the latter, although I also think that some unexpected features or phenomena of the space of equational theories may emerge from such an exploration that could be quite mathematically interesting, simply because these sorts of explorations have not really been made before and so there will be terra incognita. I think a proof-of-concept such as this may help determine what types of collaborative or AI-assisted workflows are more effective than others, and these lessons may be robust even as the technology develops at a rapid pace. But I expect some technologies to stay stable; for instance, the Github platform is rather well established with a successful track record, and I imagine that it, or some derived clone, will remain useful for many years to come.
26 September, 2024 at 12:12 am
Anonymous
I generated the list of equations, you can find it here:
https://github.com/amirlb/magma/blob/trunk/equations.txt
This is slightly longer than your calculation – 4694 equations. I think the calculation doesn’t account for the fact that equations such as
x ◦︎ x = y ◦︎ y
aren’t counted twice, so should be excluded from the division by two.
26 September, 2024 at 6:16 am
Terence Tao
Thanks for this (and for uploading the script and text to the github)! You are right, I undercounted the number of equations slightly, though fortunately I still got the order of magnitude correct, which was the main thing…
26 September, 2024 at 7:32 am
Terence Tao
EDIT: I have decided to make your numbering and labeling of the equations the canonical one for this project. In particular, what used to be called Equations 1-11 in the Lean file is now Equations 2, 46, 4, 387, 4582, 42, 43, 4552, 4513, 4512, 1 as per your text file. Also this provides an easy way to slowly scale up the project, one simply adds some appropriately sized set of new equations from the master list into the working Lean document. So I have gone ahead and added five more equations (Equations 3, 5, 6, 7, 8 in your list) to the Lean file. In principle anyone can now contribute new implications involving this larger set of 16 equations to the Lean file via a pull request, but I will now focus on setting up suitable CI so that will be able to automatically verify such contributions, as well as a blueprint that could track what implications are desired.
26 September, 2024 at 5:55 pm
Anonymous
can someone explain please why x ◦︎ x = x ◦︎ x isn’t on the list?
wouldn’t it mean “only elements that are possible results of x ◦︎ x are guaranteed to be equal to themselves”? which is slightly weaker than x = x, where it applies to all?
26 September, 2024 at 10:46 pm
Terence Tao
The law
and the law
are satisfied by all magmas, due to the reflexive axiom for equality (which is part of the axioms of first-order logic, which is the ambient logical framework that is implicitly assumed here), so they are logically equivalent.
26 September, 2024 at 12:17 am
Anonymous
Some of the proofs of the implications can get extremely long if the axioms are compatible in subtle ways. A good example of such surprising scaling was the proof of the Robbins conjecture generated with automated theorem prover by William McCune in 1996. The proof is rather hard with several thousands steps of various substitutions. Current version of the proof was optimized by humans but it is still “barely” readable.
26 September, 2024 at 6:19 am
Terence Tao
Right, I am hoping that this space is just complex enough to capture a reasonable data set of difficult implications that could then serve as a benchmark for various automated tools, at a larger scale than that of individual conjectures such as the Robbins conjecture. Alternatively, the exploration could reveal that the theories of a single equation are considerably simpler than the theories of multiple equations; this also would be an interesting empirical observation to learn about.
26 September, 2024 at 1:58 pm
Anonymous
Allready ? There are so many nice encoding, since the syntax of a magma is a simple algebraic datatype :
M = Var + M*M
Where + is a disjoint sum, * a cartesian product, and = an isomorphism (or a least fixed point operator). Var, the set of variables is isomorphic to the set of natural number.
I’m sure Lean could have handled it.
26 September, 2024 at 4:54 pm
Paul F Dietz
I was going to say that this subject seems closely related to the work done at Argonne, of which the result you mention is a part. This is very old school theorem proving.
https://www.mcs.anl.gov/research/projects/AR/
I don’t think this group is still there at Argonne; I know Larry Wos died in 2020. Wos started doing theorem proving in 1963!
26 September, 2024 at 1:39 am
Anonymous
I didn’t notice the Github link when reading before, sending this as a PR there too
26 September, 2024 at 6:34 am
Terence Tao
Thanks! I also see you constructed a script to automatically detect if there are any missing implications. Using that tool, I found that I neglected to add a proof that Equation3 implies Equation8, but I have now added this implication. On the other hand, your tool reports that (For instance) there is no proof or disproof of Equation6 implying Equation9, but the file contains a proof that Equation6 does not imply Equation10, while Equation9 implies Equation10, so together this shows that Equation6 does not imply Equation9. Still, this is a very useful tool to have in the project! I have not currently implemented any continuous integration in the github project, but I could imagine that this tool could somehow be placed into the CI (I am not an expert in this aspect of github though, and would need some help to implement it properly).
26 September, 2024 at 7:49 am
Anonymous
Oops! I had a bug in the script – it wouldn’t recognize equations whose number was more than one digit.
Fixing now, I’ll send a pull request soon.
There are now 3 missing counter-examples, in the new numbering they are 387 => 42, 387 => 4512, and 43 => 387.
The script prints 7 missing proofs, I’ll develop a version that reduces to the minimal required proofs later on. We’re unlikely to be at the point where undecidability occurs.
26 September, 2024 at 10:16 am
Terence Tao
Thanks! After fixing some naming typos in the current version, I have now put stubs for the 387 => 42 and 43 => 387 counterexamples in the Lean code and in the blueprint, see here and here. Anyone is welcome to fill in the `sorry`s here with a suitable construction!
Regarding the counterexample for 387 => 4512, it appears this should be covered by the existing implication 387 => 43 together with the existing counterexample for 43 => 4512. (But this may have been an artefact of the typos I previously mentioned; when I changed over the equation numbering, some of the Lean theorem names did not change properly.)
26 September, 2024 at 11:15 am
amirlb
The counter-example for 43 => 4512 is x ∘ y = xy + 1.
This doesn’t satisfy equation 387 (x ∘ y = (y ∘ y) ∘ x), and anyway it would need to be stated in Lean for the script to acknowledge it.
I’ll add a sorry for that later, or we can delay it until we figure out a structure for the other millions of propositions.
26 September, 2024 at 3:24 am
Anonymous
Should the projet also include composed implications, e.g., of the form (a) & (b) => (c) or (a) & (b) & (c) => (d)? Or would this make the number of implications to prove explose in an unreasonnable way?
26 September, 2024 at 4:14 am
Anonymous
i am not sure on the feasibility aspect. but, to me, being able to ask about the relations between composite axioms is a much more compelling project.
this turns the structure from a poset to a meet-semilattice. obviously a Hasse diagram can be made either from (1) the atomic axioms or (2) the logically distinct composites. but maybe a more natural (at least, more full) diagrammatic representation would be some kind of hypergraph. (is there any existing software for such a thing?)
26 September, 2024 at 6:21 am
Terence Tao
This could well be a future direction of the project, if the pilot is successful, but given that so many of the aspects of this project are novel, I think it would be prudent to be relatively unambitious mathematically for the initial stage, and defer more complex and interesting mathematical challenges to after all the initial kinks in the workflow are smoothed out, and we have a better idea of what can and cannot be easily achieved with this sort of paradigm.
6 October, 2024 at 3:31 am
Uzi Vishne
By considering implications between sets of equations you would be studying *varieties* of magmas, rather than *equations*. This is more reasonable from a structural perspective.
26 September, 2024 at 6:48 am
Terence Tao
A commenter on my Mastodon account has pointed me towards the recent paper https://dl.acm.org/doi/10.1145/3632900 of Koehler et al. which provides software to perform automated proving of equations in Lean, so this would presumably be an ideal tool to deploy in this project.
26 September, 2024 at 7:28 am
bollu
As an author on the guided equality saturation paper (Siddharth Bhat), I’d like to chime in: The e-graph is a very powerful data structure, but grows very quickly. The human ingenuity was a critical component to get the guided equality saturation to work, and it would indeed be very interesting to see if a AI-assisted prover could provide these sketches for us. Happy to chat more on the Lean zulip: https://leanprover.zulipchat.com/#narrow/dm/130575-Siddharth-Bhat
26 September, 2024 at 7:20 am
在普遍代数领域开展试点项目,探索新的合作方式并利用人工智能。 - 偏执的码农
[…] 详情参考 […]
26 September, 2024 at 8:17 am
Terence Tao
Note: I am moving the github repository to a new location https://github.com/teorth/equational_theories which supports the Lean blueprint CI. I will also move over the most recent PRs to the old site, but going forward please use the new repository. (I will also update the blog post links to redirect to this new repo shortly.)
UPDATE: the new repository is now active, with a blueprint (complete with dependency graph), web page, Lean Zulip stream, and documentation page, among other things. I’ve also updated the graph of dependencies to reflect the new numbering as well as the newly added equations that need to be placed within the graph here.
26 September, 2024 at 9:42 am
Alexander Varga
We could generate a 4694 x 4694 pixel image where each pixel is colored by whether x -> y is proven, disproven, or unknown. And then animate it over time :)
26 September, 2024 at 11:07 am
Terence Tao
This could be a nice visualization tool. I see you uploaded a proof of concept to the repository, but the image you provided is almost completely black. Are you just reporting the implications that are given in the Lean file, or are you completing them with respect to the poset axioms? (For instance, the Lean file contains the implications 2 => 46 and 46 => 387, which then implies 2 => 387, even though this implication is not explicitly stated in the Lean file.)
In the meantime, I updated my Inkscape image of the implications to reflect the new numbering and also the newly added equations that need to be placed in the graph. If anyone wishes to work out where these equations go in the graph (by determining enough implications and anti-implications between these new equations and the existing ones to get a reasonably good placement), please feel free to do so. Presumably this manually created Inkscape image will not scale well as the project expands, but for the very short term it might suffice as a guide until we find an automatic image generation solution that is more scaleable.
30 September, 2024 at 4:44 am
David Roberts
Such a visualisation is fun, but the set of orderings of the axioms needs to be explored a little, to make sense of the image. For instance, doing something like pushing a lot of the trivial information down the back of the list, and then only showing the interesting part of the image. Or some other kind of filtering process.
As an example, in a computational paper with a student, I visualised the {0,1}-valued (twisted) cocycle for the Moufang loop extension of the Golay code by proving that the O(16million) pixels in our first image that looked like noise were generated by a more ordered 128×128 grid, which we sorted judiciously to reveal interesting structure. There was lots of exploration, both in a coded random-walk way, but also by noticing patterns and doing some theoretical work.
26 September, 2024 at 10:19 am
Anonymous
This is an incredibly exciting project, and I believe it has the potential to significantly advance not only the formalization of mathematics but also the development of AI tools that can “think” and assist in automating complex mathematical arguments.
By creating a comprehensive database of equations and their relationships, as you propose, we would not only crowdsource mathematical discovery but also build a benchmarking tool for AI-based theorem provers and automated tools. AI systems could use this structured data to better understand patterns in mathematical logic and even improve their reasoning capabilities. This is especially valuable in the development of next-generation AI tools that might one day assist with, or even automate, more sophisticated aspects of mathematical research.
Additionally, I see enormous value in this project for people who are not yet fully proficient in proof assistants like Lean. Such a collaborative platform could help bridge the gap for those who want to contribute to formalization but might find the process of formal proof writing daunting. Automated tools or more experienced users could help convert “blueprints” or informal proofs into fully verified formal proofs, reducing the burden on contributors.
This database could also have a profound impact on the publishing and peer-review process. Having formalized proofs integrated into this process would make it much faster and more reliable to verify mathematical results, ensuring that new discoveries can be checked for correctness much more efficiently. This could be a game-changer for the peer-review system in mathematics, which can sometimes be slow due to the complexity and length of verification.
Lastly, perhaps giving this project a formal name would help attract broader participation and recognition, much like Polymath or GIMPS (the Great Internet Mersenne Prime Search). A strong, recognizable name would not only reflect the collaborative, crowdsourced nature of this project, but also signal its innovative approach to exploring new mathematics. This could help generate more interest from both the mathematical community and those working in AI and automation, as well as emphasize the project’s potential to scale to a wider range of problems.
Just a thought…
Well done.
1 October, 2024 at 1:42 am
Anonymous
Thank you so much for articulating these points!
26 September, 2024 at 11:00 am
Anonymous
One process improvement might be a sort of “bounty list” to show on the repo or associated website with the most interesting implications to prove or disprove at any given time. Given a partial state of known implied/known not implied/unknown relationships in the poset, it should be possible to automatically pick up high-value relationships (in the sense that figuring them out would have the largest automatic knock-down effect on others).
— Marcelo Rinesi
26 September, 2024 at 11:10 am
Terence Tao
This is a nice idea. I do not know how to implement it automatically, but for now I will start managing the blueprint to highlight the unproven implications that one would like to see settled. Right now, the dependency graph of this blueprint lists two such requests (the bubbles in blue), to fill in two counterexamples that I overlooked in my initial Lean file.
26 September, 2024 at 2:37 pm
mrinesi
Extremely quick-and-dirty PoC here https://github.com/teorth/equational_theories/pull/13
4 October, 2024 at 9:38 am
Will Sawin
A partial formal definition of this is, first, if a relationship is proven, to see how many other relationships will follow from this, then, if the negation is proven, how many other relationships will follow from this, and then take the minimum of the two figures. The relationships that maximize this ranking will tend to give a lot of information whether they are proven or disproven.
26 September, 2024 at 12:31 pm
Anonymous
Very interesting project! BTW, Prover9 is far from being state-of-the-art in (equational) automated proving currently. I’d say that Vampire probably is. Caveat: I used to be a Vampire developer.
26 September, 2024 at 3:24 pm
一个普遍代数的试点项目,探索新的协作方式. - 偏执的码农
[…] 详情参考 […]
26 September, 2024 at 4:07 pm
A pilot project in universal algebra to explore new ways to collaborate
[…] Article URL: https://terrytao.wordpress.com/2024/09/25/a-pilot-project-in-universal-algebra-to-explore-new-ways-t… […]
26 September, 2024 at 8:06 pm
Pace Nielsen
In addition to forming a Hasse diagram between individual identities, another project might be forming the Euler diagram between Boolean combinations of the identities (perhaps starting with just three, rather than four, instances of the operation, to control the size of the project).
26 September, 2024 at 10:52 pm
Terence Tao
Hopefully once we figure out the most efficient workflow to handle this sort of project in a way that can allow both human and automated contributions, one could adapt that workflow to many other problems (including ones not in the field of universal algebra). For now I would prefer to focus just on this specific project; as mentioned in the post, the goal is somewhat artificial, but has the advantage of being simple and amenable to a large number of existing tools. I’ll leave it to the experts in universal algebra to decide what type of explorations of this type would be most interesting for their field.
27 September, 2024 at 5:45 am
Pace Nielsen
In my opinion as an ring theorist (and occasional universal algebraist), describing connections between sets of identities, rather than merely single identities, is much more natural and useful. When restricted to identities with 3-compositions in them, the advantages you mention (of “being simple and amenable to a large number of existing tools”) remain. I haven’t done the back-of-the-napkin calculation, but I suspect such a task may not be much harder (after taking into account how so many identities imply others, hence many of the Euler regions are subsets of others). The visualization wouldn’t be as simple as a poset of arrows all directed downwards, but I suspect it would also be quite beautiful. Perhaps as a proof-of-concept, this could be done with the forty-six 2-composition identities [which may disprove my claims…]
The major downside I see is that you would lose the associativity axiom from the mix.
Anyway, just thought I’d raise this issue early on, in case it changed your mind. Whatever you decide, I think this project sounds awesome, and I’m happy to help however I can.
27 September, 2024 at 8:06 am
Terence Tao
Well, when I first made the blog post way back in Wednesday, I was expecting a somewhat leisurely discussion before officially launching the project, in which we could have discussions on focusing the project onto the most suitable goal, but it has since taken on quite a life of its own and now has significant momentum. But I think that once we stabilize (and decentralize) the workflow, we will be able to accomodate multiple projects at once, and in particular I could imagine your variant of the project (with a smaller set of identities, but a more complex set of relations between them) being pursued in parallel (and with significant synergy) with the current one. Right now though we are having logistical bottlenecks in that the contributions are coming in far faster than our current non-automated organizational structure is able to handle, so I am definitely not looking to add additional goals to the project in the immediate term…
27 September, 2024 at 10:24 am
Pace Nielsen
Ah, that makes sense! [It is great how much interest this is generating!]
26 September, 2024 at 11:58 pm
Anonymous
I was wondering but is there a similar kind of Hasse Diagram one could make for unary functions?. I was able to think of four but I was not sure if the latter two would count as equational axioms. The first two I thought of were
where
is defined recursively using
. The second one was
which would imply that f is bijective since f^-1 or the inverse of f would not be defined otherwise I believe(but I am not sure of this). The third and fourth were
and
. The third just meaning f was a constant function and the fourth meaning as I understand it would just imply that the domain is just a singleton.
27 September, 2024 at 6:53 am
Pace Nielsen
Let
be a unary function symbol on a set
. There are exactly two (doubly-indexed) families of identities:
and
, with
ranging over the nonnegative integers.
Let’s consider the family with two variables first. The identity
, when
, means that the descending chain of images
must stabilize at (or before)
to a singleton set that
fixes.
Now consider the family with one variables. When
, the identity
yields no restrictions at all. When
, the identity instead implies that the chain of images stabilizes at (or before)
, and that on this set the map
is a permutation of order dividing
.
27 September, 2024 at 2:26 am
Tristan Stérin
Hello,
I created the Busy Beaver Challenge and am now one of the maintainers. I’m really thrilled to read that you are launching a new collaborative project and wanted to give a few elements that we’ve learned with bbchallenge since it was launched in 2022.
I apologise, in advance for the long comment as I’m going to try to be as exhaustive as possible.
As you mentioned, we achieved bbchallenge’s initial goal this July, and the final Coq-formalised proof is critically based on the work of 15+ people and approx ~50 people have been active throughout the years in the online discussions that led to this result (you can see the dependency graph of results that I’m trying to maintain).
We believe that the following elements have played an important role in bbchallenge’s ability to produce results:
1. Working on a problem with a clear goal (in our case, proving BB(5)=47,176,870) and quantifiable “distance-to-the-goal” metric (in our case, the number of Turing machines left to decide). It seems to me that the problem you propose has these properties.
2. Having a platform dedicated to the problem (bbchallenge.org) which provides:
– An entry-point to the project displaying the “distance-to-the-goal” indicator in “real-time”
– An URL-addressable database for the objects of interest (in our case, Turing machines, such as this one or that one). This gives collaborators a common language and makes exchanging / referring to problems very easy. (in your case maybe you could access a formula by URL and on that page see all the implications going in and out of that formula)
– A visualisation engine for the objects of interest (space-time diagrams in our case). I will point that our engine is quite limited (only a few lines of javascript) but I believe it helped a lot of newcomers to get interested in the problem thanks to this “eye candy”.
– Various resources (papers, tutorials for new contributors, wiki) and links to “socials” (discourse forum, discord server, github org)
3. Having a chat forum. This point is probably the most important in bbchallenge’s case. Our chat forum (discord) really unlocked and scaled-up entropically-driven research: although chaotic at times, >80% of key research ideas have been discussed in public at early stages and/or discovered through these conversations. Similarly to developers that benefit from the “build in public” approach, the chat forum allows for “research in public”. A few points that come to mind:
– The specific chat forum system probably matters and does not matter: most chat forums should achieve the above purpose (I see you have a Zulip setup which looks great for research project) but at the same time I believe that different chat systems will attract different crowds. Discord has downfalls (especially concerning their data model) but I hypothetise that it attracted people (non-academics in the vast majority) extremely fit to solve the problem (excellent programmers with maths skills that were already using Discord).
– Anonymity (or the possibility to be anonymous) matters. On our chat forum, most people go by pseudonyms (including core contributors) and some people are completely anonymous (i.e. no name linked to the pseudonym), including core contributors. I believe that this creates an environment where people don’t feel judged on anything else than their contributions. I believe that it also makes people less stressed about publicly making mistakes (which happens all the time and is instrumental to the research process).
– Very little to no moderation has been required so far in bbchallenge. One of the worries with chat forums is the moderation effort and having to deal with trolls. Our chat forum has ~500 participants and at this scale at least we’ve encountered almost no issues of that type.
– The hard thing is to keep track of discoveries made in the chats. The demanding task for maintainers, in my opinion, is that through the entropy of the chat a lot of discoveries or important ideas happen. It is a bit overwhelming to keep track of them and make sure they are not lost in limbo.
– When the discoveries are made with code, we can track things with github (although, the number of repositories of contributors is high)
– For fully formed ideas/results, a wiki is good
– The trickiest thing is for more atomic results / ideas that do not really fit on a wiki as they are still very much “alive” and evolving. I’ve been developing a tool, cosearch, for this purpose as well as the purpose of keeping track of the knowledge produced by all contributors and the depedency graph between those discoveries. This is still very experimental and under development.
4. Allowing for diversity of “contribution format” (in our case programming languages). bbchallenge’s contributions have been done in many programming languages: Go, Rust, C++, Python, Haskell, Coq, Lean, Dafny. Again, this entropy can feel overwhelming, but it really helped reducing the barrier to contribute as anyone could use what they were familiar with. That way we very rapidly had a great diversity of contributions (of great quality) and contributors.
When starting bbchallenge, I was only dreaming we’d ever get formal proofs in Coq/Lean and I had absolutely not the skills to make that happen. However, until Coq/Lean contributors arrived, we developed non-halt certificates in which ever languages we were familiar with (and were very strict about having to have several implementations of verifiers to accept a proof). It turns out that some of these certificates ideas have been implemented/reused in the Coq/Lean proofs, so it was not a waste of time but rather a first step until contributors with the appropriate Coq/Lean skills joined the project.
I don’t know how this last point can realistically apply to your project and I like the appeal of having Lean as an universal way to communicate mathematics in a reliable way (and without trust issues), but I think it necessarily restricts the set of contributors you can reach.
In our experience, having a wide diversity of contributors really helped distribute the workload (in a completely non-supervised fashion) as contributors naturally start working in areas of the project where (a) their skills apply the most and (b) that are not too crowded already (like when people naturally sit on a bus leaving space between each others).
Lastly, I’d like to mention other massively collaborative research projects (I try to maintain a list here) that also work with large problem spaces:
– ConwayLife
– Googology
27 September, 2024 at 8:25 pm
Terence Tao
Thanks, this is very helpful and insightful!
Having a platform with visible progress indicators and other “eye candy”: totally agree. We are soon going to have some capability to generate all the implications and anti-implications established at the current time, and then we can work on automatically putting various metrics and visualizations based on that data on the github front page.
Anonymity: the Lean Zulip that has become the de facto hub of activity seems to discourage anonymous or pseudonymous accounts, but I guess this blog could serve as a secondary discussion site that permits anonymity.
Tracking non-code contributions: I certainly see some of the entropy you are referring to! We do have a blueprint within the github repository which could in principle serve as an equivalent of a wiki, though right now we don’t have many theoretical contributions of this form.
Non-Lean contributions: right now the solution we are floating is to rely on the “proof_wanted” keyword in Lean to track all non-Lean based claims (converting them to a statement that is formalized in Lean, but without the accompanying proof), perhaps accompanied with some justification of those claims as a comment in the Lean code. This should hopefully allow for a diverse range of contributions to be made to the project, while permitting the main processing and workflow to happen entirely within Lean.
28 September, 2024 at 11:16 am
Tristan Stérin
OK! Perhaps my view of the benefits of potential anonymity is a bit too strong and non-anonymous will probably do fine as well!
I did not know about the “proof_wanted” keyword, and it sounds like a really cool feature.
It is amazing to see everything that has been done on the project in just three days and how it has already “self”-organised. It comforts my enthusiasm for the massively collaborative approach to this type of research.
Very much looking forward to the coming days/weeks :)
27 September, 2024 at 3:03 am
Anonymous
This is a game-changer for mathematics research! I’ve participated in Polymath projects and understand the verification bottleneck. Proof assistants like Sedgwick Lean can revolutionize collaboration and crowdsource complex projects. Exploring multiple problems simultaneously will accelerate discovery and make math more accessible.
27 September, 2024 at 4:51 am
Alexei Lisitsa
I find the project very interesting and feasible, especially in the part of harvesting “easy fruits” by using automated tools like prover9 and mace4.
The interesting question here is also about anti-implications: which of these can be established by finite countermodels and which of these require infinite countermodels. I expect Mace 4 can easily handle finite countermodels (especially of smaller size up to size of a few dozens), while larger sizes will be a challenge, and infinite sizes would require human insight.
I would also gently disagree with the opinion by Anonymous above that Prover9 is far from being state-of-the-art in (equational) automated proving currently. Prover9 is still very good in equational reasoning despite its last version is about 15 or so year old. I have dozens of (mathematically meaningful) equational problems instances where Prover9 outperforms Vampire and other state-of art provers.
9 October, 2024 at 12:49 am
Anonymous
Regarding your last point, that is very interesting. Could you share those problem instances with me? My email address is ahmed_bhayat at hotmail.com. It would be really great if you could also share Prover9 settings used to obtain a proof.
27 September, 2024 at 7:07 am
Dániel Varga
Awesome project! I wrote a piece of code that enumerates all k-element magmas, can verify an equation for all of them, and can check for implications. k=2 is fast, k=3 is reasonable, k=4 is not completely out of the question. As an example of what it can do, i’ve given it the first 10 equations with at most 4 variables, and it says:
“`number of true implications for 2-magmas 56 out of 100
number of true implications for 3-magmas 54 out of 100“`
These are the two implications in the 56-54 difference:
——-
x = x + y implies x = x + (x + y) for 2-magmas, but not for 3-magmas.
counterexample:
[[0 0 0]
[1 1 0]
[1 2 2]]
——-
x = x + (y + x) implies x = x + (x + y) for 2-magmas, but not for 3-magmas.
counterexample:
[[0 0 0]
[1 0 0]
[2 0 0]]
Do these claims seem to be correct?
Here is the code: https://github.com/danielvarga/magmas
I’ll run it for more equations.
27 September, 2024 at 11:31 am
Fan Zheng
Are you sure that x = x + y does not imply x = x + (x + y)? Here’s the proof: x + (x + y) = x + x = x. So maybe there is some misunderstanding of the problem?
27 September, 2024 at 1:16 pm
Anonymous
I think it’s not a misunderstanding of the problem, it’s just a stupid mistake in my write-up. Thank you for spotting it! The direction of the implication is reversed, all else is hopefully fine. For 2-magmas,
. The left side trivially implies the right side, for any magmas, as you say. But the right side also implies the left side, for 2-magmas. (I don’t have a short proof, but there are only 16 magmas to check. The right side is only true for one of those.) This direction is not true for 3-magmas and further.
All in all, when I wrote “implies” above, it should have been “is implied by”.
28 September, 2024 at 2:01 am
Dániel Varga
These two plots are similar to the 4694 x 4694 images, but they are only 4347 x 4347, because right now my code is limited to 4 variables, and there are 4347 equations with 4 variables. I think I can easily fix this later. Red means falsified, black is the rest. On the first image, falsified by some 2-element magma, on the second, falsified by some 3-element magma. Notably, the 3-magmas image does not have that much more red. (11,814,111 versus 11,110,683 falsified, out of
4347^2 = 18,896,409.)
(I hope WordPress treats these links correctly.)
Some more stats: The 3-magmas Hasse diagram only have
1045 nodes, not 4347, where 1045 is the number of logical equivalence classes of equations. It has 4037 edges.
28 September, 2024 at 2:49 am
Terence Tao
Nice! Feel free to pr the code and images to the repo!
28 September, 2024 at 4:16 am
Dániel Varga
Thank you! Modestly, I’ve started with an issue :) :
https://github.com/teorth/equational_theories/issues/50
27 September, 2024 at 9:25 am
Anonymous
I wrote code for a smaller project that has much in common with this proposal: given a simple representation of a finite mathematical structure (a text file describing elements and a single operator) generate a set of axioms describing that structure. The goal was more philosophical proof of concept than new mathematical program, but it relies on Prover9 and Mace4, and includes brute-force generation of potential formulas in the manner you suggest, although my code produces more verbose formulas in first-order logic.
My own part of this work was only ever published as a poster, but the (unmaintained!) code is here: https://github.com/gsfk/aa
27 September, 2024 at 11:37 am
Fan Zheng
As a first observation, if the identity has one variable on one side which does not appear on the other side (for example, x = y + y or x = (y + z) + w), then it implies that the magma has only one element, so it is equivalent to x = y. That may simplify the impilcation graph quite a lot.
27 September, 2024 at 1:13 pm
Fan Zheng
More precisely I mean equations with only a single variable on one side. More on this: it seems that some of the equations enjoy the property that in whatever order you use it to simply an expression, you get the same result. Examples are x = x+x, x=(x+x)+x and x=x+(x+x). For such equations, another equation is its consequence if and only if the two sides of its simplified form are identical.
27 September, 2024 at 1:19 pm
Fan Zheng
As a non-example, the equation x=(x+x)+y does not have this property: because ((x+x)+(x+x))+y=x+x and also ((x+x)+(x+x))+y=x+y.
So it begs the question: where does this type of meta-argument belong? Should we repeat it in every implication where it is applicable or should we refine our code to automatically sort out such instances?
27 September, 2024 at 6:16 pm
Terence Tao
This issue is being discussed at the Lean Zulip. The long-term plan is to create an API for Magma words and implications as syntactic objects, at which point one should be able to prove these metatheorems within Lean. In the nearer term, there are already volunteers who are writing code in other languages to automatically generate files of all instances of these metatheorems in the current dataset.
29 September, 2024 at 2:12 am
Anonymous
I’ll be grateful if you could point to books/materials/courses which can help one design an undergraduate (or graduate) course on AI Mathematical Assistants. Thanking you in advance.
29 September, 2024 at 3:35 am
Fan Zheng
After playing around a little bit using pen and paper, I found that things start to get out of control from Equation 49:
In
substitute
so
becomes
. Then
Then substitue
so
becomes
. Then
etc. etc.
1 October, 2024 at 11:27 am
Anonymous
Google: Michael Kinyon, Robert Veroff, Joao Araujo, J.D. Phillips, Peter Jipsen, Petr Vojtechovsky, Andrei Lisitsa, Boris Shminke.
Also, their talks at the AITP conference.
2 October, 2024 at 11:06 am
Anonymous
Dr Tao, always your safely assumed, humble student, even when you have to cater for most other smaller problems, Thanks for all the efforts, in its most sincerest gratitudes.. Even when there are a lot more indignant People who are only in it for the Money..
6 October, 2024 at 3:56 am
Anonymous
Let E denote the poset of magma equations with up to 4 operations, ordered by implication. By casting the equations to magmas with a unit element, one obtains a quotient poset E’ (there are more implications: e.g. x(xy)=xy implies xx=x when the magma has a unit element, but not in general). Further casting the equations to loops (magmas with unit where all left- and right- multiplications are invertible) will project the poset E’ further, say to E” (e.g. from x(yx)=x(xy) we immediately get yx=xy).
I will not try to advocate here that loops are “more interesting” than magmas. But from the point of view of a human being having to digest a computational project of this magnitude, E” would be more appealing and more manageable than E.
The sub-poset of E” consisting of ordered homogeneous equations of degree 1+1+2 (three operations), was determined in https://arxiv.org/abs/math/0701714. It would be quite nice if the current project will be able to determine the poset of ordered homogeneous loop equations of degree 1+2+2 or 1+1+3.
12 October, 2024 at 10:15 am
Anonymous
link died
I guess the file got moved?
12 October, 2024 at 4:04 pm
Terence Tao
The project has been refactored a couple times in the last few weeks. The successor to that file is https://github.com/teorth/equational_theories/blob/main/equational_theories/Subgraph.lean
12 October, 2024 at 4:00 pm
The equational theories project: a brief tour | What's new
[…] three weeks ago, I proposed a collaborative project, combining the efforts of professional and amateur mathematicians, automatic theorem provers, AI […]
13 October, 2024 at 5:37 am
Anonymous
Could you please replace the link to this paper of Perkins by something with open access like relay-station or even zbMATH? Thanks
[Done – T.]
22 October, 2024 at 4:14 pm
Anonymous
I don’t understand much of this but I thank God that we have such really smart gifted people in our country. God Bless you Terence, and all other gifted contributors🙏
24 October, 2024 at 6:44 am
Alephlogics
9 and 8 are ez, if x or y then not x then not y. Then x then not y, by contraposition, eq 9 and 8 are different but y could be replaced with w and w with u which may make them equivalent. Anyways, how did you come up with this abstraction? I also did not verify this using the way you would normally, so this may actually be complete nonsense. It is definitely interesting tho, from a logic perspective. I actually have done something similar, but I would sometimes get confused.
24 October, 2024 at 9:50 pm
Gil Kalai
Are there interesting examples (even in the original setting of 11 relations) where two (say) equations A,B imply a third one C without any of them imply C alone?
25 October, 2024 at 11:55 am
Terence Tao
Certainly. For instance, the associative and commutative laws together imply that
, but this is not implied by either law separately.