project-numina/numina-lean-agent/sorrifier

Claude Code and agent skill by project-numina/numina-lean-agent

Trust tier 2
  • community
LLM review pending
Source check pending

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/sorrifier

SKILL.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.

ToolSkillPurpose
python skills/cli/lean_check.py FILEverificationDiagnose compilation errors and pinpoint failing lines
python skills/cli/axle.py sorry2lemmacode-transformExtract 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_messages for entries with severity: "error".
Step 2: Inject sorry

Edit the Lean code: replace the failing tactic/expression with sorry.

  • Scope the sorry to 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-context if 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:

lean
import Mathlib.Tactic
theorem sum_of_squares_helper (n : ℕ) : (n + 1)^2 = n^2 + 2*n + 1 := by
have h1 : (n + 1)^2 = (n + 1) * (n + 1) := by ring
rw [h1]
exact magic_solve n -- error: unknown identifier

After sorrify + extract:

bash
python skills/cli/axle.py sorry2lemma file.lean --environment lean-4.28.0 --names sum_of_squares_helper --reconstruct-callsite
lean
import Mathlib.Tactic
lemma sum_of_squares_helper_lemma_1 (n : ℕ) (h1 : (n + 1) ^ 2 = (n + 1) * (n + 1)) :
(n + 1) * (n + 1) = n ^ 2 + 2 * n + 1 := by
sorry
theorem sum_of_squares_helper (n : ℕ) : (n + 1)^2 = n^2 + 2*n + 1 := by
have h1 : (n + 1)^2 = (n + 1) * (n + 1) := by ring
rw [h1]
exact sum_of_squares_helper_lemma_1 n h1

Best Practices

  • Scope narrowly: Sorry the specific subgoal or have statement, 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_prover or 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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/project-numina/numina-lean-agent/sorrifier/badge)](https://verified-skill.com/skills/project-numina/numina-lean-agent/sorrifier)

Something wrong with this skill or its page? Tell us.