コンテンツにスキップ

第1章 実数論

数学者・志村五郎氏は、著書の中で「大学で教える数学はだいたい決まっている」と述べています。プロの数学者の視点に立ち、数学科の学生に向けた「実数論」の講義を設計するならば、単なる知識の伝達ではなく**「解析学という巨大な建築物を支える論理的整合性の確立」**がその中心となります。

各分野には、その分野の骨格となる「基本概念・基本定理・基本技法」があり、それを学べばその分野の本質を理解できる

本稿では、実数を「計算の対象」としてではなく、**「完備順序体という唯一無二の構造」**として捉えるための、4つの骨格を整理します。


実数論の本質は、「『つながっている』という直感的な概念を、論理的な完備性として厳密に定式化すること」に集約されます。

  1. 公理的定義と構成(実数のアイデンティティ):実数を「完備順序体」として定義し、その存在を論理的に保証する。
  2. 完備性の諸相(連続性の公理の同値性):異なる表現が、実は「同じ一つの性質」の言い換えであることを理解する。
  3. 位相の芽生え(実数直線の構造):近傍やコンパクト性といった、多次元や抽象空間へと繋がる構造を捉える。
  4. 論理による無限の制御(𝜀 の論理):動的なイメージを静的な論理式へと完全に翻訳し、主観を排除する。

1. 公理的定義と構成 — 「実数」という構造の確立

Section titled “1. 公理的定義と構成 — 「実数」という構造の確立”

数学科において、実数は単なる小数点以下の並びではありません。**「完備な順序体」**という、代数構造と順序構造、そして連続性が融合した唯一の存在です。

  • 有理数体 の不完全性(限界)
  • デデキントの切断またはコーシー列による実数体 の構成
  • **「完備順序体は同型を除いて一意に存在する」**という事実の理解

2. 完備性の諸相 — 連続性の迷宮を歩く

Section titled “2. 完備性の諸相 — 連続性の迷宮を歩く”

解析学の美しさは、異なるアプローチ(上限の存在、数列の収束、区間の縮小)が、すべて「実数の連続性」という一点で結びつくことにあります。

  • 上限不動性の原理(ワイエルシュトラスの公理)
  • ボルツァーノ・ワイエルシュトラスの定理(有界数列からの収束部分列の抽出)
  • コーシーの収束条件(極限値を知らずに収束を判定する論理)
  • これら諸命題の**「同値性の証明」**

3. 位相の芽生え — 近傍とコンパクト性

Section titled “3. 位相の芽生え — 近傍とコンパクト性”

実数論は、1次元の計算から多次元の空間(位相空間論)への橋渡しです。「点」から「集合」へと視点を広げます。

  • 開集合・閉集合、内点・集積点
  • ハイネ・ボレルの被覆定理(実数直線におけるコンパクト性の正体)
  • 実数の連結性
