3段階で考えよう
- Solution’は、一般化された仮の解を一つの対象にまとめたものです:数a・b・c、単元u、λで割れるかどうかの条件、互いに素という条件、そして等式Hが欄として入ります。
- Solutionは同じ組に一行だけ足したものです:λ ^ 2 ∣ a + b。このファイルの近くの補題が、どんなSolution’も、同じ重複度を持つSolutionへ組み替えられます。
- 仮の解を、cの中のλの重複度という自然数で比べます。解が少なくとも一つあると仮定すれば、Solution.exists_minimalが目盛り最小の解を選べます。仮定なしに解が存在すると主張するものではありません。
小さな例で確かめる
容疑者を記録で順位づけます:仮の解の中から、cの中のλの回数がいちばん小さいものを選びます。いつでも真に小さい回数を作れるなら、そもそも最小の記録は存在できません。