<style>button,.story-clue{pointer-events:none}button{opacity:.55}.story-clue{pointer-events:auto}.panel-select{opacity:1}#app-status{display:none}</style>
「なぜ?」から始まる、数学の冒険

小さな「なぜ?」。 大きな冒険。

物語を追い、証明に触れる。気になったら、もうひとつ奥まで。

アカウント不要。APIキー不要。好奇心だけで。

ふたつの入口。お茶の間は、ひとつ。

今日は数学と戦わない

まんがから入ります:17章、64個の小石、必須の式はゼロ。Leanの原文は、訪ねてくるまでガラス越しです。

数学へまっすぐ

証明マップから始めます:名付けられた定理が数千本。そして時計の逆元からR = Tまで、階段を全部登ります。となりでは物語も語り続け、あなたを正直に保ちます。

ふたりで読むために作りました:数学好きと、数学が苦手なひと。ソファは一台。それぞれが持ち帰ったものは、お茶の間へ運びます。

「まだわからない」から始めよう。

全17章で、ひとつの大きな道筋へ。今日は、小さな発見がひとつあれば十分。

全17章 · Lean元の原文 ↗

ピップの心得:まちがいも手がかり。どの章にも進めて、何度でも考え直せます。

累乗、問題の還元、あやしい小包。

読み方を選ぶ証明項と依存先をたどる。
証明全体のマップを開く29,511の定理・正確な主張・依存関係

英語や日本語で定理を検索できます。主要な定理には日本語の見出しがあります。文脈全体はGitHubの原文から確かめられます。

この章で見つけたいこと

反例を簡単な形にしても、大事な条件を失わない理由を知ろう。

obtain
存在する対象と、それが条件を満たす証拠を取り出す。
rflのパターン
等式の証拠を分解しながら、その等式で置き換える。
たとえ話と数学の境界

荷物を減らす場面は共通因子で割る操作のたとえ。存在を仮定した解を変形しているのであって、反例を作り出してはいません。

</>S_FreyPackage_of_counterexample.lean
have ⟨a, b, c, a0, b0, c0, ab, H⟩ :
∃ (a b c : ℤ), a ≠ 0 ∧ b ≠ 0 ∧ c ≠ 0 ∧ Int.gcd a b = 1 ∧ a ^ p + b ^ p = c ^ p := by
obtain ⟨d, a', b', d0, cop, a_eq, b_eq⟩ :=
Int.exists_gcd_one' (Int.gcd_pos_of_ne_zero_left b ha)
simp only [a_eq, mul_pow, b_eq] at H
rw [← add_mul, mul_comm] at H
obtain ⟨c', rfl⟩ := (Int.pow_dvd_pow_iff pp.ne_zero).1 ⟨_, H.symm⟩
rw [mul_pow] at H
have a0' := left_ne_zero_of_mul (a_eq ▸ ha)
have b0' := left_ne_zero_of_mul (b_eq ▸ hb)
have c0' := right_ne_zero_of_mul hc
exact ⟨a', b', c', a0', b0', c0', cop,
mul_left_cancel₀ (pow_ne_zero _ (mod_cast d0.ne')) H⟩

👩🏻‍🎨 ミカ · 原文を読むための案内

obtainでInt.exists_gcd_one'の証拠を取り出し、mul_powで共通のp乗因子を露わにします。Int.pow_dvd_pow_iffからc′を得ます。最後のmul_left_cancel₀には、消去する冪が非零だという証拠を渡します。

元の原文への注釈・Leanの実行状態ではありません

コマの手がかりや原文の色つきの語句に触れると、対応をたどれます。

この論理を試してみる →
出典と検証の範囲

出典:anthropics/fermats-last-theorem(aa2d8b3)。上流では検証済みと報告されていますが、このアプリでは全体を再ビルド・再検証していません。漫画の解説自体は形式的な証明ではありません。

ソースのライセンスと著作者表示
第4章/全17章・Lean

小包のダイエット

ピップは傘を3本。式は共通因子を持ち込んだ。

ここまでと、この先

指数を絞ったので、次は仮の数の組を整理します。天秤で「何を保つ操作か」を確かめたように、式を保つことが大切。ここでは共通の因子にも注意します。

このつながりは、読む道筋の案内です。物語のたとえ自体が、この定理の証明になるわけではありません。

お茶の間で話す
ミカ
「剥がしましょう——小さい解が下に潜っています。三つとも割れば、gcd 1まで届きます。」
割るときは慎重に

物語 → 証明リボンを外しても中身は残します。割り切れることの定理で、aとbだけでなくcも因数分解できると確かめます。

割れる理由を確かめるInt.pow_dvd_pow_iff
ピップ
「袋ごとゴミ箱へ? とんでもない。非零の補題が、小さくなった数も証拠つきと保証します。」
肝心なものは残す

物語 → 証明袋ごと捨てると証拠も消えます。非零の補題によって、小さくした数も0ではないと確かめます。

非零の証拠を残すright_ne_zero_of_mul hc
ミカ
「軽くなったかばんも、ぴったり閉まる:約分のあとも等式は無事。証拠はきちんと整えてこそ証拠です。」
証拠はそのまま

物語 → 証明軽くなったかばんにも等式は残ります。共通因子が0ではないという証拠を使って、約分を正当化します。

証拠つきで約分mul_left_cancel₀

物語の向こうにある考え方

obtainでInt.exists_gcd_one'の証拠を取り出し、mul_powで共通のp乗因子を露わにします。Int.pow_dvd_pow_iffからc′を得ます。最後のmul_left_cancel₀には、消去する冪が非零だという証拠を渡します。

最後の組で示していることは?

  • フェルマーの最終定理全体。
  • 仮定Hのもとで、互いに素な反例が存在すること。

このページで物語と原文を読めます。証明の編集、クイズ、対話式のマップにはJavaScriptを有効にしてください。

軽くなった小包にも式は残る。次は正式なフライ・パッケージの検査だ。

読む。試す。腑に落ちる。

  1. 漫画を読み、「物語」「数学」「Lean」で深さを選びます。
  2. 証明のプレイグラウンドへ。タクティクを編集すると、目標が変わります。
  3. 状態、言葉、ヒントを選んでみよう。まわり道も物語の一部です。

練習では小さな命題論理を検査します。FLTの抜粋は編集できる読み物で、リアルタイムのLean検証ではありません。FLT全体の検証は上流の報告として扱います。

わからない・道に迷った

ミカのたすけ舟

小包のダイエット

今は、一つだけ

迷ったら、天秤のケーキの話から。ひとまとまりずつで大丈夫。フェルマーの章なら、まず「物語」と「まず、この言葉から」を読もう。

言葉をほどこう

最初からLeanや大学の数学を知っている必要はありません。小さな物語では、使う言葉から説明します。

小さな手がかり

一般の式より先に、小さな例を見よう。「何を変えて、何を同じに保った?」と考えてみてね。

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

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