Section titled “4. 論理による無限の制御 — .typst-text { pointer-events: bounding-box; } .tsel span, .tsel { left: 0; position: fixed; text-align: justify; white-space: nowrap; width: 100%; height: 100%; text-align-last: justify; color: transparent; white-space: pre; } .tsel span::-moz-selection, .tsel::-moz-selection { color: transparent; background: #7db9dea0; } .tsel span::selection, .tsel::selection { color: transparent; background: #7db9dea0; } .pseudo-link { fill: transparent; cursor: pointer; pointer-events: all; } svg { fill: none; } .outline_glyph path, path.outline_glyph { fill: var(--glyph_fill); stroke: var(--glyph_stroke); } .outline_glyph path, path.outline_glyph { transition: 0.2s fill stroke; } .hover .typst-text { --glyph_fill: #66bab7; --glyph_stroke: #66bab7; } .typst-jump-ripple, .typst-debug-react-ripple { width: 0; height: 0; background-color: transparent; position: absolute; border-radius: 50%; } .typst-jump-ripple { border: 1px solid #66bab7; } .typst-debug-react-ripple { border: 1px solid #cb1b45; } @keyframes typst-jump-ripple-effect { to { width: 10vw; height: 10vw; opacity: 0.01; margin: -5vw; } } @keyframes typst-debug-react-ripple-effect { to { width: 3vw; height: 3vw; opacity: 0.01; margin: -1.5vw; } } 𝜀-.typst-text { pointer-events: bounding-box; } .tsel span, .tsel { left: 0; position: fixed; text-align: justify; white-space: nowrap; width: 100%; height: 100%; text-align-last: justify; color: transparent; white-space: pre; } .tsel span::-moz-selection, .tsel::-moz-selection { color: transparent; background: #7db9dea0; } .tsel span::selection, .tsel::selection { color: transparent; background: #7db9dea0; } .pseudo-link { fill: transparent; cursor: pointer; pointer-events: all; } svg { fill: none; } .outline_glyph path, path.outline_glyph { fill: var(--glyph_fill); stroke: var(--glyph_stroke); } .outline_glyph path, path.outline_glyph { transition: 0.2s fill stroke; } .hover .typst-text { --glyph_fill: #66bab7; --glyph_stroke: #66bab7; } .typst-jump-ripple, .typst-debug-react-ripple { width: 0; height: 0; background-color: transparent; position: absolute; border-radius: 50%; } .typst-jump-ripple { border: 1px solid #66bab7; } .typst-debug-react-ripple { border: 1px solid #cb1b45; } @keyframes typst-jump-ripple-effect { to { width: 10vw; height: 10vw; opacity: 0.01; margin: -5vw; } } @keyframes typst-debug-react-ripple-effect { to { width: 3vw; height: 3vw; opacity: 0.01; margin: -1.5vw; } } 𝑁 / .typst-text { pointer-events: bounding-box; } .tsel span, .tsel { left: 0; position: fixed; text-align: justify; white-space: nowrap; width: 100%; height: 100%; text-align-last: justify; color: transparent; white-space: pre; } .tsel span::-moz-selection, .tsel::-moz-selection { color: transparent; background: #7db9dea0; } .tsel span::selection, .tsel::selection { color: transparent; background: #7db9dea0; } .pseudo-link { fill: transparent; cursor: pointer; pointer-events: all; } svg { fill: none; } .outline_glyph path, path.outline_glyph { fill: var(--glyph_fill); stroke: var(--glyph_stroke); } .outline_glyph path, path.outline_glyph { transition: 0.2s fill stroke; } .hover .typst-text { --glyph_fill: #66bab7; --glyph_stroke: #66bab7; } .typst-jump-ripple, .typst-debug-react-ripple { width: 0; height: 0; background-color: transparent; position: absolute; border-radius: 50%; } .typst-jump-ripple { border: 1px solid #66bab7; } .typst-debug-react-ripple { border: 1px solid #cb1b45; } @keyframes typst-jump-ripple-effect { to { width: 10vw; height: 10vw; opacity: 0.01; margin: -5vw; } } @keyframes typst-debug-react-ripple-effect { to { width: 3vw; height: 3vw; opacity: 0.01; margin: -1.5vw; } } 𝜀-.typst-text { pointer-events: bounding-box; } .tsel span, .tsel { left: 0; position: fixed; text-align: justify; white-space: nowrap; width: 100%; height: 100%; text-align-last: justify; color: transparent; white-space: pre; } .tsel span::-moz-selection, .tsel::-moz-selection { color: transparent; background: #7db9dea0; } .tsel span::selection, .tsel::selection { color: transparent; background: #7db9dea0; } .pseudo-link { fill: transparent; cursor: pointer; pointer-events: all; } svg { fill: none; } .outline_glyph path, path.outline_glyph { fill: var(--glyph_fill); stroke: var(--glyph_stroke); } .outline_glyph path, path.outline_glyph { transition: 0.2s fill stroke; } .hover .typst-text { --glyph_fill: #66bab7; --glyph_stroke: #66bab7; } .typst-jump-ripple, .typst-debug-react-ripple { width: 0; height: 0; background-color: transparent; position: absolute; border-radius: 50%; } .typst-jump-ripple { border: 1px solid #66bab7; } .typst-debug-react-ripple { border: 1px solid #cb1b45; } @keyframes typst-jump-ripple-effect { to { width: 10vw; height: 10vw; opacity: 0.01; margin: -5vw; } } @keyframes typst-debug-react-ripple-effect { to { width: 3vw; height: 3vw; opacity: 0.01; margin: -1.5vw; } } 𝛿”

「限りなく近づく」という動的なイメージを捨て、全称記号()と存在記号()による厳密な論理へと脱皮します。

  • 𝜀-𝑁 論法、𝜀-𝛿 論法による厳密な定式化
  • 一様連続性と各点連続性の峻別
  • 上極限・下極限(極限が定まらない対象の制御)

専門的な実数論の学習は、実数の「存在」の確認から、その「構造」の解明へと進みます。

  1. 存在の確立:公理的定義と構成により、議論の舞台(実数体)を完成させる
  2. 論理の深化:完備性の同値性を辿り、解析学の諸定理の源泉を突き止める
  3. 空間の理解:近傍やコンパクト性を通じて、実数を「空間」として捉える
  4. 無限の支配𝜀 の論理をマスターし、主観を排した厳密な議論を可能にする

実数論の本質は、「解析学の全ての議論が立脚する地面(完備順序体)を、公理から完全に再構築すること」です。

学習の到達目標として、以下の点を自力で説明・証明できるようになれば、実数論の核心を習得したと言えるでしょう。

  • 「当たり前」に見える性質を、実数の公理のみから証明できる
  • 完備性の公理を一つ選び、そこから他の完備性命題を導く論理の糸を辿れる
  • 𝜀 論法を見て、誤差の許容範囲と番号・距離の静的な関係を構築できる

実数論とは、解析学という大海原に出るための「海図(論理)」を作成する作業です。ここを曖昧にせず、徹底的に「なぜ穴がないと言えるのか」を突き詰めることこそが、数学徒としての第一歩です。