# erdosproblems keeps the Erdos problem site in a YAML file that anyone can edit

> The erdosproblems repository is the data layer behind erdosproblems.com, with every problem, status, prize, tag and OEIS reference living in data/problems.yaml and a table generated from it. It is a crowdsourced catalogue whose recent history is a story of two withdrawals, since the progress chart was frozen on 2026-10-06 and the AI contribution wiki on 2026-06-30.

**teorth/erdosproblems** — A community database for the problems on the erdosproblems.com site

- Repository: https://github.com/teorth/erdosproblems
- Stars: 874 · Forks: 128
- Language: Python
- License: Apache-2.0
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/teorth-erdosproblems

## One YAML file is the source of truth

The project describes itself as a community database for the problems on the erdosproblems.com site, and the repository makes one thing immediately clear: the data lives in a file, not in a database server or an application.

The README states that the table in the repository is auto-generated from the YAML file `data/problems.yaml`, which is the ground truth for this data as far as this repository is concerned. The contribution instructions are correspondingly short.

```text
- To propose changes, open a PR editing [data/problems.yaml](data/problems.yaml).
- See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines and field definitions.
```

So the workflow is: edit the YAML, open a pull request, and the published table and the interactive site are regenerated from the merged file. There is no admin interface and no write API, which means every change to the catalogue is a code review.

The repository layout backs this up. Alongside the data directory there is a `schema/` directory, which is where the field definitions that `CONTRIBUTING.md` refers to are likely to live, a `scripts/` directory for the generation code, a `tests/` directory, and a `docs/` directory. There is also a `CITATIONS.cff` file, which is the standard way for a repository to declare how it should be cited, a detail that matters for a dataset.

The primary language is Python, and the dependencies are pinned exactly in the requirements file.

```text
PyYAML==6.0.2
jsonschema==4.23.0
requests==2.32.5
ruamel.yaml==0.18.15
matplotlib==3.10.7
```

Two things stand out. `jsonschema` implies the problem records are validated against a schema, so a malformed entry is a test failure rather than a broken page. And `matplotlib` is there for chart generation, which is the subject of one of the two frozen features below.

## The table columns are a data model, not a display choice

The generated table makes the data model visible, because each row is one problem with the same set of fields.

```text
| [1](https://www.erdosproblems.com/1) | $500 | disproved (Lean) | [yes](https://github.com/google-deepmind/formal-conjectures/blob/main/FormalConjectures/ErdosProblems/1.lean) | [add](https://mehmetmars7.github.io/Erdosproblems-llm-hunter/problem.html?type=erdos&id=1) | [A276661](https://oeis.org/A276661) | [number theory](https://www.erdosproblems.com/tags/number%20theory), [additive combinatorics](https://www.erdosproblems.com/tags/additive%20combinatorics) |  |
```

The columns run problem number, prize, status, whether the statement is formalized, AI attempts, OEIS references, tags and comments.

The status vocabulary is the part that requires care. The visible values include open, proved, proved with a Lean marker, disproved, disproved with a Lean marker, and verifiable. A formalization in Lean is tracked as part of the status rather than as a separate yes or no field, which tells you that the project treats a machine-checked proof as a distinct state from a human proof.

The prize column is a money amount for some problems and `no` for others, so the field has to hold both a number and an absence, which is a small schema decision that any consumer of this data will have to handle.

The OEIS column can hold several sequence identifiers separated by commas, as in the row for problem 3, which lists four of them, or the literal `N/A`. Tags are a list drawn from a controlled vocabulary, and the number theory and primes tags recur across most of the early problems.

## OEIS linking is the work the project is recruiting

The README says the maintainers are particularly seeking community contributions regarding the integer sequences associated with these problems, and linking them to the OEIS. That sentence tells you what the bottleneck is in the dataset.

The problems are not short of statements, prizes or tags. What is scarce is the identification of which integer sequences a given problem produces. A problem about a sumset might have a related sequence that nobody has connected to it yet, and that connection is the kind of thing a person with domain knowledge or a script can make in minutes, and which is hard to automate.

The contribution model fits that work. Adding a sequence reference means editing a list in the YAML file for the problem, and the pull request shows the change. A wrong identifier is caught in review or by the schema check, and a correct one is a permanent improvement to the data.

The broader context is in the README's links. The project points to a blog post from September 1, 2025 describing a crowdsourced project to link erdosproblems.com to the OEIS, and to the live site itself for the problem statements and forum discussion.

For anyone building tooling on this dataset, the practical point is that the OEIS column is a list of identifiers, not a single value, and that the mapping is human-curated. A consumer that assumes one sequence per problem will break on the rows that have several, and on the rows that have none.

## The progress chart was frozen on 2026-10-06

Two headline features of the repository have been deliberately switched off, and the reasons are stated rather than implied.

The first is the progress chart. The README says it is frozen as of October 6, 2026 and is no longer shown, with the history retained as light and dark SVG images in the data directory. The stated reason is the policy changes announced on erdosproblems.com on that date, under which that site no longer displays the statuses of problems, nor the count or percentage of problems solved. The README makes the same argument for the repository, saying a chart tracking solved and formalized counts over time serves much the same function, so it is no longer given a headline position here either.

