エレファント・コンピューティング調査報告

極限に関する順序を論理プログラミングの手法を使って指定することを目指すブロクです。

群論の計算(13)

実数

この議論はガロア理論には必要ないと思われるのですが、代数学の基本定理を説明するために必要なので書いておきます。

有理数の順序

 \mathbb{Q}有理数全体の集合とします。正または  0有理数全体の集合を  \mathbb{Q}^+ とおきます。 \mathbb{Q}^+ の元は正または  0 の整数  a と正の整数  b \frac{a}{b} と書くことができるものとなっています。 ad \le bc のときに  \frac{a}{b} \le \frac{c}{d} とすることにより  \mathbb{Q}^+ に全順序  \le を定義することができます。負の有理数についても同様に定義することができるので  \mathbb{Q} に全順序  \le を定義することができます。

有理数の距離

 x \in \mathbb{Q} に対して  x の絶対値  |x|  x \ge 0 のとき  |x| = x x \lt 0 のとき  |x| = - x と定義します。 x, y \in \mathbb{Q} に対して  |x+y| \le |x| + |y| が成り立ちます(三角不等式)。

写像  d_\mathbb{Q}: \mathbb{Q} \times \mathbb{Q} \to \mathbb{Q}^+ d_\mathbb{Q}(x, y) = |x - y| と定義します。三角不等式  d_\mathbb{Q}(x, y)+d_\mathbb{Q}(y, z) \ge d_\mathbb{Q}(x, z) が成り立ちます。 d_\mathbb{Q} を距離関数と呼びます。

有理数の開集合

 a \in \mathbb{Q} \varepsilon \in \mathbb{Q}^+ に対して  U_\mathbb{Q}(a, \varepsilon) \subseteq \mathbb{Q}

  •  U_\mathbb{Q}(a, \varepsilon) = \{ x \in \mathbb{Q} \ | \ d_\mathbb{Q}(a, x) \lt \varepsilon \}

とおきます。

 U \subseteq \mathbb{Q}

  • 任意の  x \in U に対して  \varepsilon \in \mathbb{Q}^+ が存在して  U_\mathbb{Q}(x, \varepsilon) \subseteq U

であるとき は  \mathbb{Q} の開集合と呼びます。 \mathbb{Q} の開集合全体の集合を  \mathcal{U}(\mathbb{Q}) と書くことにします。

有理数のコーシー列

有理数からなる数列  (a_0, a_1, a_2, \cdots) (a_n)_{n \in \mathbb{N}} と書くことにします。すべての項が  a である数列  (a, a, a, \cdots) (a)_{n \in \mathbb{N}} と書くことにします。有理数からなる数列全体の集合を  \mathbb{Q}^* とします。

 \mathbb{Q}^* に加法、乗法を

  •  (a_n)_{n \in \mathbb{N}} + (b_n)_{n \in \mathbb{N}} = (a_n + b_n)_{n \in \mathbb{N}}
  •  (a_n)_{n \in \mathbb{N}}  (b_n)_{n \in \mathbb{N}} = (a_n  b_n)_{n \in \mathbb{N}}

と定義します。 \mathbb{Q}^* は体となります。

 \eta : \mathbb{Q} \to \mathbb{Q}^* \eta ( a ) = (a)_{n \in \mathbb{N}} と定義すると体の準同型となります。

 (a_n)_{n \in \mathbb{N}} \in \mathbb{Q}^*  (b_n)_{n \in \mathbb{N}} \in \mathbb{Q}^*

  • 任意の  n \in \mathbb{N} に対して  a_n \le b_n

であるとき  (a_n)_{n \in \mathbb{N}} \le (b_n)_{n \in \mathbb{N}} と定義します。

有理数からなる数列  (a_n)_{n \in \mathbb{N}} \in \mathbb{Q}^*

  • 任意の  \varepsilon \in \mathbb{Q}^+ に対して自然数  n が存在して
    • 任意の自然数  i j に対して  i \ge n かつ  j \ge n ならば  d_\mathbb{Q}(a_i, a_j) \lt \varepsilon

であるときコーシー列と呼びます。

 (a_n)_{n \in \mathbb{N}} をコーシー列とすると、

  • 任意の  \varepsilon \in \mathbb{Q}^+ に対して自然数  n が存在して
    • 任意の自然数  i に対して  i \ge n ならば  a_i \in U_\mathbb{Q}(a_n, \varepsilon)

となります。

