Skip to main content

Open Automated Theorem Proving: upload Lean files with sorrys, get verified completed proofs across multiple proving backends.

Project description

OpenATP

PyPI CI codecov License: MIT Checked with mypy Ruff Docs

OpenATP (Open Automated Theorem Proving) runs Lean files containing sorry through leading proof-synthesis backends and returns verified completed proofs with metadata (verification status, cost, duration). Every prover — including hosted ones like Aristotle — funnels its output through one shared Verifier that compiles the candidate in a Lean+Mathlib sandbox and checks that it compiles, is sorry-free, and is axiom-clean. See the documentation for details.

Installation

pip install open-atp

OpenATP runs each agent harness (e.g., Claude Code, Codex, OpenCode) in a Docker container. The image must be built before running any prover:

open-atp build-image

Each harness has its own authentication requirements, and the hosted provers need their own API keys. See Installation for more details.

Quickstart

Complete the sorrys in a lake project (or bare .lean files) from the CLI:

open-atp solve path/to/project --provers agent --backend docker

Or programmatically, here on a bundled example:

import tempfile

from open_atp import standard_prover
from open_atp.backends import DockerBackend
from open_atp.examples import EXAMPLE, example_task

prover = standard_prover("agent:claude", backend=DockerBackend())
task = example_task(EXAMPLE.MUL_REORDER)

result = prover.prove(task, tempfile.mkdtemp())
print(result.success)

Available provers

Each name is accepted by the --provers CLI flag and the prover registry. The agentic provers run a coding-agent harness (staged into the sandbox) sharing lean-lsp-mcp; the shared Verifier does the final check regardless of which tool generated the proof.

Prover Backing tool Source / website
aristotle Harmonic Aristotle (hosted) harmonic.fun · aristotlelib
agent Claude Code (default) anthropics/claude-code
codex OpenAI Codex CLI openai/codex
opencode opencode sst/opencode
axprover ax-prover (LangGraph Lean agent) Axiomatic-AI/ax-prover-base (fork)
numina Numina skills/prompts on Claude Code vendor/numina/VENDOR.md
vibe Mistral Vibe lean scaffold mistralai/mistral-vibe

Both DockerBackend and ModalBackend run the provers and the shared Verifier end-to-end against the Mathlib image; pick one with --backend, or split generation from the cheap verify with --agent-backend.

Development

See AGENTS.md for development information.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_atp-0.1.1.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_atp-0.1.1-py3-none-any.whl (667.9 kB view details)

Uploaded Python 3

File details

Details for the file open_atp-0.1.1.tar.gz.

File metadata

  • Download URL: open_atp-0.1.1.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for open_atp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6dc6a3ee8f79bc1c5691a655dc117c4a1331cdbad020f073dc698961a44fcbb4
MD5 57ead6da2dd50d72de64c84f13ba694b
BLAKE2b-256 2e9a06f579c2055d6a7d38edf5b328de1a2884f3a58bc7923f30d290deaaf0b6

See more details on using hashes here.

File details

Details for the file open_atp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: open_atp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 667.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for open_atp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 53db98ee1c218bb06e8b93a76353f933fd5d951d92fe74e721cadc7128f829df
MD5 5577f783e238666ea3beedd56ae99ea5
BLAKE2b-256 98f065ae517695e7a4cfcc5e34696d208495a1d7fbae609d7213f214669619bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page