情報数理B

1回目:情報数理Aの復習(集合と論理)

1.1 直積集合

数学の表現方法として直積集合という概念がある.その定義を復習する. 要素の順序対 (ordered pair) $(a,b)$ を考える.$a$は第1成分と呼ばれ,$b$は第2成分と呼ばれる.このとき $a=b$でないならば,$(a,b) \neq (b,a)$ である.さらに,$(a,b)=(c,d)$となるのは,$a=c$かつ$b=d$のときで,かつこのときに限る. 2つの任意の集合$A$と$B$を考える.すべての順序対 $(a,b)$ $(a \in A, b \in B)$の集合は,$A$と$B$の直積 (direct product) と呼ばれ,$A\times B$と表す.定義より, \[ A\times B = \{(a,b) : a \in A , b \in B \} \] となる.また,しばしば$A\times A$の代わりに,$A^2$と書く. 順序対の概念を拡張すると,$n$個の順序付けられた成分の組$(a_1, a_2, a_3, \ldots, a_n)$を要素として持つ直積集合が定義できる. \[ A_1 \times A_2 \times \cdots \times A_n = \{(a_1, a_2, a_3, \ldots, a_n) : a_1 \in A_1, a_2 \in A_2, \cdots, a_n \in A_n \} \] \[ A^n = A \times A \times \cdots \times A = \{(a_1, a_2, a_3, \ldots, a_n) : a_1, a_2, \cdots, a_n \in A \} \]
直積集合は例えば次のような例を表したいときに使う.
  • $xy$平面の全ての点の集合は$\mathbb{R}$を実数の集合として,$\mathbb{R}^2 = \{ (x, y) : x, y \in \mathbb{R} \}$と表せる.また$xyz$空間内の全ての点の集合は$\mathbb{R}^3 = \{ (x, y,z) : x, y,z \in \mathbb{R} \}$と表せる.これを拡張した$n$個の実数の組の集まり$\mathbb{R}^n=\{(x_1,x_2,\ldots,x_n) : x_1,x_2,\ldots,x_n \in \mathbb{R}\}$を$n$次元実空間という.
  • コンピュータ上で一般的に用いられる色の集合は$X$を0以上255以下の自然数の集合とし,集合$R$を赤の成分の大きさを表す集合,集合$G$を緑の成分の大きさを表す集合,集合$R$を青の成分の大きさを表す集合として,$R\times G\times B = \{(r,g,b) : r, g, b \in X\}$と表せる.
このように直積集合はいくつかのデータの組を扱うときに使う.一方で,一つの対象をいくつかの成分に分解するときに使うことも多い.例えば,複素数の全体の集合を$\mathbb{C}$としたとき,複素数$x \in \mathbb{C}$は実数$a,b \in \mathbb{R}$を使って,$x=a+b\sqrt{-1}$と表すことができる.この$x \in \mathbb{C}$と$(a,b) \in \mathbb{R}^2$の対応により,$\mathbb{C}$は$\mathbb{R}^2$と同一視できる.複素平面はこの対応を考えている.

1.2 論理

数学の証明の基本は,ある命題$P$を仮定して,新しい命題$Q$が成り立つこと,つまり推論 \[ P \Rightarrow Q \] を証明することである.よく使う性質として以下のものが挙げられる.
  1. $\lnot P \land \lnot Q \Leftrightarrow \lnot (P \lor Q)$(ド・モルガンの法則)
  2. $\lnot P \lor \lnot Q \Leftrightarrow \lnot (P \land Q)$(ド・モルガンの法則)
  3. $P \land Q \Rightarrow P$
  4. $P \Rightarrow P \lor Q$
  5. $(P \rightarrow Q) \Leftrightarrow \lnot P \lor Q$
  6. $(P \rightarrow Q) \land P \Leftrightarrow P \land Q$
  7. $(P \rightarrow Q) \land (Q \rightarrow R) \Rightarrow (P \rightarrow R)$(三段論法)
  8. $(P \rightarrow Q) \Leftrightarrow (\lnot Q \rightarrow \lnot P)$(対偶)
変数 (variable) $x$を含む命題$P(x)$を述語という. 述語は変数$x$に具体的な値を代入することによって命題となる. 変数を増やして$P(x_1,x_2,\ldots,x_n)$という命題も考えられる. 述語$P(x)$に対して,「すべての$x$について$P(x)$である」という命題を全称命題といい, $\forall x (P(x))$と書く.$\forall$は全称記号と呼ばれる(for allを表す). また,述語$P(x)$に対して,「ある$x$について$P(x)$である」という命題を存在命題といい, $\exists x (P(x))$と書く.$\exists$は存在記号と呼ばれる(existを表す). 複数の変数に対して$\forall$または$\exists$が連続で出てくる場合,例えば,$\forall x( \exists y ( P(x,y)))$の場合は$\forall x \exists y (P(x,y))$のように記号の前のカッコを省略する.$\forall$と$\exists$の両方が連続で出てくる場合,その順番で意味が変わることに注意する.

1.3 集合族

集合を要素として持つ集合を集合族 (family of sets)と呼ぶ.添字集合を$\Lambda$とする集合族$\{A_{\lambda}\}_{\lambda \in \Lambda}$の共通部分$\displaystyle\bigcap_{\lambda \in \Lambda} A_{\lambda}$と合併$\displaystyle\bigcup_{\lambda \in \Lambda} A_{\lambda}$を \begin{align*} &x \in \bigcap_{\lambda \in \Lambda} A_{\lambda} \underset{\rm def}{\Leftrightarrow} \forall \lambda \in \Lambda ( x \in A_{\lambda}), &x \in \bigcup_{\lambda \in \Lambda} A_{\lambda} \underset{\rm def}{\Leftrightarrow} \exists \lambda \in \Lambda ( x \in A_{\lambda}) \end{align*} で定義する.添字集合が自然数全体の集合$\mathbb{N}$のときは,$\displaystyle\bigcap_{k=1}^{\infty} A_{k}$や$\displaystyle\bigcup_{k=1}^{\infty} A_{k}$とも書く. また添字集合を定めずに集合族$\mathcal{A}$の共通部分と合併を考えるときは$\displaystyle\bigcap_{X \in \mathcal{A}} X$や$\displaystyle\bigcup_{X \in \mathcal{A}} X$とも書く.