关于 theory-counterexample-hunter
面向数学研究者的推理技能,通过系统构造候选反例、核对假设并记录已测试情形来检验论断。
主要功能
- 01精确重述论断与假设
- 02系统生成候选反例
- 03明确核验假设和结论
- 04具体记录已测试情形
适用场景
- 01在信任证明前检验定理
- 02发现数学论断中的隐含假设
- 03记录反例搜索的覆盖范围
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jurgendn/ agent-skills --skill theory-counterexample-hunter安装后在 Claude Code 中输入/theory-counterexample-hunter确认已加载。
详细介绍
反例猎手
在相信一项断言之前,先试着推翻它。
需要避免的两种失败模式:
- 伪反例:某个例子看起来能推翻断言,但实际上并未违反任何假设。务必明确检查各项假设。
- 空洞的存活:只说“没找到反例”,却不说明实际测试了什么。一个只经受了三个退化情形考验的断言,不能算经过了压力测试。
第 1 步:精确重述断言
写明:
- 完整的陈述(全称量词、定义域、拓扑、有限性——不要意译)
- 每一项显式和隐含假设
- “推翻”该断言具体指什么(反驳存在性?唯一性?界限?)
如果断言含糊不清,请指出歧义,并询问要按哪种理解进行测试。
第 2 步:找出承重假设
问:如果去掉哪一项假设,这个断言会显然不成立?
这项假设就是首先要攻击的地方。弱化或违反它,是找到反例最有效的途径。
第 3 步:系统地生成候选例子
逐一检查以下类别。不要因为某一类别看似不太可能就跳过——覆盖全面正是目的。
退化情形 空集、单元素、零、恒等、平凡结构。断言是否空泛地成立?是否会失效?
边界/极端情形 每个参数趋近极限时会发生什么?当 n → ∞、ε → 0、图变成路径或团时会怎样?
不连续或奇异情形 在隐含假设连续性的情况下考虑不连续函数。奇异矩阵。含孤立节点的图。没有均值的分布。含原子的测度。
高度不对称情形 一个分量很大、另一个很小。一个高阶节点、其余节点的度数全为 1 的图。在给定空间中是柯西序列却不收敛的序列。
对抗性构造 专门构造对象来利用“假设所述内容”与“证明所需条件”之间的差距。问:证明暗中用到了什么并未列入假设的性质? 构造一个满足所述假设、却缺少这项隐含性质的对象。
第 4 步:如实检查每个候选例子
对每个候选例子,明确核实:
- 它是否满足所有已述假设?(如果不满足,就不是反例,与此无关。)
- 它是否违反结论?
如果两者都满足:找到反例。陈述并核实反例,然后停止。
如果仅满足第 (1) 项:断言经受住了此情形的考验。记录下来。
如果两者都不满足:构造有误。舍弃并继续。
第 5 步:报告结果
如果找到反例:
- 具体陈述反例(给出对象,而不只是构想)
- 核实它满足假设
- 核实它违反结论
- 指出加强哪项假设可以排除这个反例
如果断言经受住了考验:
- 列出测试过的内容(具体说明——“我测试了非连通图、空图、单元素集合,以及 n → ∞ 时的极限”)
- 指出这些测试实际支持的最窄版本的断言
- 指出最接近成功的对抗性构造——这是最值得进一步审视的假设
如果目前无法从任一方向证明断言:
- 请直说。有时正确的结论是:“这需要尝试证明,而不是搜索反例。”
原则
只要能真正推翻结论,在 ℤ/2ℤ 上构造一个玩具反例,或使用一个只有两个节点的图,就足够了。简单是一种优点。
请区分:结论是错误的(存在反例);结论需要更强的假设(一系列近似反例都被同一个缺失条件挡住);以及 结论是正确的,但证明有误(没有找到反例,但论证存在漏洞)。
报告反例前,务必检查假设。最常见的错误是构造出的对象违反了结论,却不满足假设。