- name
- openmath-open-theorem
- description
- Queries open formal verification theorems from the OpenMath platform. Use when the user asks for a list of open theorems, wants Lean or Rocq-specific theorems, needs full detail for a theorem ID, or wants to download a theorem and scaffold a local proof workspace.
- version
- v1.0.0
OpenMath Open Theorem
Instructions
Query the OpenMath library to discover and scaffold open theorems. The discovery scripts use OPENMATH_SITE_URL and OPENMATH_API_HOST when set, and otherwise fall back to the default production endpoints.
First-run gate
Before discovery on a new machine or workspace, check the shared openmath-env.json. Auto-discovery only checks ./.openmath-skills/openmath-env.json and ~/.openmath-skills/openmath-env.json.
This gate is mandatory. If openmath-env.json is missing, or if it exists but preferred_language is missing, stop. Do not query the OpenMath theorem list, theorem detail, or download APIs until setup is complete.
If no config exists, stop and ask the user where to create it, then collect at least:
preferred_language:leanorrocq- config visibility / save scope:
./.openmath-skillsor~/.openmath-skills - the submit/authz fields only if the user wants end-to-end submission later
Command:
python3 scripts/check_openmath_env.pyWorkflow checklist
- [ ] Env: Run
check_openmath_env.py. Ifopenmath-env.jsonis missing from./.openmath-skillsand~/.openmath-skills, orpreferred_languageis missing, ask the user to finish setup before continuing. - [ ] Explore: Run
fetch_theorems.py [language]only after the first-run gate passes. If no language is passed, it usespreferred_languagefromopenmath-env.jsonand must not fan out to other languages automatically. - [ ] Detail: Run
fetch_theorem_detail.py <id>only after the first-run gate passes. - [ ] Download: Run
download_theorem.py <id>only after the first-run gate passes. - [ ] Prove: Use the
openmath-lean-theoremskill for environment setup, preflight checks, and proving. - [ ] Submit: Use the
openmath-submit-theoremskill to hash and submit the proof. - [ ] Verify: Run
fetch_theorem_detail.py <id>and confirm your address is the prover and status is verified. - [ ] Claim: Use the
openmath-claim-rewardskill to generate the withdrawal command.
Scripts
| Script | Command | Use when |
|---|---|---|
| Shared env check | python3 scripts/check_openmath_env.py [--config <path>] | Mandatory first-run gate; validates shared config, preferred language, and the resolved OpenMath website/API endpoints. |
| List open theorems | python3 scripts/fetch_theorems.py [--config <path>] [language] | Listing or filtering open theorems after the first-run gate passes. language: optional lean or rocq. Without an explicit CLI language, query only the configured preferred_language. |
| Theorem detail | python3 scripts/fetch_theorem_detail.py [--config <path>] <id> | Need description, metadata, and formal definition (source) for a theorem ID; refuses to run until the first-run gate passes. |
| Download & scaffold | python3 scripts/download_theorem.py [--config <path>] <id> [--output-dir <path>] [--force] | Creating a local Lean or Rocq proof workspace after the first-run gate passes. |
openmath_api.py is the shared API client. openmath_env_config.py reads shared user preferences from openmath-env.json.
Notes
- Endpoints: Default website is
https://openmath.shentu.org; default API host ishttps://openmath-be.shentu.org. Runtime overrides:OPENMATH_SITE_URL,OPENMATH_API_HOST. - Language: User-facing and API language naming is
rocq. - No fallback: If
preferred_languageislean, query only Lean by default. If no theorems are found, report that result and stop; do not automatically query Rocq, and vice versa. - Lean scaffold: Pins Lean and mathlib4 to
v4.28.0. Rocq scaffold is_CoqProject-based. - After download: Use the
openmath-lean-theoremskill for Lean environment setup, preflight, external skill installation, and the proving workflow.
References
Load when needed (one level from this file):
- references/init-setup.md — Discovery-first setup flow for shared
openmath-env.json, preferred language, and config visibility. - references/reward_overview.md — How rewards are calculated and how to claim them.