prove-soplisted
Install: claude install-skill whenpoem/aiscientist
# Prove SOP
When the user asks for a statistical proof ("prove X", "show that Y holds", "give a rigorous derivation"), or when a `proposition` node sits without a verified proof:
1. **Memory lookup**: call `mcp__memory__match_signatures` with the proposition text and `domain="proof"`. If similar past proof errors exist, **read them first** before drafting.
2. **Capture the proposition**: if not already in the graph, call `mcp__prove__propose_proposition` to register it. Pass `parent_id` to a related question or hypothesis node so empirical and theoretical work share one tree (architecture.md §13).
3. **Skeleton retrieval**: call `mcp__prove__retrieve_skeletons` with lexical and semantic keywords you extracted from the proposition. If fewer than 3 candidates rank above similarity 0.4, ingest more material via `mcp__prove__ingest_proof_corpus` first or fall back to a from-scratch outline.
4. **Skeleton tournament**: from the retrieved candidates plus 2-3 of your own outline drafts, register them as siblings via `mcp__prove__propose_proof_skeleton`. Run `$bt-tournament` to BT-rank them; the proof-trunk leaderboard is `mcp__memory__get_bt_leaderboard(kind="proof_skeleton")`. Stop when the top-2 LCB / UCB intervals separate or 3 comparisons cover every candidate.
5. **Draft generation**: pick the BT winner. Read the proposition plus the selected skeleton, assemble the drafting prompt inline, and generate the LaTeX draft yourself (do not spawn a sub-agent for this). Persist it vi