[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"AQyQi5rS85":3},"\u003Cp align=\"center\">\n  \u003Cimg src=\"logo.png\" alt=\"Lean Pool logo\" width=\"240\">\n\u003C/p>\n\n# lean-pool\n\n[![Lean Action CI](https://github.com/Vilin97/lean-pool/actions/workflows/lean_action_ci.yml/badge.svg)](https://github.com/Vilin97/lean-pool/actions/workflows/lean_action_ci.yml)\n[![Documentation](https://img.shields.io/badge/docs-online-blue)](https://vilin97.github.io/lean-pool/)\n[![License](https://img.shields.io/github/license/Vilin97/lean-pool)](LICENSE)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20513444.svg)](https://doi.org/10.5281/zenodo.20513444)\n\nLean Pool sits between [`mathlib`](https://github.com/leanprover-community/mathlib4) and [`merely-true`](https://github.com/merely-true/merely-true), preserving Lean 4 formalizations that don't fit mathlib's scope. Instead of mathlib's high-bar human review, it relies on deterministic linters and LLM judgment, so it can grow faster while staying `sorry`-free and pinned to the latest Mathlib. See [`MOTIVATION.md`](MOTIVATION.md) for the why, and browse the API docs at \u003Chttps://vilin97.github.io/lean-pool/>.\n\n\u003C!-- BEGIN STATS -->\n**129** formalization projects · **900,009** lines of Lean\n\u003C!-- END STATS -->\n\n\u003Csub>(stats above are refreshed automatically by [`readme-stats.yml`](.github/workflows/readme-stats.yml) — edit [`python/lean_pool/stats.py`](python/lean_pool/stats.py), not the numbers)\u003C/sub>\n\nSo far, projects have been added by hand: each is a suitable, permissively licensed (Apache-2.0 or MIT) Lean repository, bumped to the latest Lean and Mathlib, made to pass [CI](.github/workflows/lean_action_ci.yml) — it builds warning-free and clears Mathlib's linters, the style checker, and the repository quality gates (no `sorry`/`admit`, no axioms beyond `Classical.choice`/`propext`/`Quot.sound`, no `unsafe`/`partial`, file headers, size limits) — and an [LLM review](.github/REVIEW_RULES.md) of fit and significance, then merged.\n\n### Getting started\n\nRequires Lean (via [`elan`](https://leanprover-community.github.io/install/), with the toolchain pinned in [`lean-toolchain`](lean-toolchain)) and Python 3.13+ with [`uv`](https://docs.astral.sh/uv/).\n\n```bash\nmake setup    # pull Mathlib oleans, build the whole pool (~1.5h), install Python tooling\n```\n\nTo work on a single project you don't need the whole pool built — see the\n[fast per-project build](CONTRIBUTING.md#dev-setup) in `CONTRIBUTING.md`.\n\n### Contributing\n\nSee [`CONTRIBUTING.md`](CONTRIBUTING.md).\n\n### Credits\n\nCreated as part of the [UW Lean Hackathon](https://uw2026leanhackathon.github.io/) by [Vasily Ilin](https://github.com/Vilin97) and [Justin Asher](https://github.com/justincasher).\n\n### Difference from similar projects\n\n[Tau Ceti](https://github.com/TauCetiProject/TauCeti) is another approach to solve the same problem. The differences are:\n- Lean Pool accepts human-written projects, not just AI projects.\n- Lean Pool is not a unified library like mathlib. Most projects are independent of each other.\n- Lean Pool only accepts completed formalization projects.\n",1784670010491]