4.2 列
集合が提供するのはモノの集まりを扱う手段である。列 (sequence) はこれと少し異なる手段を提供する。列は要素 (component, member, element) と呼ばれるモノの並びを意味する。列の要素は項 (term) とも呼ばれる。短い列は要素をコンマで区切って括弧で囲うことで表される。例えば \((a, b, c)\) は \(3\) 個の要素からなる列を表す。この列は「\(3\) 要素列」や「長さ \(3\) の列」と呼ばれる (他の要素数でも同様)。こういった用語は同義語である ── 列は非常に基礎的な概念であり様々な場所に現れるので、列に関する用語には同じ意味のものが多くある。例えば長さ \(2\) の列は組 (pair) と呼ばれる1。
集合と列は「モノの集まりを表す」という共通点を持つものの、相違点もある:
-
集合の要素は全て異なる必要があるのに対して、列の要素は同じでも構わない。例えば \((a, b, a)\) は正当な長さ \(3\) の列である。一方で集合 \(\left\{a, b, a \right\}\) の要素数は \(2\) であって \(3\) ではない。
-
列の要素は順序を持つのに対して、集合の要素は順序を持たない。例えば \((a, b, c)\) と \((a, c, b)\) は異なる列である。一方で \(\left\{a ,b, c\right\}\) と \(\left\{a, c, b\right\}\) は同じ集合である。
-
要素を持たない集合は \(\varnothing\) で表されるのに対して、要素を持たない (長さ \(0\) の) 列は \(\lambda\) で表される。
集合と列を結び付ける演算にデカルト積がある。集合 \(S_{1}\), \(S_{2}\), \(\ldots\), \(S_{n}\) のデカルト積 (Cartesian product) \(S_{1} \times S_{2} \times \cdots \times S_{n}\) は、第 \(1\) 要素が \(S_{1}\) の要素、第 \(2\) 要素が \(S_{2}\) の要素、以下同様となる長さ \(n\) の列全体の集合と定義される。例えば \(\mathbb{N} \times \left\{a, b\right\}\) は組からなる集合であり、それぞれの組は第 \(1\) 要素に非負整数、第 \(2\) 要素に \(a\) または \(b\) を持つ:
集合 \(S\) に対して、\(n\) 個の \(S\) のデカルト積は \(S^{n}\) と表記される。例えば \(\left\{0,1\right\}^{3}\) は全ての \(3\) ビット列 (\(0\) または \(1\) を要素とする長さ \(3\) の列) からなる次の集合である:
デカルト積は直積 (product) とも呼ばれる。
-
組を順序付き組 (ordered pair) と呼ぶ文献もある。 ↩︎