check-referenced-state…
Validate externally referenced theorems by querying arXiv theorem search first and Codex's…
Verify a result and, on acceptance, write it as a fact — via the fact_submit tool. Use for the full target theorem AND for every sharply-delimited intermediate result, lemma, construction, or formula you intend to build on. The verifier is the sole authority on mathematical
$ npx -y skills add frenzymath/Danus --skill verify-proof --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/verify-proofContext preview
The summary Claude sees to decide when to auto-load this skill.
Verify a result and, on acceptance, write it as a fact — via the fact_submit tool. Use for the full target theorem AND for every sharply-delimited intermediate result, lemma, construction, or formula you intend to build on. The verifier is the sole authority on mathematical
name: verify-proof description: Verify a result and, on acceptance, write it as a fact — via the fact_submit tool. Use for the full target theorem AND for every sharply-delimited intermediate result, lemma, construction, or formula you intend to build on. The verifier is the sole authority on mathematical correctness.
The verifier is the **canonical and sole authority on mathematical correctness**. Mathematics requires 100% accuracy; even though this verifier is not a formal proof assistant, it is the strongest correctness check in the system. No LLM consultation, panel, or self-critique substitutes for it.
**You verify and write a fact through one tool: `fact_submit`.** It runs the glossary-coverage check, calls the verifier, and writes the fact to the fact graph **iff the verifier accepts** — there is no other way a fact enters the graph.
whole problem (as a self-contained statement + proof, citing its predecessors by `fact_id`).
candidate construction, an arithmetic/closed-form claim, a saturation or local-to-global claim, any sharply-delimited step. **Adopting an unverified partial result as a building block is the single biggest correctness risk.** When in doubt, submit.
Choose a substantive mathematical boundary, not the smallest checkable line. Routine calculations, substitutions, and bookkeeping identities should normally remain internal steps in the proof of a deeper fact. The submitted fact should state one mathematically significant conclusion; depth must not be simulated by bundling several shallow or unrelated claims. Split supporting claims only when they have independent downstream uses, separate proof obligations, or need isolated verifier repair.
Do **not** build on an unverified finding from global memory. A `conclusion` / `example` / `counterexample` there is awareness, not a brick — re-derive it as a self-contained statement+proof and submit it before relying on it.
A fact in the fact graph is written in **"ugly-but-rigorous"** form (the operator may call it an **"ugly-proof"**). The one goal of this form is that the fact is **mechanically checkable for correctness** by a reader with no memory and no math intuition (an agent with no recall, a human, the verifier). It is allowed — encouraged — to be **ugly**: redundant, machine-flavored, verbose. It is **not allowed** to be ambiguous, vague, or context-dependent. "Ugly" is the deliberate contrast with the polished arXiv paper (a separate pipeline); here, only mechanical correctness matters.
Concretely, before you submit:
the project glossary can decide whether the math is correct. No appeal to chart positions, parse status, project history, or "as we know".
this fact's `glossary_introduces`, in a cited predecessor's glossary, in the project glossary, or in the **global glossary** of universal notation (Z, Q, R, C, floor/ceil, gcd/lcm, intervals, Greek parameter names). Don't redefine universal notation — `glossary_introduces` is for project-specific symbols only. Reuse the project's existing symbol for the same object. `fact_submit` returns `undefined_symbols` if you missed one.
problem statement as a math source.
an explicit range.**
"by some classical argument") and **no chart-position references** ("as above").
`fact_graph/facts/`) for an existing fact with the same statement; if one exists, cite its `fact_id` instead of re-proving it.
Call `fact_submit(statement, proof, predecessors=[...], glossary_introduces={...})`. Read the result:
critical errors first, then all remaining gaps; do not assume the fix is local — change strategy or backtrack if needed; then resubmit. Treat any `wrong` verdict, any critical error, or any gap as failure.
written; re-prove or avoid that predecessor.
Every outcome is auto-logged to global memory (kind `verification`), so the feedback is shared — `gm_search` it to learn from others' rejections.
If your own reasoning, the main agent's `master_guidance`, or any other LLM calls a result correct but `fact_submit` rejects it, the verifier wins. Always. Note the disagreement (a `dead_end` finding) and treat the "looks correct" opinion as the unreliable signal it was. A non-verifier opinion (including `master_guidance`) is for ideas and directions, never for correctness.
🚀✨ News: This branch is the version that solved YTD. 🎉 Danus orchestrates mathematical reasoning agents with fact-graph memory.
Validate externally referenced theorems by querying arXiv theorem search first and Codex's…
Aggregate all detected errors and gaps into the final verification report, apply strict…
Verify a markdown proof in the order it is written. Use when the task is to check local…
Construct candidate counterexamples to test a proposed conjecture, lemma, or intermediate…
Generate and analyze simpler examples that satisfy both the assumptions and the conclusion of…
Screen a decomposition plan by first trying to prove all of its subgoals directly, then…