有理数からなる数列  (a_n)_{n \in \mathbb{N}}有理数  a に対して、任意の有理数の開集合  U a \in U であるものに対して自然数  n が存在して

であるとき  \displaystyle {\lim}_\mathbb{Q} (a_n)_{n \in \mathbb{N}} = a と定義します。

 \displaystyle {\lim}_\mathbb{Q}^*(a_n)_{n \in \mathbb{N}} 
 = \bigcap_{\varepsilon \gt 0} \bigcup_{n \in \mathbb{N}} \bigcap_{i \ge n} U(a_i, \varepsilon)
と定義します。 \displaystyle {\lim}_\mathbb{Q}^*(a_n)_{n \in \mathbb{N}} = \{ a \} のとき  \displaystyle {\lim}_\mathbb{Q} (a_n)_{n \in \mathbb{N}} = a となります。

 a \in \mathbb{Q} \varepsilon \in \mathbb{Q}^+ に対して  I_\mathbb{Q}(a, \varepsilon) \subseteq \mathbb{Q}

  •  I_\mathbb{Q}(a, \varepsilon) = \{ x \in \mathbb{Q} \ | \ d_\mathbb{Q}(a, x) \le \varepsilon \}

とおきます。

 \displaystyle \bigcup_{n \in \mathbb{N}} I_\mathbb{Q}(0, | a_n | ) \subseteq I_\mathbb{Q}(0, \varepsilon) を満たす  \varepsilon \in \mathbb{Q}^+ が存在するとき  (a_n)_{n \in \mathbb{N}}有界であると言います。

 (a_n)_{n \in \mathbb{N}} をコーシー列とします。 \varepsilon \gt 0 をとります。

  • 任意の  i \ge n に対して  a_i \in U_\mathbb{Q}(a_n, \varepsilon)

となる  n \in \mathbb{N} が存在します。
 r |a_1|, |a_2|, \cdots , |a_{n-1}|, |a_n| + \varepsilon の最大値とすると

 \displaystyle \bigcup_{n \in \mathbb{N}} I_\mathbb{Q}(0, | a_n | ) = \bigcup_{i \lt n} I_\mathbb{Q}(0, | a_i | ) \cup \bigcup_{i \ge n} I_\mathbb{Q}(0, | a_i | ) \subseteq I_\mathbb{Q}(0, r)

となります。よってコーシー列は有界となります。

 \mu : \mathbb{N} \to \mathbb{N} を順序を保存する写像、すなわち   i \le j ならば  \mu(i) \le \mu(j) であるような写像とするとき  (a_{\mu(n)})_{n \in \mathbb{N}} (a_n)_{n \in \mathbb{N}} の部分列と言います。コーシー列の部分列はコーシー列となります。

 (a_n)_{n \in \mathbb{N}} を任意の  n \in \mathbb{N} に対して  a_n \ne 0 であるコーシー列で  0 \not \in {\lim}_\mathbb{Q}^*(a_n)_{n \in \mathbb{N}} とします。 0 \not \in {\lim}_\mathbb{Q}^*(a_n)_{n \in \mathbb{N}} から

  • 任意の  n \in \mathbb{N} に対して  k \ge n が存在して  a_k \not \in U_\mathbb{Q}(0, 2 \varepsilon)

を満たす  \varepsilon \gt 0 が存在します。コーシー列であることから

  • 任意の  i,k \ge n に対して  a_i \in U_\mathbb{Q}(a_k, \varepsilon)

となる  n \in \mathbb{N} が存在します。 k \ge n が存在して  a_k \not \in U_\mathbb{Q}(0, 2 \varepsilon) となります。 i \ge k に対して  a_i \in U_\mathbb{Q}(a_k, \varepsilon) となります。よって  a_i \not \in U_\mathbb{Q}(0, \varepsilon) となります。

よって  \displaystyle \bigcup_{n \le k} I_\mathbb{Q}(0, \frac{1}{ | a_n | } ) \subseteq I_\mathbb{Q}(0, \frac{1}{\varepsilon}) となって  (\frac{1}{a_{n+k}})_{n \in \mathbb{N}}有界となります。

 (a_n)_{n \in \mathbb{N}} (b_n)_{n \in \mathbb{N}} をコーシー列とすると

  •  | (a_i + b_i) - (a_j + b_j) | \le | a_i - a_j | + | b_i - b_j |
  •  | (-a_i ) - (-a_j) | = | a_i - a_j |
  •  | a_i b_i - a_j b_j | = | a_i (b_i - b_j) + (a_i - a_j) b_j | \le | a_i | \ | b_i - b_j | + | a_i - a_j | \ | b_j |