That is a policy decision about presentation, not a decision to stop maintaining the underlying numbers.

```text
The underlying data stays active: [data/statistics_history.csv](data/statistics_history.csv) continues to be updated as the database changes, so a current chart can be regenerated at any time with `python scripts/plot_statistics_history.py --force`.
```

So the history file keeps growing and the chart can be regenerated on demand. The summary counts did not disappear with the chart, they moved to a separate page, `STATISTICS.md`, which the README describes as covering how many problems are proved, open, formalized in Lean, linked to the OEIS and so on.

For a downstream consumer this is a meaningful distinction. The counts still exist and are still updated, so a tool that wants the numbers can read `data/statistics_history.csv` and regenerate the plot, but a tool that scraped the README for a headline number has to change.

## AI attempts are a tracked column, and their wiki is closed

The second frozen feature is the record of machine assistance, and it is a more delicate one.

Each row of the table carries an AI Attempts column, which links to an external tool that lets a visitor submit or view an attempt on that problem. Several of the problems in the database have received assistance from various AI tools, and the README points to a wiki page listing that assistance.

That wiki is closed. The README states it is no longer updated as of June 30, 2026, that it is retained as a historical record, and it asks readers not to open issues proposing additions to it.

The timeline is the interesting part. The AI attempts column is still present in the generated table, and the attempt links still work, but the curated index of which problems had AI assistance stopped being maintained in the middle of 2026, and the progress chart stopped being headline content in October 2026. Both changes are described as consequences of policy at the site, and the repository is following the site rather than setting its own direction.

What this means practically is that the table is a live view of a dataset whose presentation policy is in flux. The stable parts are the problem records themselves, the YAML file and the generated table. The unstable parts are the aggregate displays, and any downstream tool that treats a count as stable will need to be resilient to those moving.

## A dataset with a licence, not an application

It is worth being precise about what this repository is, because the name suggests a website and the contents are data.

The repository holds the catalogue, the schema, the generation scripts, the tests and the documentation. The site itself is at erdosproblems.com, and the README links to an interactive table hosted from the project pages at teorth.github.io, which lets you sort, filter and search the problems. The Apache-2.0 licence applies to the data and code here, which is a permissive licence with an explicit patent grant, a sensible choice for a dataset that others are invited to build on.

There are no GitHub releases, so the project ships no versioned artifacts, and the last push was on 2026-10-19. The repository is not archived.

The natural alternative is to consume the site directly, scraping or using whatever the site exposes, instead of cloning the database. The difference in approach is real: the YAML gives you a reviewable history, the exact field definitions, a schema to validate against and a place to contribute, whereas the site gives you the current published view without any of the metadata about how it was produced. For a one-off lookup the site is enough. For a dataset you intend to filter, join or cite, the file is the better input.

The real limitation of this project is not technical but editorial. It is a catalogue whose contents depend on volunteers, whose aggregate displays are being withdrawn, and whose status labels encode judgements about proofs. That is fine for what it is, and it is also a reason not to build anything that depends on its counts staying put.

## Conclusion

erdosproblems fits a mathematician or a developer who wants the problem catalogue as reviewable data rather than as a rendered web page, or who wants to add an OEIS link for a problem and see it merged through a pull request. Skip it if you need the live site, since the repository holds the data and the generation scripts rather than the deployment, and treat with care any tooling that depends on the progress chart or the AI attempts list, since both are frozen by policy. Verify first the status vocabulary and field definitions in CONTRIBUTING.md before you open a pull request, since a wrong status value is a data error that outlives the merge.

## FAQ

### What is the erdosproblems repository?

It is a community database for the problems on the erdosproblems.com site, written in Python and licensed under Apache-2.0. The README states that the table in the repository is auto-generated from the YAML file `data/problems.yaml`, which it calls the ground truth for this data.

### How do I contribute a change to the erdosproblems database?

You open a pull request editing `data/problems.yaml`, and the README points to `CONTRIBUTING.md` for guidelines and field definitions. The maintainers say they are particularly seeking contributions linking the integer sequences associated with problems to the OEIS.

### What happened to the progress chart in the erdosproblems repository?

The README says it is frozen as of October 6, 2026 and is no longer shown, following policy changes announced on erdosproblems.com, under which the site no longer displays problem statuses or the count and percentage of problems solved. The history remains as SVG images, and `data/statistics_history.csv` continues to be updated.

### Where can I find the current summary counts for the Erdos problems?

They were moved off the README to a separate page, `STATISTICS.md`, on October 6, 2026. That page covers how many problems are proved, open, formalized in Lean, linked to the OEIS and so on.

### How can I regenerate the statistics chart in erdosproblems?

The README says a current chart can be regenerated at any time by running `python scripts/plot_statistics_history.py --force`, since the underlying `data/statistics_history.csv` continues to be updated as the database changes.

## Sources

- [Issues](https://github.com/teorth/erdosproblems/issues)
- [License: Apache-2.0](https://github.com/teorth/erdosproblems/blob/main/LICENSE)
- [README](https://github.com/teorth/erdosproblems/blob/main/README.md)
- [teorth/erdosproblems on GitHub](https://github.com/teorth/erdosproblems)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/teorth-erdosproblems
