project-numina/numina-lean-agent/sorrifier
Claude Code and agent skill by project-numina/numina-lean-agent
- community
Checking that the SKILL.md file is still in the repository.
Isolates failing proof steps by replacing them with `sorry` and extracting them into standalone lemmas to modularize and decouple complex Lean 4 proofs.
Install
npx vskill@latest install project-numina/numina-lean-agent/sorrifierSKILL.md
Sorrifier — Proof Isolation Workflow
Structural refactoring workflow for isolating broken proof steps. Replaces failing logic with sorry, extracts it into a standalone lemma, and reconstructs the call site so the main theorem compiles cleanly.
Tools Used
This workflow uses two tools from other skills. All commands go through the logging wrapper.
| Tool | Skill | Purpose | |
|---|---|---|---|
python skills/cli/lean_check.py FILE | verification | Diagnose compilation errors and pinpoint failing lines | |
python skills/cli/axle.py sorry2lemma | code-transform | Extract sorry into standalone lemma with --reconstruct-callsite |
For full parameter reference, see verification/reference-lean-check.md and code-transform/reference-axle-sorry2lemma.md.
Execution Workflow
Follow these steps sequentially:
Step 1: Diagnose
Run python skills/cli/lean_check.py FILE to identify failing lines.
- Read
lean_messagesfor entries withseverity: "error".
Step 2: Inject sorry
Edit the Lean code: replace the failing tactic/expression with sorry.
- Scope the
sorryto the smallest failing block, not the entire theorem.
Step 3: Verify sorrified state
Run python skills/cli/lean_check.py FILE again.
- Acceptance: zero errors. Warnings about
declaration uses 'sorry'are expected. - If errors persist, adjust sorry placement and repeat.
Step 4: Extract to lemma
Run python skills/cli/axle.py sorry2lemma with:
--reconstruct-callsite(required) — replaces sorry with the extracted lemma call--names <theorem>— target only the specific theorem- Omit
--no-include-whole-contextif local context variables need capturing
Step 5: Final verification
Run python skills/cli/lean_check.py FILE one last time.
- Acceptance: main theorem compiles by calling the new lemma. Unresolved logic is isolated in the extracted lemma.
Example
Broken state:
After sorrify + extract:
Best Practices
- Scope narrowly: Sorry the specific subgoal or
havestatement, not the entire theorem. - Rename: The tool generates generic names (e.g.,
lemma_1). Rename to something meaningful. - Next step: Once extracted, solve the lemma independently using
informal_proveror manual proof.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/sorrifier/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/project-numina/numina-lean-agent/sorrifier)