であることから  (a_n)_{n \in \mathbb{N}} + (b_n)_{n \in \mathbb{N}} -(a_n)_{n \in \mathbb{N}} (a_n)_{n \in \mathbb{N}}  (b_n)_{n \in \mathbb{N}} もコーシー列となります。

  •  | \frac{1}{a_i} - \frac{1}{a_j} | = \frac{| a_i - a_j|}{|a_i| \ |a_j|}

であることから  (\frac{1}{a_n})_{n \in \mathbb{N}} のある部分列  (\frac{1}{a_{\mu(n)}})_{n \in \mathbb{N}} もコーシー列となります。

実数の構成

有理数のコーシー列全体の集合を  C_\mathbb{Q} とおきます。

 \lambda_\mathbb{Q} : C_\mathbb{Q} \to P(C_\mathbb{Q}) \displaystyle \lambda_\mathbb{Q}( (a_n)_{n \in \mathbb{N}} ) = \{ (b_n)_{n \in \mathbb{N}} | \lim (a_n - b_n)_{n \in \mathbb{N}} = 0 \} と定義します( P(C_\mathbb{Q}) C_\mathbb{Q} の冪集合)。

  •  (a_n)_{n \in \mathbb{N}} \in \lambda_\mathbb{Q}( (a_n)_{n \in \mathbb{N}} )
  •  (c_n)_{n \in \mathbb{N}} \in \lambda_\mathbb{Q}( (a_n)_{n \in \mathbb{N}} ) \cap \lambda_\mathbb{Q}( (a_n)_{n \in \mathbb{N}} ) となる  (c_n)_{n \in \mathbb{N}} が存在すれば三角不等式より  \lambda_\mathbb{Q}( (a_n)_{n \in \mathbb{N}} ) = \lambda_\mathbb{Q}( (b_n)_{n \in \mathbb{N}} )

が成り立つので  \lambda_\mathbb{Q}(C_\mathbb{Q}) C_\mathbb{Q} の分類になっています。

 \mathbb{R} = \lambda_\mathbb{Q}(C_\mathbb{Q}) とおきます。 \mathbb{R} の元を実数と考えることができます。有理数のコーシー列の性質から  \mathbb{R}加減乗除を定義することができて  \mathbb{R} は体となります。 \lambda_\mathbb{Q} \circ \eta : \mathbb{Q} \to \mathbb{R} は体の単射準同型となります。

これはたとえば有理数のコーシー列  1, 1.4, 1.41, 1.414, \cdots を実数  \sqrt{2} と考えることに当たります。

実数の順序

 (a_n)_{n \in \mathbb{N}} \in S  (b_n)_{n \in \mathbb{N}} \in S が存在して  (a_n)_{n \in \mathbb{N}} \le (b_n)_{n \in \mathbb{N}} となるとき  \lambda_\mathbb{Q}( (a_n)_{n \in \mathbb{N}} ) \le \lambda_\mathbb{Q}( (b_n)_{n \in \mathbb{N}} ) と定義します。

  •  \alpha \le \alpha \ (\forall \alpha \in \mathbb{R})
  •  \alpha \le \beta \ かつ \ \beta \le \gamma \ ならば \ \alpha \le \gamma \ (\forall \alpha, \beta, \gamma \in \mathbb{R})

が成り立ちます。

 \alpha \in \mathbb{R}  \alpha \not \ge 0 とします( \lambda_\mathbb{Q}((0)_{n \in \mathbb{N}})  0 と書きます)。任意の  (a_n)_{n \in \mathbb{N}} \in \alpha に対して  (a_n)_{n \in \mathbb{N}} \not \ge (0)_{n \in \mathbb{N}} となります。 a_{n_1} \lt 0 となる  n_1 \in \mathbb{N} が存在します。 n_1 + 1 から後の部分列もコーシー列となるのでこの部分列も  \alpha の元となります。上記の議論と同様に  a_{n_2} \lt 0 n_1 \lt n_2 となる  n_2 \in \mathbb{N} が存在します。 n_k が決まったとき  a_{n_{k+1}} \lt 0 n_k \lt n_{k+1} となる  n_{k+1} \in \mathbb{N} をとることができるので、帰納的に  n_1, n_2, \cdots をとることができてこの列によって部分列を作ることができます。この部分列も  \alpha の元であり、すべての  n_k に対して  a_{n_{k}} \lt 0 であるので  \alpha \le 0 となります。

