-
Notifications
You must be signed in to change notification settings - Fork 105
Terence Tao's personal log
Terence Tao's log on the Integrated Explicit Analytic Number Theory network project (IEANTN), which is being hosted within the PNT+ project. This log is inspired by a similar log for the Equational Theories Project.
This project has been in development for several weeks, but was finally "officially launched" yesterday with my blog post announcement. If I had been a bit more organized, I would have started this log earlier to document the early stages of the project. Those stages can still be reconstructed from the discussion on the Lean Zulip channel, but going forward I will try to make a more organized recounting of events here.
Initially, the project started by focusing on two relatively easy "tertiary" subprojects:
- The LCM project, to show that
$\mathrm{LCM}(1,\dots,n)$ is not a highly abundant number for sufficiently large$n$ , and specifically for$n \geq 89683^2$ . - The Erdos 392 project, which aims to formalize a full solution to Erdos problem #392, which asserts that
$n!$ can be factored into$n/2 - n/2\log n + o(n/\log n)$ pieces.
Thanks to a flood of contributions, both human and AI-generated, both projects are close to completion. The final LCM theorem is proven, conditional on one explicit prime number theorem of Dusart (which we would eventually plan to formalize, but this has not yet even been started), and one technical multiplicative number theory calculation that has been claimed but not yet completed.
While preparing this log I noticed something strange about the Erdos #392 project: in the dependency graph, the final theorems were not linked up to the rest of the proof! This was a misformalization issue that is now fixed; you can read more about it here. So there are a few more lemmas needed than I previously thought to finish off this subproject, but it is still largely completed.
Harald Helfgott has been contributing some further mini-projects to formalize. An identity relating the Mobius summatory function to the error term in the count of squarefree numbers is nearly done; only the final theorem remains to be proven, and this has already been claimed. A longer "appendix" on ways to estimate the Riemann zeta function is not quite as advanced, with roughly half of the sublemmas formalized so far, but it is proceeding nicely.
The most ambitious project currently is to formalize this paper of Fiori, Kadiri, and Swidninsky (FKS2), relating explicit prime number theorems for the Chebyshev function to explicit prime number theorems for the prime counting function. Here I am encounting the somewhat recursive nature of the literature here; there are facts from previous papers of Rosser-Schoenfeld and of Broadbent, Kadiri, Lumley, Ng, and Wilk (BKLNW) that this paper relies upon, and BKLNW in turn relies on past literature also. It may take some time to get to the bottom of all this!
Nevertheless, some lemmas are beginning to get formalized, and already a number of omitted positivity conditions, or "off by one" errors in summation ranges, have been identified by Pietro Monticone, Steven Rossi, and Aayush Rajasekaran. Hopefully these will not propagate to cause issues downstream.
Meanwhile, contributions are coming in to the older non-explicit side of the PNT+ project. Matteo Cipollina has just completed a formalization of the Hadamard factorization theorem and its specialization to the Riemann zeta function, which will certainly come in handy later in the explicit PNT+ project. We are also closing in on the prime number theorem in arithemtic progressions, with only a handful of lemmas needed to finish off this milestone! (On the other hand, the Chebotarev density theorem is still extremely far from completion; we barely have a viable roadmap to this theorem at present.)
Lots of progress in various directions. The two misformalized final theorems in the Erdos project have now been formally proven again, thanks to Pietro Monticone and Aristotle. Alistair Irving noted that one of the outstanding tasks to prove (an identity for the prime counting function) was essentially already proven in a different component of the PNT+ project, leading to a one-line proof; this is a good example of the synergy I had hoped to see when hosting the IEANTN within the PNT+ project.
The LCM project relied on a single theorem of Dusart. I decided to go ahead and enter in all the other main results of Dusart's paper into the IEANTN as blueprinted, formalized statements of theorems (but with proofs omitted). Previously I had a somewhat complex workflow where I would use an LLM to extract LaTeX from a PDF of the paper, enter in the LaTeX as comments to the lean file, and then start entering in the blueprint metadata and the formalization; I have found that after doing this for one or two lemmas, Github Copilot "catches on" to what I am doing and offers increasingly longer and more accurate autocompletes. Today I discovered that I can skip one step by directly dumping in a cut-and-pasted version of the PDF text into the comments of the Lean file. The format of that cut-and-pasted document is quite ugly to human eyes, but apparently still very readable to LLMs, so this workflow worked very smoothly, with the main results of the paper all entered in about an hour (and near the end I it was almost just repeatedly pressing "Tab" to accept the autocomplete).
Harald Helfgott has pointed out the new TME-EMT wiki, which would be a prime source of further results to enter into the IEANTN as we continue scaling up the project.
The formalization process is picking up some gaps in the Mathlib literature, for instance the absence of an integration by parts lemma for the Stieltjes integral. There is some debate as to whether to avoid such issues by using more elementary proofs instead, but the tentative consensus is to use the opportunity to fill in the gaps in Mathlib even if this takes a little longer to accomplish within the project.
There is some "golfing" going on behind the scenes, such as reducing the imports needed for some Lean files in the project (by Tomodovodoo) or taking advantage of the latest Mathlib lemmas (by Alistair Irving). Such technical improvements are not flashy, but certainly very much appreciated, and likely will be crucial in keeping the project compilation times manageable as it scales up. There is some hope that AI tools can also help with "autogolfing", but such tools have not yet been widely deployed for this task.
While doing some updates for FKS2, I noted that this paper used a neat pair of inequalities
due to Costa Pereira, so I created a (hopefully) quick subproject to formalize these.
A small technical note: I discovered that if a Lean file is not imported as a lean module to the blueprint file, then it is not picked up in the blueprint. I discovered this when the LCM project was reporting a suspicious amount of dark green (indicating provability without prerequisites), when in fact it relies on the aforementioned estimates of Dusart which have not yet been proven.
An issue that shows up in formalization projects is how best to "spell" a given mathematical statement; there can be several options to express the same statement in Lean, but some may be more convenient than others.
An example we recently encountered involved the basic identity
The use of the autocomplete function of Github Copilot dramatically increases the speed of converting an informal LaTeX document (or PDF) into a LaTeX/Lean blueprint; but it comes at the cost of some inaccuracy in the conversion process. Recently it turned out that some formulae that had been commented out in the source LaTeX had been accidentally reproduced in the Lean text of the formalization of the corresponding lemma. Fortunately, this was caught by the human formalizer (Steven Rossi), and in any event would have been detected through the inability to formalize the current version of the lemma as stated in Lean. These multiple layers of verification help prevent the issue of AI-generated errors from propagating to unacceptable levels.
I discovered today that the FKS2 paper uses results from yet another explicit analytic number theory paper, namely that of Buthe. Fortunately, I was planning to formalize this paper anyway, and with the Copilot workflow it was not difficult to at least formalize the statements of the main results.
There is some discussion on the Zulip about how to implement integration by parts at low regularity (where the functions involved only are known to be of bounded variation), which we will need to estimate some Fourier transforms of some piecewise continuous functions. Aristotle seems to struggle somewhat with these analysis type problems, so we will likely have to first find a human-generated proof, but we are first looking through Mathlib to see if other analysis or measure theory tools can be of use.
Project leaderboard: Unclaimed 32, Claimed 13, In progress 3, In review 1, Completed 49.
The Equational Theories Project log maintained, for some time, a "dashboard" of metrics tracking the progress of the project. So I decided to maintain a similar dashboard for this log, using the raw task counts for the Github project as a very crude metric of progress. This metric is imperfect in many ways - tasks vary widely in size, and a small number are purely administrative tasks (such as to test out some features of the project management system) - but will still hopefully give some coarse-scale impression of the size and rate of progress of the project.
Over at the Erdos problem web site, Thomas Bloom has proposed that once the IEANTN matures, it could play a role in hosting some sort of "competition" involving both humans and AI to improve various numerical constants in explicit analytic number theory. This seems like an excellent idea, particularly if we coordinate with the new TME-EMT wiki for such estimates. It will be several months at least before we will be ready to implement this, but I will keep the idea on my radar screen.
I finished inputting the informal proofs from the FKS2 paper into the project. With AI tools this was not too difficult (these tools were particularly helpful for inputting in the lengthy tables in the paper). These are particularly computationally intensive proofs, and it will be a challenge to convert them into formal proofs, but we will cross that bridge when we come to it.
The LCM project is essentially done, with the final PR coming in this evening. This concludes the proof of the least common multiple result assuming a prime number theorem of Dusart. The students that I am supervising now plan to refactor this proof to make a much more explicit pipeline between the input estimate and the output estimate, so that other prime number theorems than Dusart's can be entered in. A reasonable first goal here is to input other prime number theorems in short intervals (such as the ones listed here) and see what one gets out of that. (With the aid of Github Copilot, it was an easy matter to transcribe the results from that wiki into the project.)
Project leaderboard: Unclaimed 39, Claimed 10, In progress 2, In review 7, Completed 53.
The LCM project is officially completed, with a completely formalized proof, starting from the prime number theorem of Dusart, that
We've encountered some issues in the Costa Pereira subproject due to some infinite sums being accidentally written to be over the reals instead of the natural numbers, but this is in the process of being sorted out.
A very minor milestone: Yongxi Lin found the first (very small) actual error has been found in one of the papers we are formalizing, namely that an inequality is stated to be strict but is only proven to be non-strict. This is an insubstantial error - almost on the level of a typo - but is a small demonstration of what formalization of a published result brings to the table.
One of the great benefits of the structure of a modern formalization project, with its decomposition into many small and loosely interacting pieces, is that these pieces can be worked on asynchronously, by different collaborators, in a non-linear order. However, sometimes this advantage breaks down. In the Costa Pereira project, Morten Ness discovered an "off by one" formalization error in one of the sublemmas: an infinite sum was supposed cover the range k with k.succ), but by this point several downstream lemmas involving manipulations of these series had already been proven with the wrong range of k. Pietro Monticone was able to update all of these proofs with the new indexing, but it was more complicated than a simple search and replace. The lesson to draw here is that when a statement of a sublemma to prove depends in an essential way on several prior lemmas that have not yet been proven, the statement may be unstable enough that it may be a good idea to not prioritize the proof of that sublemma (unless the proof is simple or likely to be robust with respect to such changes).
Project leaderboard: Unclaimed 35, Claimed 10, In progress 1, In review 6, Completed 59.
Harald Helfgott is closing in on a possible way to handle integration by parts for bounded variation functions; there is a proof of this by Wheeden and Zygmund that Aristotle looks capable of formalizing, though the proofs are not at Mathlib's level of quality so some intermediate process of creating a proof and then refining it within PNT+ may be needed. Other results in Wheeden and Zygmund, such as Fejér's theorem on pointwise convergence of Fourier series, have already been formalized by this approach, which bodes well.
Pietro Monticone also used Aristotle to automatically pick up a several typos in one of the results I had recorded in the repository: a prime number theorem of Johnston and Yang was claimed to hold for all HasPrimeInInterval requires one to specify the left endpoint and the length of the interval, whereas I accidentally specified the left and right endpoints, with the effect that these theorems were instead asserting the far weaker statement that the interval
Aristotle also found ways to derive many of the weaker, older prime number theorems recorded on in the repository as consequences of the stronger, newer ones in the repository. I could block this from happening by ensuring that the prime number theorems are imported in completely chronological order, but having the "cheap" proofs of these older results is a useful placeholder to have, as it is unlikely we will get around to formalizing the proofs of these older results for quite some time. But it is still worth making a note that the proofs are shortcuts rather than reflecting the historical proof of these results.
Finally, Pietro Monticone and Aristotle managed to completely finish off the Costa Pereira project now that all the misformalizations were fixed, completing the four remaining lemmas; this was not expected to be that difficult of a subproject, but it is still impressive to see how far automated tools have come in this regard. It does mean though that we might be running a little low on outstanding tasks, and I will have to add a few more to the queue soon!
Yongxi Lin encountered our first truly computation-intensive proof, requiring 100000000 heartbeats due to 120 separate applications of nlinarith. This will not be sustainable in the long term, so we will need to figure out more efficient ways to do these sorts of computations.
While trying to continue blueprinting the BKLNW paper I have realized that I have misunderstood the flow of logic in this paper. Like many other conventionally written papers, the main theorems of this paper are stated in the introduction, but are proven later in the paper, and in some cases the proof is postponed to appendices. On the other hand, some of the theorems stated in the introduction are used to prove lemmas later in the paper, which are then used to prove other theorems stated in the introduction. Because of this, extracting a linear ordering of the results in the paper is not entirely trivial, and the ordering I had chosen was actually rather incorrect, requiring a large permutation of the theorems in the Lean file to fix (among other things, the Inputs structure for more convenient handling of these hypotheses, but I have now discovered that some of the hypotheses currently placed in Inputs are in fact proven in the paper using other hypotheses in Inputs, which defeats the purpose of having a unified Inputs structure in the first place, and this structure will now need to be broken up. This is all doable (perhaps with the aid of a large blackboard to diagram the logic of the paper), but requires all current contributionsn on BKLNW to be completed (and no further ones to be initiated). Perhaps the lesson to draw here is that one has to diagram the logic of a paper first before beginning the blueprinting process; proceeding linearly through the paper and blueprinting one section at a time can lead to awkward refactorings later due to the fact that the paper one is blueprinting is unlikely to be written in a purely linear order.
Project leaderboard: Unclaimed 33, Claimed 11, In progress 1, In review 4, Completed 64.
Lawrence Wu has resolved yesterday's issue of a computational proof absorbing way too many heartbeats, by manually making an educated guess as to how a simplified proof would work, writing a skeleton for that guess in Lean, and then letting autoformalization tools do the rest. A nice showcase of the ability to resolve problems by a collaboration between multiple human participants and AI tools.
Pietro Monticone, using Aristotle, has discovered a minor error in the description of an old prime number theorem of Schoenfeld (see Theorem 12) in the new TME-EMT wiki (which I had used as a reference for the IEANTN). The theorem asserts that "the open interval
Some further errors, this time my fault, have been discovered by the same process: I had omitted some key factors of
I think I have a way forward on the BKLNW refactoring. Much of the problem stems from the appendix to that paper, whose main purpose is to generate a key estimate Inputs structure to hold the inputs for both the main body and for the appendix, this led to the illogical situation in which the appendix results were using one component of Inputs to generate another, which made the entire design choice to route everything through a single Inputs structure pointless and confusing. My solution is to create a new Lean file just for the appendix, with its own namespace and own Inputs structure. There are still some other issues in the main BKLNW paper that will require a bit of refactoring, but I have formalized the appendix first, while the existing BKLNW tasks are resolving.
Project leaderboard: Unclaimed 37, Claimed 11, In progress 1, In review 0, Completed 68.
jdominpa has found a possible minor error in the FKS2 paper, in that a hypothesis
Yongxi Lin has [finished off] the proof of Mertens' second theorem
I've figured out a way to formalize the estimation of the logarithmic integral that will make for a small mini-project. Kevin Buzzard points out that one could circumvent this whole issue by artificially redefining the log integral
Project leaderboard: Unclaimed 43, Claimed 9, In progress 1, In review 2, Completed 69.
I wrote a brief post on the Zulip to summarize the progress so far.
Another very minor typo in FKS2 picked up by jdominpa; the condition
Performed a refactoring of the FKS2 blueprint to organize the results in a more logical order; will do the same for BKLNW next. There are a few people who had claimed some tasks relating to the refactored files, but I am hoping that the disruption will be manageable.
Yongxi Lin has now also formalized Mertens' first theorem, as well as a related integral identity that will be useful later when improving the error term in these inequalities.
Project leaderboard: Unclaimed 36, Claimed 10, In progress 0, In review 5, Completed 74.
Alejandro Radisic has used the recent Lean package LeanCert to establish some rigorous upper and lower bounds on
Finally managed to refactor BKLNW in a logical fashion. I had been tripped up by an apparent circularity: in the paper, Theorem 1 is used to prove Corollary 2.1, which is used to prove Corollary 5.1, which is used to prove Corollary 8.1, which is used to prove Theorem 1! But eventually I worked out what is going on: Theorem 1 has two parts (a k=0 part and a k>0 part), and the first instance of Theorem 1 in the above chain refers to the first part, while the second instance refers to the second part. Splitting the theorem into two separate subtheorems and placing them at very different locations on the blueprint resolves the issue.
One technical speedbump I encountered was that the CI check was reporting blueprint latex errors. Sometimes the error message lets one clearly locate what the error is and where it is located, allowing for easy fixes, but there was one mysterious error about "missing $ inserted" that stumped me for a while. Eventually, I had to build the blueprint locally (using lake build :blueprint) and compile the resulting blueprint (in .lake/build/blueprint, using xelatex since pdflatex for some reason doesn't like some of the blueprint LaTeX features) to find the error; even with this I had to start commenting out some code until I finally localized the issue to having LaTeX in section headers. I'm recording this issue here in case I (or anyone else) encounters something similar in the future.
Project leaderboard: Unclaimed 34, Claimed 10, In progress 1, In review 4, Completed 81.
We are now entering the more computational side of the FKS2/BKLNW papers for the first time, in particular trying to formalize the fact that a certain estimate holds for all parameter choices in a table with about 25 rows in it. We have formalized the numerical property that these rows need to satisfy, and a proof that the first row obeys these properties, but doing the latter verification 24 more times would be tedious (though hopefully straightforward for modern AI tools). Recompiling these 25 proofs every time the files are updated could be noticeably problematic, so I plan to refactor all the computational component of the table to a separate standalone Lean file that only needs to be compiled once (at least until Mathlib updates). This will hopefully serve as a template for how to handle the many other tables in these papers.
Project leaderboard: Unclaimed 34, Claimed 9, In progress 0, In review 1, Completed 89.
Getting close to being able to adopt LeanCert to solve numerical verifications (starting with the numerical estimation of li(2)). The plan is to keep all the theoretical components of the verification within the main blueprint system, and have a dedicated file to do the purely numerical component using LeanCert as an import. However, we are double checking that importing LeanCert will not impact the mathlib caching system, which is essential to keep mathlib updates possible within a reasonable time.
The tables are refactored in a similar way. One speedbump is that a key table (Table 8) in BKLNW turned out to have two versions: a short version appearing in the published paper, and an extended paper with many more rows. It is the extended table which is needed to verify other calculations. So the BKLNW table file now has both tables, and an outstanding task to verify that the short version is weaker than the longer one.
The formalization process has picked up a number of misformalizations in the project. Some new instances of an older misformalization, in which one mistakenly summed over the integers rather than the natural numbers, was picked up by Pietro with Aristotle. Pietro and Aristotle also picked up a numerical typo in the formalization of the first row of Table 8. Amusingly, while most of this table was AI generated, the issue was precisely the lack of AI use: I had typed in the first row by hand and then used Github Copilot to fill in the other 50 or so entries, but I forgot a digit in my row. Copilot did correct transcribe all the other rows though!
We have just discovered a potential major roadblock in the entire project. It appears that at least some of the key papers we are formalizing compiled their numerical tables using non-rigorous floating point arithmetic rather than rigorous interval arithmetic. As a consequence, many of the numerical constants appearing in the paper are untrustworthy in their final digit. For any practical application this is a negligible problem, but for formalization it is a real headache. Every numerical bound in the paper, e.g., eps < 0.5364, is now not actually the formal statement we need to formalize into Lean; we need something like eps < 0.5365 instead. But because there are long chains of dependencies between constants, it is not completely obvious how to round up each constant in the chain.
I have been adopting a "top down" approach to formalization in which I started with a very recent paper FKS2 and started formalizing it, recursively creating formalization projects for any reference used non-trivially by this paper as needed (e.g., BKLNW). But these roundoff errors have exposed a weakness to this strategy - if some constant in a paper five citations deep needs to be adjusted in the final digit, this can propagate all the way back up the citation chain requiring all sorts of small modifications to formal proofs. If we had robust pipelines in place then this might not be a problem, and the plan is to actually have such pipelines anyway, so maybe this will not be a problem. The other alternative is to flip to a bottom up approach in which we start formalizing only those papers without significant dependencies. That would be safer from the formalization project side, but less interesting from the pipeline side, because then we would have no examples of proofs with nontrivial inputs to experiment with.
Project leaderboard: Unclaimed 31, Claimed 13, In progress 1, In review 1, Completed 89.
A test project by Harald Helfgott to formalize an identity involving the error term in the Mobius prime number theorem has now been completed thanks to the work of many contributors, with the final step finished off by Steven Rossi.
To deal with the rounding issues it looks like the simplest fix is to pad all numerical constants in various paper with safety margins, e.g., multiplying them by 1.01 or 1.001, with the multiplier increasing as one goes up the dependency chain of constants. So the final results may now be weaker by a percentage point or so from what is in print, especially if there is a long chain of dependencies, but hopefully once we have an integrated network in place these safety margins can be optimized away.
Separately in the PNT+ project (largely outside of the IEANTN, but sharing the same infrastructure), Alex Kontorovich and his team at Rutgers are launching a project to begin formalizing the well-known text of Iwaniec and Kowalski. Getting the whole text formalized sounds ambitious, but perhaps some significant portion is within reach now. Separately, the last remaining part of the Strong PNT project is in the process of getting properly blueprinted. (A full proof of the final theorem was achieved separately by Morph Inc., but it did not quite follow the blueprint we had, and it is non-trivial to integrate that proof into our repository.)
Project leaderboard: Unclaimed 30, Claimed 14, In progress 0, In review 1, Completed 92.
Build times for the LeanCert li(2) verification exceed an hour on slow machines, so we are converging on a compromise: the lengthy numerical verification will be formalized in a Lean file, but this Lean file will be disconnected from the main project and so will not be forced to be built by default.
Project leaderboard: Unclaimed 30, Claimed 14, In progress 0, In review 1, Completed 92.
Project leaderboard: Unclaimed 30, Claimed 14, In progress 0, In review 1, Completed 92.
Progress on my end was held up for a day or so due to some technical mathlib local build issues, but with help from other project contributors I managed to resolve the problem. I have now been able to implement the safety margin idea mentioned previously; if it works for the test set of tables, then it will hopefully be a model for other numerical components of the project.
LeanCert is now merged into our project; we will see if any significant performance issues arise.
Started a new miniproject to formalize the classical Chebyshev estimates, which could serve as a substitute for a slightly weaker estimate of Rosser and Schoenfeld that is used in the literature. This is a large number of small tasks which should be suitable for beginners.
Project leaderboard: Unclaimed 37, Claimed 16, In progress 0, In review 3, Completed 95.
I am realizing that the Chebyshev project will require a numerical verification of
Formalizing that the tables in BKLNW are compatible with each other has proven to be surprisingly slow, even with safety margins implemented, due to various typos entered in when transcribing the tables using a mix of manual and AI autocompleted text. It appears that spot checks of AI-autocompleted tables is not fully reliable. Still, the errors are relatively easy to catch, check, and fix, so this should only be a short-term problem.
Pietro Monticone is doing automated runs of Aristotle on the project which is picking up any number of misformalizations, for instance here a typo in a definition of a quantity
Project leaderboard: Unclaimed 34, Claimed 13, In progress 0, In review 1, Completed 106.
A large fraction of the Chebyshev tasks are in fact already formalized now, thanks to the quick work of Pietro Monticone and Alistair Irving (and also Aristotle, although here many of the proofs are actually manually written). Some of the lemmas that I had anticipated to be extremely lengthy case checks ended up being quite straightforward after using powerful Lean tactics such as omega, which is I guess part of why we have these tactics in the first place.
Project leaderboard: Unclaimed 28, Claimed 14, In progress 0, In review 3, Completed 109.
Harald Helfgott has started formalizing several key theorems from Wheeden-Zygmund and Montgomery-Vaughan in Lean, such as integration by parts for the Riemann-Stieltjes integral. He and I had some discussion on how best to document these formalizations and integrate them with the rest of the project.
Project leaderboard: Unclaimed 28, Claimed 14, In progress 0, In review 1, Completed 111.
A technical issue with the Mathlib docgen CI has prevented us from building the blueprint (or anything else in the repository) for a few days, but Aayush Rajasekaran has implemented a workaround (basically by downgrading docgen-action).
I've started a new subproject, to formalize the estimates of Chirre-Helfgott, which can control the Chebyhshev function via Fourier analysis (and numerical verification of the Riemann hypothesis). This will eventually link up with the existing FKS2/BKLNW formalization, although this may take a while.
Project leaderboard: Unclaimed 30, Claimed 20, In progress 0, In review 1, Completed 111.
Project leaderboard: Unclaimed 28, Claimed 19, In progress 0, In review 3, Completed 112.
The work we have put in on Chebyshev bounds and on the least common multiple of
Project leaderboard: Unclaimed 28, Claimed 18, In progress 0, In review 2, Completed 114.
Project leaderboard: Unclaimed 28, Claimed 17, In progress 0, In review 3, Completed 114.
I have done some refactoring, moving some common definitions to a single file at the start of the project dependency tree, and also started integrating some numerical results of e Silva, Herzog, and Pardi. The blueprint docgen is still having issues, but is temporarily fixed, allowing me to create some new issues. In particular, a new miniproject has been launched, to derive the prime number theorem in short intervals of Dusart (used in the LCM subproject) as a consequence of some general implications, a prime number theorem with classical error term, a table of record prime gaps, and some brute force computation.
After some discussions with Alejandro Radisic it looks like we may be reviving the archaic practice of compiling logarithm tables, now as a verified Lean file, that is intended to be built once and then referred to as a stable import. UPDATE: Alejandro has in fact completed this refactoring already!
Project leaderboard: Unclaimed 36, Claimed 21, In progress 0, In review 2, Completed 117.
An issue came up with the LeanCert import, in that it was discovered that it introduced several non-standard axioms, at least one of which was actually false. Alejandro has already addressed these issues, but it spawned a further discussion about the risks of dependency on experimental imports. For the current use case (to formally verify numerical inequalities, such as those required for building logarithm tables), the downside risk of soundness bugs seems acceptable to me, since one always has the option of replacing the imports by sorrys instead (assuming the imports are purely of a propositional nature, so one can use propositional extensionality).
However, the risk of security vulnerabilities due to the ability of Lean imports to run external code on the local machine building the import is a non-trivial concern. Several options were discussed on how to limit, or at least detect, such external code calls, which could for instance theoretically be an unintended component of AI-generated code, but it appears there are no good solutions to this problem at present, and so some review and trust of the import and its maintainance procedures is still needed, despite the abilities of Lean to guarantee soundness.
Project leaderboard: Unclaimed 31, Claimed 21, In progress 0, In review 3, Completed 121.
Project leaderboard: Unclaimed 30, Claimed 22, In progress 0, In review 3, Completed 121.
Project leaderboard: Unclaimed 30, Claimed 27, In progress 0, In review 2, Completed 123.
Alejandro Radisic pointed out a subtle issue with the formalization of the prime gap tables of e Silva, Herzog, and Pardi, which among other things contains a list of record prime gaps amongst the primes up to
Project leaderboard: Unclaimed 39, Claimed 25, In progress 0, In review 2, Completed 125.
Project leaderboard: Unclaimed 32, Claimed 31, In progress 0, In review 2, Completed 126.
Pietro has used Aristotle once again to point out several misformalizations, arising from typos, and confusion between positive integers and natural numbers. In particular a large table of prime gaps that we were intending to use as an axiom was technically incomplete because (as stated) it did not address gaps of length zero. This would have been bad for the project as we would be importing a false axiom, which of course can imply anything! Fortunately we had a unit test in place to test that table up to primes of size 30, and by disproving that version of the claim, the misformalization was discovered. So the unit test was working exactly as intended.
Launched a few small tertiary subprojects. One is to formalize the standard argument that bootstraps numerical verification of the even Goldbach conjecture to numerical verification of the odd Goldbach conjecture via primes in short intervals. Another (currently work in progress) is to formalize the verification of Ramanujan's inequality for large
Project leaderboard: Unclaimed 33, Claimed 27, In progress 1, In review 5, Completed 133.
The Goldbach subproject is rapidly being formalized, with many contributions by Aaron Lin in particular, who also noted a very slight error in the verification of the odd Goldbach conjecture by Ramare and Saouter in 2003: they claimed to verify the conjecture up to
Alistair Irving pointed out that it is not necessary for some of the key results in PNT+, such as the medium prime number theorem, to be dependent on LeanCert (which in turn depends on native_decide), and that reducing the dependencies could be valuable for downstream projects that use various components of the PNT+ in their own formalizations. I have therefore reverted the small number of code changes in which we were using the log tables to verify various simple numerical inequalities, and instead use more ad hoc appeals to various Mathlib lemmas.
The Ramanujan project is now live, adding a large number of further small tasks to the project.
Project leaderboard: Unclaimed 39, Claimed 36, In progress 0, In review 3, Completed 138.
Project leaderboard: Unclaimed 37, Claimed 36, In progress 0, In review 1, Completed 144.
There is some interesting discussion on the Goldbach thread about how feasible it would be to actually formalize in Lean a computational statement needed in the proof of the odd Goldbach conjecture, namely that
Project leaderboard: Unclaimed 36, Claimed 32, In progress 0, In review 2, Completed 146.
Li Xuanji started a discussion on alternate ways to generate the log tables, leading to some interesting pointers to rapidly convergent series for the log and exponential functions.
Project leaderboard: Unclaimed 34, Claimed 35, In progress 0, In review 4, Completed 146.
Project leaderboard: Unclaimed 31, Claimed 35, In progress 0, In review 5, Completed 148.
Project leaderboard: Unclaimed 31, Claimed 34, In progress 0, In review 6, Completed 148.
Project leaderboard: Unclaimed 29, Claimed 35, In progress 0, In review 5, Completed 151.
Thanks to a rather heroic effort by Alex Kontorovich, the formalization of the solution to Erdos 392 is now complete! Here was a situation where two major AI tools (Claude and GPT) both struggled, ultimately due to some misformalizations and typos in the blueprint and Lean file that required expert human intervention. (See also Alex's social media post on his experience.)
Project leaderboard: Unclaimed 29, Claimed 33, In progress 0, In review 5, Completed 153.
Project leaderboard: Unclaimed 24, Claimed 32, In progress 1, In review 7, Completed 156.
Project leaderboard: Unclaimed 24, Claimed 32, In progress 0, In review 5, Completed 159.
Project leaderboard: Unclaimed 23, Claimed 28, In progress 2, In review 2, Completed 165.
Project leaderboard: Unclaimed 23, Claimed 27, In progress 2, In review 2, Completed 166.
Project leaderboard: Unclaimed 21, Claimed 28, In progress 2, In review 2, Completed 167.
The section on Chebyshev's estimates is now fully formalized, thus for instance we have formalized the theorem that
Project leaderboard: Unclaimed 18, Claimed 28, In progress 2, In review 1, Completed 171.
Making a push now to formalize more of the Chirre-Helfgott paper. Helfgott has supplied an alternate version of the Fourier-analytic considerations in Section 4.1 that is self-contained, and hopefully easier to formalize.
Project leaderboard: Unclaimed 37, Claimed 28, In progress 2, In review 2, Completed 172.
Project leaderboard: Unclaimed 37, Claimed 29, In progress 2, In review 2, Completed 173.
Hyunsik Chae (and Codex) identified multiple small but non-trivial errors in the final stages of the Ramanujan project, such as claiming an upper bound of
The Lean fix involved changing certain constants to functions. Perhaps this change could also have been done by AI, but I found it instructive to do it manually, making a change of definition in one line and then going to the five or six later lines of code that stopped typechecking, and fixing them as needed. This exercise helped me understand the logical structure of both the informal and formal argument; and as I have previously found, it is far easier to tweak a previously working piece of Lean code to do something slightly different than it is to write that code from scratch. So perhaps it makes sense to use AI tools mostly to get the initial working draft of code, but still perform "golfing" and other updates by hand, in order to maintain an accurate understanding of the code structure.
Project leaderboard: Unclaimed 37, Claimed 29, In progress 2, In review 2, Completed 173.
Project leaderboard: Unclaimed 36, Claimed 27, In progress 2, In review 1, Completed 176.
Project leaderboard: Unclaimed 37, Claimed 27, In progress 2, In review 1, Completed 177.
Project leaderboard: Unclaimed 36, Claimed 26, In progress 2, In review 2, Completed 177.
Another, potentially more serious issue found in the Ramanujan project: the arguments implicitly assume that a certain quantity
Project leaderboard: Unclaimed 35, Claimed 26, In progress 2, In review 1, Completed 178.
Project leaderboard: Unclaimed 35, Claimed 26, In progress 2, In review 1, Completed 178.
Project leaderboard: Unclaimed 35, Claimed 25, In progress 2, In review 1, Completed 179.
Project leaderboard: Unclaimed 35, Claimed 23, In progress 2, In review 3, Completed 179.
Project leaderboard: Unclaimed 35, Claimed 23, In progress 2, In review 3, Completed 179.
Project leaderboard: Unclaimed 35, Claimed 23, In progress 2, In review 1, Completed 181.
Heard back from the authors of the source papers for the Ramanujan paper acknowledging the sign issue, but there should be a repair that does not dramatically alter the structure of the argument. However, some of the theorems in the current blueprint are already claimed by various contributors, so they will need to be notified if the theorem statements change. Hyunsik Chae has already gotten to work implementing such a fix.
One of the theorems in that project, pi_bound_2, had an incorrect reference in the source material (it pointed to one paper by Buthe instead of another), and as such was not previously assigned as a task, but I have now chased down the references and added enough theorems from the second paper of Buthe that this result should now be conditionally formalizable within the project.
Project leaderboard: Unclaimed 38, Claimed 21, In progress 2, In review 1, Completed 182.
Progress is being made on correcting the Ramanujan file, though it has meant that some previously claimed tasks had to become unclaimed.
Pietro Monticone and the new version of Aristotle has been able to close a number of extant sorries, including some involving primality checking of very large numbers which was done by native_decide. Similarly to how we already implemented a log table file, we will now also implement a prime table file to store these large prime numbers for future use, in the hope that the verification of their primality only has to be done very infrequently.
Project leaderboard: Unclaimed 34, Claimed 20, In progress 2, In review 3, Completed 185.
I have created a new file TMEEMT.lean to formalize the statements of the results in the TME-EMT wiki. With the aid of an AI agent, this was quite smooth, with three sections of the first chapter of the wiki formalized in a couple hours; in fact the main difficulty was in transferring over the bibliographic references, which I did not automate (there were enough edge cases with references that were difficult to source that I preferred to do that by hand).
Pietro and Aristotle managed to prove a Lean theorem that required verifying that two 18-digit numbers were prime, purely by native_decide! It turns out that the Decidable instance of Nat.Prime implements trial division up to the square root, which can be reasonably implemented at this size, though it takes about six minutes or so. As with the log tables before them, these numbers are being placed into a PrimeTables file for now. Perhaps in the future we will find faster ways to verify these sorts of large prime numbers.
Project leaderboard: Unclaimed 33, Claimed 21, In progress 2, In review 1, Completed 187.
Project leaderboard: Unclaimed 33, Claimed 21, In progress 2, In review 1, Completed 187.
Project leaderboard: Unclaimed 33, Claimed 21, In progress 2, In review 1, Completed 187.
Project leaderboard: Unclaimed 33, Claimed 21, In progress 2, In review 1, Completed 187.
Project leaderboard: Unclaimed 33, Claimed 21, In progress 2, In review 1, Completed 187.
Project leaderboard: Unclaimed 31, Claimed 21, In progress 2, In review 1, Completed 189.
Project leaderboard: Unclaimed 31, Claimed 21, In progress 2, In review 1, Completed 189.
Project leaderboard: Unclaimed 30, Claimed 22, In progress 2, In review 1, Completed 189.
Project leaderboard: Unclaimed 30, Claimed 22, In progress 2, In review 1, Completed 189.
Project leaderboard: Unclaimed 30, Claimed 22, In progress 2, In review 1, Completed 189.
Project leaderboard: Unclaimed 30, Claimed 22, In progress 2, In review 1, Completed 189.
Project leaderboard: Unclaimed 30, Claimed 22, In progress 0, In review 1, Completed 191.
Not much to report on the IEANTN side - UCLA is on a spring break - but the Iwaniec-Kowalski project is moving forward, with several backlog pull requests cleared and new blueprinting planned.
Project leaderboard: Unclaimed 28, Claimed 23, In progress 0, In review 2, Completed 191.
Project leaderboard: Unclaimed 27, Claimed 23, In progress 0, In review 2, Completed 192.
Xianji Li has found and implemented a nice way to approximate
Project leaderboard: Unclaimed 27, Claimed 23, In progress 1, In review 1, Completed 192.
Project leaderboard: Unclaimed 38, Claimed 23, In progress 0, In review 1, Completed 193.
Now that spring break has concluded, I am returning to a more active role in the IEANTN project, starting with fleshing out a few more tasks to be completed on the CH2 track. I am beginning to find a way to use AI tools and agents to partially automate this work, though I am still wary of automating beyond my ability to review changes. The first step is to obtain usable LaTeX versions of the argument to be formalized, either from the source files or by feeding a PDF (if this is all I have availabe) to an AI. Pasting that as commentary to the Lean file, I have found good success with Github Copilot in autocompleting most of the boilerplate LeanArchitect headers, as well as the formal statement of the theorem to be proved, especially once a significant number of prior such boilerplate already exists in the currently open files, although there are still complex cases (often involving the need to introduce auxiliary definitions or lemmas, or splitting up a single lemma into multiple components) that require manual attention. (In the case of splitting a lemma up into components, I often have to do the first component by hand, but then later components can be mostly autocompleted, especially if they are similar to the previous components.) Finally, I am getting an AI agent, armed with a markdown file built up from past experiences, to automatically catch formatting issues that were picked up by CI, which is beginning to close the somewhat painful iteration loop of having to wait for about half an hour for the repository CI to report whether the blueprint compiled properly. (I do have some ability to compile the blueprint locally with lake build :blueprint, followed by manually compiling the blueprint LaTeX file thus produced, but that still takes about ten minutes, whereas agents can do their proofreading in a minute or so.)
Project leaderboard: Unclaimed 37, Claimed 22, In progress 1, In review 1, Completed 194.
Project leaderboard: Unclaimed 39, Claimed 25, In progress 0, In review 2, Completed 196.
Project leaderboard: Unclaimed 38, Claimed 25, In progress 0, In review 1, Completed 198.
Project leaderboard: Unclaimed 36, Claimed 26, In progress 0, In review 1, Completed 198.
Project leaderboard: Unclaimed 36, Claimed 26, In progress 0, In review 1, Completed 199.
Project leaderboard: Unclaimed 36, Claimed 26, In progress 0, In review 1, Completed 199.
Project leaderboard: Unclaimed 52, Claimed 23, In progress 0, In review 1, Completed 199.
Starting to become more active on the project again; making a push now to formalize BKLNW (adding a dozen more tasks), and also to finish off the Ramanujan subproject (which meant that some stale claims needed to be unclaimed). So the dashboard will be somewhat fluid for a while.
Project leaderboard: Unclaimed 47, Claimed 23, In progress 0, In review 1, Completed 204.
Hyunsik Chae has finished off the Ramanujan.lean formalization, with over 2000 lines of AI-generated code. To aid in compilation times, some of the pure computations have been offloaded to a separate file RamanujanComputations.lean. Some further golfing by myself (with a small amount of assistance from Claude Code) was able to shave about 200 lines off of the code (which contained a certain number of redundancies, for instance proving small linear combinations of existing bounds via linarith before finishing with a further call to linarith or nlinarith, and which did not use the powerful new grind tactic).
Project leaderboard: Unclaimed 47, Claimed 23, In progress 0, In review 1, Completed 204.
Project leaderboard: Unclaimed 47, Claimed 23, In progress 0, In review 1, Completed 204.
Project leaderboard: Unclaimed 47, Claimed 23, In progress 0, In review 1, Completed 204.
Project leaderboard: Unclaimed 47, Claimed 23, In progress 0, In review 1, Completed 204.
Project leaderboard: Unclaimed 47, Claimed 23, In progress 0, In review 1, Completed 204.
Project leaderboard: Unclaimed 46, Claimed 24, In progress 0, In review 1, Completed 204.
Project leaderboard: Unclaimed 46, Claimed 24, In progress 0, In review 1, Completed 204.
Project leaderboard: Unclaimed 46, Claimed 24, In progress 0, In review 1, Completed 204.
Project leaderboard: Unclaimed 46, Claimed 24, In progress 0, In review 1, Completed 204.
Project leaderboard: Unclaimed 47, Claimed 23, In progress 0, In review 1, Completed 207.
Alex Nguyen has been steadily chipping away at formalizing the Chirre-Helfgott paper (using an unpublished variant of one of the key sections), in particular getting to some delicate contour integration that is at the heart of constructing certain key weights with good properties.
Separately, Arend Mellendijk has elected to blueprint-link the PNT+ project to his external project to formalize the Bombieri-Vinogradov theorem. I think this flexibility to have different levels of coordination with the PNT+ project is a good thing; not everything has to be centralized into the main project.
Project leaderboard: Unclaimed 46, Claimed 24, In progress 0, In review 1, Completed 207.
Project leaderboard: Unclaimed 46, Claimed 24, In progress 0, In review 1, Completed 207.
Project leaderboard: Unclaimed 45, Claimed 25, In progress 0, In review 1, Completed 207.
Project leaderboard: Unclaimed 45, Claimed 24, In progress 0, In review 2, Completed 207.
Project leaderboard: Unclaimed 45, Claimed 24, In progress 0, In review 2, Completed 207.
Project leaderboard: Unclaimed 46, Claimed 27, In progress 0, In review 2, Completed 209.
Project leaderboard: Unclaimed 46, Claimed 27, In progress 0, In review 1, Completed 210.
Project leaderboard: Unclaimed 44, Claimed 27, In progress 0, In review 2, Completed 211.
Project leaderboard: Unclaimed 44, Claimed 25, In progress 0, In review 3, Completed 212.
I have started a discussion on getting a Mathlib-ready version of Mertens' theorems. This will be a slightly different type of project than the explicit analytic number theory projects as the aim would be to streamline and maintain the code to Mathlib's standards; in particular, arbitrary AI-generated proofs would not be acceptable here.
Project leaderboard: Unclaimed 44, Claimed 25, In progress 0, In review 3, Completed 212.
Project leaderboard: Unclaimed 54, Claimed 25, In progress 0, In review 1, Completed 214.
Project leaderboard: Unclaimed 60, Claimed 26, In progress 0, In review 4, Completed 217.
Project leaderboard: Unclaimed 55, Claimed 26, In progress 0, In review 1, Completed 225.
Project leaderboard: Unclaimed 50, Claimed 28, In progress 0, In review 2, Completed 227.
The Fourier-analytic component of the Chirre-Helfgott paper continues to be formalized, thanks almost entirely to the heroic efforts of Alex Nguyen. I am working from an unpublished version of this paper kindly provided to me by Helfgott; hopefully it will become public soon, which may accelerate the process of formalizing the entire paper.
I have written a short self-contained proof of the Chebyshev lower bound
Project leaderboard: Unclaimed 43, Claimed 31, In progress 0, In review 2, Completed 231.
Alistair Irving has begun to chip away at the Mertens project. Meanwhile, Ruben Van de Velde gave a nice review of my initial Chebyshev Mathlib proposal, which has led to several stylistic improvements and a better understanding on my part on the Mathlib "house style".
Project leaderboard: Unclaimed 43, Claimed 30, In progress 0, In review 3, Completed 231.
Project leaderboard: Unclaimed 42, Claimed 27, In progress 0, In review 5, Completed 233.
Project leaderboard: Unclaimed 39, Claimed 26, In progress 0, In review 2, Completed 241.
Project leaderboard: Unclaimed 38, Claimed 26, In progress 0, In review 2, Completed 242.
I have submitted the Chebyshev lower bound material to Mathlib, where it has undergone several reviews already; I am working on trying to implement the recommendations.
Project leaderboard: Unclaimed 37, Claimed 26, In progress 1, In review 1, Completed 243.
Project leaderboard: Unclaimed 37, Claimed 26, In progress 1, In review 1, Completed 243.
Project leaderboard: Unclaimed 36, Claimed 26, In progress 1, In review 2, Completed 243.
The Chebyshev PR has undergone multiple revisions from the Mathilb review process but is still on the queue. Meanwhile, the Mertens subproject is advancing steadily, with the first theorem essentially complete and most of the second theorem also formalized now, largely thanks to the efforts of Alistair Irving.
Project leaderboard: Unclaimed 34, Claimed 25, In progress 1, In review 1, Completed 247.
Project leaderboard: Unclaimed 31, Claimed 27, In progress 1, In review 2, Completed 249.
The Chebyshev PR is now merged into Mathlib! The Costa-Pereira inequality and Euler-Maclaurin identity might be next logical targets to upstream.
Project leaderboard: Unclaimed 31, Claimed 27, In progress 1, In review 1, Completed 250.
Project leaderboard: Unclaimed 28, Claimed 26, In progress 1, In review 2, Completed 253.
There is work in progress to develop Riemann-Stieltjes integration in Mathlib (as part of the ongoing ICERM workshop of formalization in analysis). This will unblock several outstanding tasks in the repository once it is upstreamed.
Project leaderboard: Unclaimed 28, Claimed 26, In progress 1, In review 2, Completed 253.
Project leaderboard: Unclaimed 25, Claimed 27, In progress 1, In review 2, Completed 255.
I gave a talk at ICERM on the IEANTN; here are the slides.
Project leaderboard: Unclaimed 25, Claimed 26, In progress 1, In review 2, Completed 256.
Project leaderboard: Unclaimed 22, Claimed 25, In progress 1, In review 2, Completed 260.
Project leaderboard: Unclaimed 22, Claimed 25, In progress 1, In review 2, Completed 260.
Project leaderboard: Unclaimed 22, Claimed 25, In progress 1, In review 2, Completed 262.
Project leaderboard: Unclaimed 22, Claimed 13, In progress 1, In review 2, Completed 272.
Some cleanup of claimed tasks, some of which had actually been completed without being processed, and others were disclaimed by contributors who were no longer able to fulfil them.
Project leaderboard: Unclaimed 21, Claimed 12, In progress 1, In review 3, Completed 273.
Project leaderboard: Unclaimed 21, Claimed 12, In progress 1, In review 2, Completed 274.
Project leaderboard: Unclaimed 19, Claimed 13, In progress 1, In review 2, Completed 275.
Project leaderboard: Unclaimed 19, Claimed 12, In progress 1, In review 3, Completed 275.
Project leaderboard: Unclaimed 18, Claimed 13, In progress 1, In review 3, Completed 276.
Project leaderboard: Unclaimed 18, Claimed 13, In progress 1, In review 3, Completed 276.
Project leaderboard: Unclaimed 17, Claimed 11, In progress 1, In review 2, Completed 277.
I have discovered that the "skill" feature of the Claude Code agent allows the agent to retain enough of an "understanding" of a complex codebase such as PNT+ and IEANTN that it becomes feasible to use it to do some of the tedious refactoring and blueprinting that I have been postponing. As a test case I formalized the statements of the first truly complicated contour integration identity in the Chirre-Helfgott paper, packaging all the parameters into a single class, and making some custom definitions in a local namespace. The original theorem involved arbitrary contours, but we are simplifying to "rectangular-type" contours involving an explicit set of horizontal and vertical line segments to dodge various topological issues; however the formal proof of even this simplified identity will still need to await the full residue theorem, which is in the process of being upstreamed to Mathlib.
The agent also successfully split off the existing 6000+ lines of CH2.lean code into a separate file CH2_part1.lean. Later I may organize each paper into a folder with files for each component, similarly to how it is done in Mathlib; with the agent this becomes a lot less tedious than it was previously (managing the header files by hand in the split was particularly annoying). The skill feature is key, as it means that the many "mistakes" that the agent initially makes are documented for future versions of the agent to avoid.
Project leaderboard: Unclaimed 16, Claimed 15, In progress 1, In review 2, Completed 277.
Project leaderboard: Unclaimed 28, Claimed 14, In progress 1, In review 2, Completed 278.
Issues for Section 5 of the Chirre-Helfgott paper are now available (thanks in large part to an AI agent to get all the statements formalized adequately). In addition to simplifying the contours to be rectangles, an additional hypothesis is added that all poles are simple; this should bring formalization within reach of the existing residue theorem support in Mathlib.
Project leaderboard: Unclaimed 28, Claimed 13, In progress 1, In review 3, Completed 278.
I am continuing to experiment with using AI agents to accelerate the maintainance of the IEANTN project. Today I created an initial stub for formalizing Kadiri's paper "Une region explicite sans zero pour la fonction Zeta de Riemann", which is the basis for all modern versions of the classical zero-free region. There is a key identity, derived from the Hadamard factorization of the Riemann xi function, which we are close to having in PNT+; once that lands we have a clear path to formalizing Kadiri's paper.
With the AI agent assistance, I am now confident enough to implement a long-delayed refactor: moving the IEANTN files into a subfolder, and then creating further subfolders for each paper. This is a very tedious refactor that was slowly becoming even more daunting as more IEANTN files were created, with the need to update imports and blueprint links; but modern agentic AI has become quite good at dealing with these routine tasks, particularly when one starts with a skill that has already recorded the structure of the project. The full refactor took about half an hour.
Project leaderboard: Unclaimed 28, Claimed 13, In progress 1, In review 2, Completed 279.
Project leaderboard: Unclaimed 25, Claimed 15, In progress 2, In review 2, Completed 281.
Project leaderboard: Unclaimed 25, Claimed 15, In progress 2, In review 2, Completed 281.
Project leaderboard: Unclaimed 25, Claimed 15, In progress 2, In review 2, Completed 281.
Project leaderboard: Unclaimed 25, Claimed 15, In progress 2, In review 1, Completed 282.
Project leaderboard: Unclaimed 29, Claimed 15, In progress 2, In review 2, Completed 282.
Project leaderboard: Unclaimed 35, Claimed 12, In progress 2, In review 3, Completed 284.
I launched the subproject to formalize aspects of Kadiri's paper on zero-free regions of the zeta function.
Project leaderboard: Unclaimed 35, Claimed 12, In progress 2, In review 2, Completed 286.
A burst of activity today. Chris Birkbeck has announced a formalization of the Dirichlet density version of the Chebotarev density theorem, which now provides a clear roadmap to get the weak PNT version of that theorem as well. Matteo Cippolina is starting the process of upstreaming the proof of the Hadamard factorization theorem, which among other things will enable the Kadiri formalization project to go forward. And Alistair Irving is finishing off the third Mertens theorem, so that we can start working on upstreaming those results to Mathlib.
Project leaderboard: Unclaimed 32, Claimed 12, In progress 2, In review 2, Completed 289.
Project leaderboard: Unclaimed 31, Claimed 11, In progress 2, In review 1, Completed 292.
Project leaderboard: Unclaimed 28, Claimed 12, In progress 2, In review 1, Completed 294.
Project leaderboard: Unclaimed 21, Claimed 12, In progress 2, In review 1, Completed 301.
Robby Sneiderman has developed an AI harness that has been steadily chipping away at the Kadiri and BKLNW projects, to the point where new tasks will soon have to be assigned.
Project leaderboard: Unclaimed 19, Claimed 14, In progress 2, In review 1, Completed 301.
Project leaderboard: Unclaimed 27, Claimed 13, In progress 2, In review 5, Completed 302.
New Kadiri tasks have been added. The verification of BKLNW table 10 has turned out to be computationally expensive (over 15 minutes to build), so we are now working on ways to golf the (AI-generated) code. By taking more advantage of log tables to consolidate various logarithmic and exponential inequlaities, we were able to save 10 minutes from the build time.
Project leaderboard: Unclaimed 28, Claimed 13, In progress 2, In review 4, Completed 302.
Project leaderboard: Unclaimed 27, Claimed 12, In progress 3, In review 5, Completed 302.
Project leaderboard: Unclaimed 26, Claimed 11, In progress 3, In review 3, Completed 306.
Project leaderboard: Unclaimed 30, Claimed 9, In progress 4, In review 4, Completed 307.
Making a final push on the Mertens project, with the last two tasks broken up into seven smaller tasks. Separately, the first Mertens theorem is now being pushed to Mathlib, with the second and third to follow. The Costa-Pereira inequalities have already been merged.
Project leaderboard: Unclaimed 22, Claimed 9, In progress 3, In review 10, Completed 310.
Project leaderboard: Unclaimed 8, Claimed 15, In progress 5, In review 9, Completed 317.
Project leaderboard: Unclaimed 8, Claimed 15, In progress 5, In review 9, Completed 317.
Project leaderboard: Unclaimed 7, Claimed 15, In progress 5, In review 7, Completed 320.
Advances in autoformalization have created a real shift in the leaderboard: almost all the formalization tasks are now claimed, with the bottleneck moving into review of lengthy AI-generated proofs. Going forward, I will have to take more care in scoping the formalization tasks to avoid bloat (many AI-generated proofs end up generating significant mini-libraries of results not currently well supported in Mathlib; for instance, one issue requiring the inverse Laplace transform generated thousands of lines of bespoke code to prove the Laplace inversion formula. Longer-term, the correct solution is to carefully design a general API for Laplace transform inversion that would go into Mathlib, and then refactor this lengthy proof to rely on that; but that is a task for a later time.
Project leaderboard: Unclaimed 7, Claimed 15, In progress 5, In review 7, Completed 320.
Project leaderboard: Unclaimed 7, Claimed 15, In progress 5, In review 7, Completed 320.
Project leaderboard: Unclaimed 7, Claimed 15, In progress 5, In review 7, Completed 320.
Project leaderboard: Unclaimed 6, Claimed 16, In progress 5, In review 7, Completed 320.
Project leaderboard: Unclaimed 6, Claimed 16, In progress 5, In review 7, Completed 320.