順番 24 / 64

大学

また、いちばん小さい容疑者を選ぶ

Fermat42の解を|c|で順位づけると、いちばん小さいバッジが必ずあります。

まず、身近な例で

仮の解の大きさが10、6、9なら最小は6。「最小の解」を使うには、好きな解を選ぶだけでなく、それより小さいものがないことも必要です。

ちいさな確認:考えてみよう

上の具体例を見ながら考えよう。何度やり直しても大丈夫。

好きに選んだ解を、根拠なしに「最小」と呼んでよい?

答えと考え方を読む

いいえ。 10と6があれば、10を選んでも6より小さくはなりません。「最小」という性質にも根拠が必要です。

3段階で考えよう

  1. Minimal a b cが容疑者を束ねます:Fermat42の解であり、すべてのFermat42の解の中で|c|が最も小さい。順位の基準は絶対値Int.natAbsです。
  2. exists_minimalは最小が存在すると示します:解が実現する|c|を自然数の集合に集めると空ではありません(与えられた解が証人)ので、Nat.findが最小元を読み取ります。
  3. これは、三の場合が頼るのと同じ整礎性の一歩です。降下には目盛りが必要で、ここでの目盛りは|c|です。

小さな例で確かめる

容疑者は厳しく順位づけられます:c = 10の解はc = 6の解に負けるので、残れるのはいちばん小さいバッジだけ。降下法はまさにその証明書を必要とします。

Leanの定義・原文の抜粋

Mathlib · db584cd · Four.lean

/-- We say a solution to `a ^ 4 + b ^ 4 = c ^ 2` is minimal if there is no other solution witha smaller `c` (in absolute value). -/def Minimal (a b c : ℤ) : Prop :=  Fermat42 a b c ∧ ∀ a1 b1 c1 : ℤ, Fermat42 a1 b1 c1 → Int.natAbs c ≤ Int.natAbs c1 /-- if we have a solution to `a ^ 4 + b ^ 4 = c ^ 2` then there must be a minimal one. -/theorem exists_minimal {a b c : ℤ} (h : Fermat42 a b c) : ∃ a0 b0 c0, Minimal a0 b0 c0 := by  classical  let S : Set ℕ := { n | ∃ s : ℤ × ℤ × ℤ, Fermat42 s.1 s.2.1 s.2.2 ∧ n = Int.natAbs s.2.2 }  have S_nonempty : S.Nonempty := by    use Int.natAbs c    rw [Set.mem_ofPred_eq]    use ⟨a, ⟨b, c⟩⟩  let m : ℕ := Nat.find S_nonempty  have m_mem : m ∈ S := Nat.find_spec S_nonempty  rcases m_mem with ⟨s0, hs0, hs1⟩  use s0.1, s0.2.1, s0.2.2, hs0  intro a1 b1 c1 h1  rw [← hs1]  apply Nat.find_min'  use ⟨a1, ⟨b1, c1⟩⟩

このLeanの読み方

証明は機械的な整礎法です:集合Sは解が実現する|c|を集め、S_nonemptyが与えられた解を据え、Nat.findが最小の要素を選び、Nat.find_min'がそれをすべての解についての全称の主張へ変えます。途中のrcasesが証人の組sを開きます。ここから降下は、いつでも「最小の目盛り」を語れます。

この言葉を使う章

7. ベテランたちの事件簿
わからない・道に迷った

ミカのたすけ舟

また、いちばん小さい容疑者を選ぶ

今は、一つだけ

まず「3段階で考えよう」を上から読みます。Leanの原文は、その後でも大丈夫です。

言葉をほどこう

Fermat42の解を|c|で順位づけると、いちばん小さいバッジが必ずあります。

このページの「この言葉の前に」に、先に知ると読みやすい言葉があります。

小さな手がかり

容疑者は厳しく順位づけられます:c = 10の解はc = 6の解に負けるので、残れるのはいちばん小さいバッジだけ。降下法はまさにその証明書を必要とします。

閉じれば、読んでいた場所に戻れます。このページに合わせて用意したヒントです。

最初の小さな物語から読む →