この  (a_n)_{n \in \mathbb{N}} (a_n)_{n \in \mathbb{N}} - (b_n)_{n \in \mathbb{N}} と考えると

  •  \alpha \not \ge \beta \ ならば \ \alpha \le \beta \ (\forall \alpha \in \mathbb{R})

が成り立ちます。よって

  •  \alpha \ge \beta \ または \ \alpha \le \beta \ (\forall \alpha \in \mathbb{R})

が成り立ちます。

 \alpha \in \mathbb{R}  \alpha \ge 0 \alpha \le 0 とします。 \alpha の元  (a_n)_{n \in \mathbb{N}} \ge 0 (b_n)_{n \in \mathbb{N}} \le 0 が存在します。 \lim (a_n - b_n)_{n \in \mathbb{N}} = 0 であり  0 \le a_n \le a_n - b_n であるから  \lim (a_n)_{n \in \mathbb{N}} = 0 となり  \alpha = 0 となります。よってこの  (a_n)_{n \in \mathbb{N}} (a_n)_{n \in \mathbb{N}} - (b_n)_{n \in \mathbb{N}} と考えると

  •  \alpha \ge \beta \ かつ \ \alpha \le \beta \ ならば \ \alpha = 0 \ (\forall \alpha \in \mathbb{R})

が成り立ちます。

この  \le によって  \mathbb{R} は全順序集合となります。

実数の距離関数  d_\mathbb{R} : \mathbb{R} \times \mathbb{R} \to \mathbb{R}^+と開集合全体の集合  \mathcal{U}(\mathbb{R}) U_\mathbb{R}(a, \varepsilon)有理数と同様に定義します。

実数のコーシー列

実数のコーシー列を有理数のコーシー列と同様に定義します。実数のコーシー列全体の集合を  C_\mathbb{R} とおきます。

 \displaystyle {\lim}_\mathbb{R}^*(a_n)_{n \in \mathbb{N}} 
 = \bigcap_{\varepsilon \gt 0} \bigcup_{n \in \mathbb{N}} \bigcap_{i \ge n} U_\mathbb{R}(a_i, \varepsilon)
と定義します。 \displaystyle {\lim}_\mathbb{R}^*(a_n)_{n \in \mathbb{N}} = \{ a \} のとき  \displaystyle {\lim}_\mathbb{R} (a_n)_{n \in \mathbb{N}} = a と定義します。

 \lambda_\mathbb{R} : C_\mathbb{R} \to P(C_\mathbb{R}) \displaystyle \lambda_\mathbb{R}( (a_n)_{n \in \mathbb{N}} ) = \{ (b_n)_{n \in \mathbb{N}} \ | \ 0 \in {\lim}_\mathbb{R}^* (a_n - b_n)_{n \in \mathbb{N}} \} と定義します。 \lambda_\mathbb{R}(C_\mathbb{R}) C_\mathbb{R} の分類になっています。

 \alpha \in \lambda_\mathbb{R}(C_\mathbb{R}) をとります。 (a_n)_{n \in \mathbb{N}} \in \alpha を実数のコーシー列とすると、 \displaystyle {\lim}_\mathbb{R} (a_n)_{n \in \mathbb{N}} = \alpha となります。

連続関数

 f: \mathbb{R} \to \mathbb{R} が任意の実数の開集合  U に対して  f^{-1}(U) が実数の開集合であるとき  f は連続であると言います。

実数の数列  (a_n)_{n \in \mathbb{N}} \displaystyle {\lim}_\mathbb{R} (a_n)_{n \in \mathbb{N}} = a を満たすとします。すなわち任意の  \varepsilon \gt 0 に対して  n \in \mathbb{N} が存在して

  • 任意の  i \ge n に対して  a_i \in U_\mathbb{R}(a, \varepsilon)

が成り立つとします。 f: \mathbb{R} \to \mathbb{R} を連続とします。 \nu \gt 0 をとると  f^{-1}(U_\mathbb{R}(f(a), \nu)) は実数の開集合となります。よって  U_\mathbb{R}(a, \varepsilon) \subseteq f^{-1}(U_\mathbb{R}(f(a), \nu)) を満たす  \varepsilon \gt 0 が存在します。

  • 任意の  i \ge n に対して  a_i \in U_\mathbb{R}(a, \varepsilon)

