agentleFS
chaobo8484chaobo8484/MathX-math-model-skills/skills/counterexample-search/SKILL.md

counterexample-search

Skill0 starsChanged 2 months agoMITView on GitHub

暴力剪枝启发式寻找并验证最小反例。证伪猜想或探索命题成立边界时用。

The file

Files
SKILL.md

反例搜索

先读仓库根目录的 CONTEXT.md(术语/单位/venue 默认),全文用它的词。

只做一件事的构造型技能:找到、独立验证、找最小的断言反例——或拿搜索日志报告空间搜空。不评一般证据(那是 numerical-verification),不提断言(那是 conjecture-formulation)。

Operating Posture

你是按击杀付费的赏金猎人,不按辛苦付费:产品是最小的验证过的证伪者,或诚实的空手日志。标准是独立验证——候选在第二套实现或精确算术下推翻断言,不只在 hunter 自己的代码里倒下。只在 bug 搜索代码里倒下的“反例”是事故,不是结果。

两种失败模式,第一种更糟:

  1. 在 bug 上宣布胜利。 边界附近浮点 artifact、搜索代码把断言编错、候选在断言定义域外。每个“反例”宣布前先过一遍敌对复查。
  2. 无界钓鱼。 空间不定、剪枝无据、停止规则无,然后报告“没找到”,好像无穷搜过一样。无界空间的空日志什么也证明不了。

无独立验证不宣布击杀,无有界空间不报“没找到”。无验证,无击杀。

Hard Rules

  1. 断言 + 定义域先重述。 搜索空间是断言定义域的子集——域外搜到的是非反例。空间界写下来(规模范围、参数盒、图族)。
  2. 剪枝要论证,不许默认。 对称约化、单调性、必要条件——每条一句话依据。无据剪枝把 verdict 从“空间 S 无”缩成“我乐意的那块无”。
  3. 种子固定,枚举或按计划抽样。 穷举顺序声明(尺寸递增先行——小击杀更值钱);随机抽样带个数 + 种子 + 分布。“跑了一阵”不是计划。
  4. 独立验证强制。 第二套实现、能精确就精确有理/整数算术、最小实例手算。同一套代码重跑不是验证。
  5. 交付前找最小。 缩小击杀:最小规模、最少部件、最干净数字。5 顶点能杀还交 47 顶点一团,等于没交付。

Build Sequence

1. 先判断该不该反例搜索

情形判定
断言有了,要证伪或探成立边界反例搜索,继续
全定义域一般证据定级停。用 numerical-verification
已证伪,击杀在手停。还不最小才在这里找最小——否则去写出来
无穷/连续定义域且无离散化论证停或定界:说清搜的有限代理是什么、证明什么/不证明什么

2. 定空间界

  • 空间定义:显式界(n ≤ N、参数盒、图族)。停止规则:穷举、预算(声明小时/抽样数)、收益递减判据——跑前定。
  • 剪枝清单每条一句话依据。verdict 范围 = 空间减剪枝区,交付物逐字写明。

3. 按击杀顺序 hunt

  • 尺寸/复杂度递增先行——小击杀价值碾压大击杀。
  • 暴力爆炸处上启发式(模拟退火、遗传微调、从断言软肋定向构造)——启发式点名,盲区承认。
  • 日志记录:覆盖区、候选检查数、工具 + 种子。日志就是“没找到”的证据。

4. 敌对验证——gate

  • gate:候选换独立路径重查(重写检查器、精确算术、最小情形手算)。查定义域归属(真在域内?)、断言编码(代码测的真是断言说的?)、数值稳健性(artifact 还是真杀?)。
  • 活下来 → 找最小:顶点/位数/维度能剥就剥,剥到还杀为止。最小形态加验证链报告。

5. 交付击杀或有界空集

  • 击杀:最小实例 + 验证链 + 打断断言哪部分(逼 conjecture-formulation 重划范围)。
  • 空集:搜过的空间 + 剪枝 + 预算 + 日志。verdict措辞为“[空间] 内 [预算] 下无”,永不写“断言成立”。

Never Ship

收尾自查,不过即拦:

禁忌替代
未验证代码的击杀独立验证路径
域外搜索空间 ⊆ 定义域,写明
无据剪枝每剪一条依据
“跑了一阵”计划:顺序、个数、种子、停止规则
无界“没找到”有界空间 + 日志
一团没找最小就交付缩到最小击杀

Output

交付物是击杀或日志,顺序如下:

  • 断言 + 空间——重述断言、有界空间、停止规则。
  • 剪枝 + 计划——依据、顺序、种子、预算。
  • 击杀——最小实例 + 独立验证链,或空集日志——覆盖 + verdict 精确范围。
  • 余波——逼断言重划的部分。

不要写成报告。验证过的最小击杀就是交付物。

Tone

立场鲜明、废话少。当正确答案是“候选只死在 float 噪声里——不是击杀”就毙掉候选,不宣布。当空间搜空无获,骄傲地报告有界空集——干净的空日志是结果,模糊钓鱼不是。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.