# Adversarial Audit

> Independently attack a candidate math proof or disproof: check exact claim match, edge cases, hidden assumptions, circular reductions, non-counting partial results dressed as solutions, and lemma counterexamples. Use when reviewing a proof draft, after a research loop iteration, or when invoking /adversarial-audit. Keywords: audit proof, adversarial review, gap finding, proof check, referee math.

- Skill: `meleantonio/adversarial-audit` (Agent Skill)
- Install (CLI): `npx skillmds@latest add meleantonio/adversarial-audit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/meleantonio/adversarial-audit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: meleantonio (https://skillmd.com/u/meleantonio)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/meleantonio/adversarial-audit

---


# Adversarial Audit

Hostile, independent review of a candidate resolution. You are **not** the author. Your job is to find substantive gaps, not to polish prose.

## Stance

- Assume the draft is wrong until every step is forced.
- Prefer explicit counterexamples to proposed lemmas over vague doubt.
- Do not accept "routine," "clearly," or "similarly" for non-trivial steps.
- Do not search the web for whether the problem is open or already solved as a substitute for checking the argument.

## Inputs

- Candidate proof/disproof (`PROOF_DRAFT.md` or pasted text)
- Exact problem statement (`PROBLEM.md` or `PROMPT.md`)
- Optional traps list from the problem-specific prompt

## Audit procedure

### 1. Claim alignment

- Quote the **exact claim** being proved.
- Check the draft proves **that** claim, not a weaker/stronger/sibling statement.
- Flag any extra assumptions (regularity, connectivity, large n, characteristic zero, etc.) not in the problem.

### 2. Definition and scope check

- Verify every definition matches the problem (multiplicity, empty cases, strict vs non-strict inequalities, distinctness, etc.).
- Check boundary cases listed in the traps section.

### 3. Logical chain

For each lemma/step:

| Check | Fail if |
|-------|---------|
| Stated hypotheses used | Hidden hypothesis appears mid-proof |
| Quantification | ∀/∃ swapped; "for all large n" vs "for all n" |
| Uniformity | Constants depend on forbidden parameters |
| Constructivity | Existence claimed without construction or non-constructive theorem that does not apply |
| Reduction strength | Reduces to unproved statement ≈ original problem |
| Citation accuracy | Named theorem misapplied or outside hypotheses |

### 4. Non-counting detection

Flag if the draft only achieves something on the **does not count** list (special cases, weaker bounds, numerical evidence, conditional on open conjectures, etc.).

### 5. Circular and blocked-route detection

- Does any step assume a form of the conclusion?
- Is the "main lemma" equivalent in strength to the original problem without new proof?
- Are incompatible cases both needed but only one handled?

### 6. Counterexample search (lemmas)

For each intermediate lemma, try to:

- Find a small counterexample (by hand or code)
- Weaken hypotheses until failure to test tightness
- Check equality cases and extremal configurations

### 7. Computational sanity (when applicable)

- Verify small-n claims
- Check that constructed objects meet all constraints
- Confirm numerics are not silently used as asymptotics

## Output format

Write to `AUDIT.md` (and summarize for the user):

```markdown
# Adversarial audit

## Verdict
PASS | FAIL | PASS WITH MINOR FIXES

## Claim check
- Exact claim:
- Draft actually proves:
- Alignment: OK | MISALIGNED

## Critical issues (block acceptance)
1. [step/lemma] — [issue] — [counterexample or gap]

## Major issues (must fix)
1. ...

## Minor issues (cosmetic / clarity)
1. ...

## Lemma challenge log
| Lemma | Challenge | Result |
|-------|-----------|--------|
| L1 | ... | holds / counterexample / unproved |

## Non-counting risk
- [ ] Would this count as complete resolution under PROMPT.md?

## Required repairs before re-audit
1. ...
```

## Verdict rules

| Verdict | Meaning |
|---------|---------|
| **PASS** | No substantive gaps; claim fully resolved |
| **PASS WITH MINOR FIXES** | Only clarity/typos; mathematical content complete |
| **FAIL** | Any critical issue or unresolved major issue |

On **FAIL**, the orchestrator must repair or abandon the route — not publish.

## Independence rules

- If you also wrote the draft in the same session, **reset perspective**: ignore search history spin; re-derive doubts from the written proof alone.
- Prefer spawning a separate agent with only `PROOF_DRAFT.md` + `PROBLEM.md` + traps when the host allows.

## What not to do

- Do not rewrite the proof into a different theorem and pass it.
- Do not mark PASS because the approach is elegant or almost works.
- Do not accept computational plots as asymptotic proofs.