を満たす  n \in \mathbb{N} が存在します。任意の  i \ge n に対して  f(a_i) \in f(U_\mathbb{R}(a, \varepsilon)) \subseteq U_\mathbb{R}(f(a), \nu) となります。よって  \displaystyle {\lim}_\mathbb{R} (f(a_n))_{n \in \mathbb{N}} = f(a) となります。

中間値の定理

 f: \mathbb{R} \to \mathbb{R} を連続とし  a, b \in \mathbb{R} a \le b f(a) \le f(b) である実数とします。 f(a) \le r \le f(b) となる  \gamma \in \mathbb{R} に対して  a \le c \le b となる  c \in \mathbb{R} が存在して  \gamma = f(c) が成り立ちます。

[証明] 数列  a_1, a_2, \cdots b_1, b_2, \cdots c_1, c_2, \cdots を次のように作ります。
まず  a_0 = a b_0 = b とおきます。

  •  c_1 = \cfrac{a_0+b_0}{2} とおきます。
  •  f(c_1) \ge \gamma のとき  a_1 = a_0 b_1 = c_1 とおきます。
  •  f(c_1) \lt \gamma のとき  a_1 = c_1 b_1 = b_0 とおきます。

これを繰り返して

  •  c_{k+1} = \cfrac{a_k+b_k}{2} とおきます。
  •  f(c_{k+1}) \ge \gamma のとき  a_{k+1} = a_k b_{k+1} = c_{k+1}
  •  f(c_{k+1}) \lt \gamma のとき  a_{k+1} = c_{k+1} b_{k+1} = b_k帰納的に定義します。

 (c_n)_{n \in \mathbb{N}} はコーシー列なので  c \in \mathbb{R} が存在して  c = {\lim}_\mathbb{R} (c_n)_{n \in \mathbb{N}} となります。

 U = \{ x \in \mathbb{R} \ | \ x \lt \gamma \}  V = \{ x \in \mathbb{R} \ | \ x \gt \gamma \} とおくと  U V は開集合となります。 f(c) \ne \gamma と仮定すると  f(c) \in U \cup V となって  c \in f^{-1}(U) \cup f^{-1}(V) となります。 f が連続であることから  f^{-1}(U) f^{-1}(V) は開集合となります。

 c \in f^{-1}(U) であるとすると  \varepsilon \gt 0 が存在して  U_\mathbb{R}(c, \varepsilon) \subseteq f^{-1}(U) となります。 2^n \gt \cfrac{|a-b|}{\varepsilon} となる  n をとることができて |a_n - b_n| = \cfrac{|a-b|}{2^n} \lt \varepsilon となって  [ a_n, b_n ] \subseteq U_\mathbb{R}(c, \varepsilon) \subseteq f^{-1}(U) となります。 b_n \in f^{-1}(U) \cap f^{-1}(V) となって矛盾となります。

 c \in f^{-1}(V) としても同様に矛盾となります。よって  f(c) = \gamma となります。[証明終わり]

  n を奇数、 f(x) = x^n + a_{n-1} x^{n-1} + a_{n-2} x^{n-2} + \cdots + a_1 x + a_0 を実数の関数とします。このとき  f(z) = 0 を満たす実数  z が存在します。

[証明]  g(x) = \cfrac{f(x) - x^n}{x^{n-1}} = a_{n-1} + \cfrac{a_{n-2}}{x} + \cdots + \cfrac{a_1}{x^{n-2}} + \cfrac{a_0}{x^{n-1}} とおきます。 b = |a_{n-1}| + |a_{n-2}| + \cdots + |a_1| + |a_0| とおき  |x| \gt 1 とすると  |g(x)| \lt |a_{n-1}| + |a_{n-2}| + \cdots + |a_1| + |a_0| = b となります。
 - b \lt g(x) \lt b  - b \lt \cfrac{f(x) - x^n}{x^{n-1}} \lt b  x - b \lt \cfrac{f(x)}{x^{n-1}} \lt x + b となります。
  n は奇数なので  x^{n-1} \ge 0 となり  (x - b) x^{n-1} \lt f(x) \lt (x + b) x^{n-1} となります。

  •  x \gt 1 かつ  x \gt b とすると  f(x) \gt (x - b) x^{n-1} \gt  0
  •  x \lt -1 かつ  x \lt -b とすると  f(x) \lt (x + b) x^{n-1} \lt 0

となります。よって  f(u) \lt 0 を満たす実数  u f(v) \gt 0 を満たす実数  v が存在します。 f は連続関数となるので中間値の定理より  f(z) = 0 を満たす実数  z が存在します。[証明終わり]