量化
量化(りょうか、Quantification)とは、言語や論理学において、論理式が適用される(または満足される)議論領域の個体の「量」を指定すること。
例えば、算術において、「全ての自然数にはその次の数が存在する」と言った場合、あるいは論理学で、「ある議論領域に特定の属性をもつ事象が少なくとも1つ存在する」と言った場合、いずれも量化を行っている。量化を伴う言語要素を量化子(quantifier)と呼ぶ。量化子を使った表現は量化されており、述語や関数の自由変項を量化子によって束縛することで量化が行われる。量化は自然言語でも形式言語でも行われる。自然言語での量化子の例として、「全ての」、「いくつかの」、「多くの」、「一部の」などがある。形式言語では、量化は(論理)式の構成要素の一部であり、ある式から別の式を生成する。言語の意味論によって、それら構成要素が妥当性の範囲でどう解釈されるかが指定される。量化は変項束縛操作の一例である。
述語論理における2種類の基本的量化として、全称量化と存在量化がある。これらの詳細は各項目にあるので、ここでは両者に共通する量化の概念を述べる。
全称量化子は、"A" を逆さにした "∀" で表される。存在量化子は、"E" を裏返しにした "∃" で表される。これらの量化子は、Mostowski と Lindström の研究を端緒として一般化されていった。
全ての人間の言語は、完全な数体系がない場合でも、量化を利用している(Wiese 2004)。例えば、日本語での例は次の通りである。
「全ての方針に目を通す必要がある」
「川を渡っている人のうち何人かが白い腕章をしている」
「私が話した人々のほとんどが、誰に投票するか決めていなかった」
「待合室の誰もが小沢氏に対する少なくとも1つの不満を持っていた」
「クラスの誰かが、私の出した全ての問題に答えられるはずだ」
「多くの人々は賢明である」
これらを量化を使わずに、複数の文の論理和や論理積で表す単純な方法は存在しない。例えば、「Aの方針に目を通す必要がある」かつ「Bの方針に目を通す必要がある」……などと続くことになる。これらの例はまた、自然言語での量化表現の構築が統語的に非常に複雑となる可能性を示唆している。幸いにも、数学的表現における量化は、統語的により直接的である。
自然言語における量化の研究は形式言語の場合に比べて難しい。ひとつには、自然言語の文法構造が論理構造を隠蔽する場合があるためである。さらに、数学的規定は形式言語の量化子の妥当性の範囲を厳密に指定する。自然言語では、妥当性の範囲を指定するには、重要な意味論的問題に対処する必要が生じる。
モンタギュー文法は、自然言語の斬新な形式意味論を与える。その信奉者は、フレーゲ、ラッセル、クワインらの伝統的な手法よりも自然言語の自然な形式的再現が可能であると主張している。
ここでは、まず数学での量化を非形式的に説明する。次のような文があるとする。
1·2 = 1 + 1、かつ 2·2 = 2 + 2、かつ 3·2 = 3 + 3、かつ ……、かつ n·2 = n + n、かつ ……
これはいわば、命題の「無限論理積」である。形式言語の観点からすれば、有限なオブジェクトを生成する統語的規則を期待しているので、これでは問題がある。それとは別に、この例の場合、全ての論理積の対象要素を生成するプロシージャがあることがわかる。しかし、全ての無理数について何かを主張したい場合、無理数は列挙できないので、論理積の全対象要素を並べ立てる方法はない。このような問題に対処する簡潔な定式化として、全称量化がある。
全ての自然数 n について、n·2 = n + n である。
同様に、論理和の場合もある。
1 は素数である、または 2 は素数である、または 3 は素数である、または …… 、または n は素数である、または ……
この場合は、存在量化によって簡潔に定式化される。
ある自然数 n があり、n は素数である。
次のような文を考えてみよう。
任意の自然数 n について、s = n × n となる、ある自然数 s がある。
これは明らかに真である。これは単に全ての数に平方が存在することを主張しているに過ぎない。
量化子を意味する部分の順序を変えると、その内容は全く変わってしまう。
ある自然数 s について、s = n × n となる、任意の自然数 n がある。
これは明らかに偽である。ある1つの自然数 s が、あらゆる自然数の平方であると主張することになってしまう。
以上の基本的事実は、量化子の入れ子に際して非常に重要となる。量化子の適用順序は極めて重要である。
やや複雑な例として、解析学の重要な概念である一様連続の例を示す。これは、2つの量化子の順序を入れ替えるだけで各点連続を表すようになる。これを示すため、f が R 上の実数値関数であるとする。
A: R 上の f の各点連続
\underbrace{\forall x \in \mathbb{R}, \ \forall \varepsilon >0}, \exists \delta > 0, \forall h \in \mathbb{R}, \quad |h| < \delta  \implies |f(x) - f(x+h)| < \varepsilon
波括弧上の全称量化子を入れ替えても、同じである。
A': R 上の f の各点連続:
\forall \epsilon >0, \ \underbrace{\forall x \in \mathbb{R},  \exists \delta > 0}, \  \forall h \in \mathbb{R}, \quad |h| < \delta  \implies |f(x) - f(x+h)| < \varepsilon
これは、A' で波括弧上にある存在量化子と全称量化子を入れ替えた次のものとは異なる。
B: R 上の f の一様連続:
\forall \epsilon >0, \underbrace{\exists \delta > 0, \forall x \in \mathbb{R},  \forall h \in \mathbb{R}, \quad |h| < \delta\implies |f(x) - f(x+h)| < \varepsilon
それぞれの量化は、1つの特定の変項に関するものであって、その変項の「議論領域」あるいは「量化範囲」に関するものである。量化範囲はその変項がとりうる値の集合を指定する。上の例で言えば、量化の範囲は自然数の集合である。量化の範囲の指定により、ある述語が自然数についてのものであるとか、実数についてのものであるといった違いが表現可能になる。説明的な慣習として、"n" を自然数、"x" を実数を表す変項とすることもあるが、そのような命名規則だけに依存することは推奨できない。
議論領域を制限するより一般的な方法として「ガード付き量化」がある。ガード付き量化とは、次のような文である。
ある自然数 n について、n は偶数で、かつ n は素数である。
次も同じ意味である。
ある偶数 n について、n は素数である。
数学の理論によっては、議論領域を1つに固定することがある。例えば、ツェルメロ=フレンケルの集合論では、変項の範囲は全ての集合である。この場合、ガード付き量化子は、量化の範囲を狭めるときに使われる。すると、上記の例は次のように表される。
任意の自然数 n について、n·2 = n + n
ツェルメロ=フレンケルの集合論では、次のように表される。
任意の n について、n が N に属するとき、n·2 = n + n
ここで、N は全自然数の集合である。
全称量化子は "A" を逆さにした "∀" で記述され、これは "all" に由来する。存在量化子は "E" を裏返しにした "∃" で記述され、これは "exists" に由来する。これを使った量化式は次のようになる。
\exists{x}\, P  \quad \forall{x}\, P
ここで、"P" は何らかの(論理)式を表す。他にも様々な表記方法がある。
\exists{x}\, P \quad (\exists{x}) P \quad (\exists x \ . \ P) \quad (\exists x : P) \quad \exists{x}(P) \quad \exists_{x}\, P \quad \exists{x}{,}\, P \quad \exists{x}{\in}\mathbb{N}\, P \quad \exists\, x{:}\mathbb{N}\, P
以上の表記方法は全て全称量化にも適用可能である。全称量化の他の記法として、次のものがある。
(x) \, P \quad \bigwedge_{x} P
一部の記法では、量化範囲を明示的に示している点に注意されたい。量化範囲は常に示すべきだが、その数学理論によっては表現方法も変わってくる。
全ての量化の議論領域が固定である場合: ツェルメロ=フレンケルの集合論など
一部の議論領域が固定で、必要に応じて各変項の「型; type」として領域を宣言する場合: プログラミング言語の型システムに似ている
毎回量化の範囲を明示的に示す場合: 領域内の全てのオブジェクトの集合をシンボルで表したり、領域内のオブジェクトの型を示す。
古典論理では、自然言語とよく似た方法で量化を扱っており、形式的解析にはあまり向いていなかった。アリストテレスの論理学では、紀元前1世紀から真理様相との関連において All、Some、No といった概念を扱っている。
最初に変項ベースの量化を導入したのは、1879年、ゴットロープ・フレーゲの『概念記法』 Begriffsschrift であった。フレーゲは変項の全称量化を行った箇所で直線を窪ませ、その窪みの上に全称量化された変項を書くという記法を採用した。存在量化については独立した記法はなく、\sim\forall x:\sim\ldots と等価な記法であった。フレーゲの量化の扱い方は、1903年、バートランド・ラッセルの『数学原理』Principia Mathematica まで、あまり注目されなかった。
一方、チャールズ・サンダース・パースとその学生 O. H. Mitchell は独自に全称量化子だけでなく存在量化子も生み出していた(1885年)。パースと Mitchell は、我々が ∀x と ∃x と書くところを Πx と Σx と書いていた。この記法は Ernst Schroder、Leopold Loewenheim、トアルフ・スコーレムらによって1950年代ごろまで使われることとなる。クルト・ゲーデルが、1930年の一階述語論理の完全性定理に関する論文と、1931年のペアノ算術の不完全性定理で採用したのも、この記法であった。パースは後に存在グラフと呼ばれる記法を提案したが、これは最も浅いインスタンスによって変項の量化が暗黙的に決定されることを特徴とする。パースの量化に関する手法は Ernst Schroder や William Ernest Johnson に影響を与え、ジュゼッペ・ペアノ を通してヨーロッパ全体に影響を与えることとなった。パースの論理学は数十年間に渡って推論に興味を持つ人々に注目されることとなった。
ジュゼッペ・ペアノは、全称量化を (x) と記した。"(x)φ" は、x のあらゆる値について、式 φ が真であることを意味する。また彼は1897年に、存在量化を表す記法として (∃x) を採用した。アルフレッド・ノース・ホワイトヘッドとバートランド・ラッセルの『数学原理』Principia Mathematica ではペアノの記法が採用されている。また、ウィラード・ヴァン・オーマン・クワインとアロンゾ・チャーチも生涯を通じて、ペアノの記法を使用した。ゲルハルト・ゲンツェンは1935年、ペアノの ∃ 記号からの類推で ∀ 記号を導入した。しかし、∀ が一般に浸透したのは1950年代になってからである。