スポンサーリンク

「任意の」、「存在する」【論理と集合シリーズ】数学の文章を読むための論理的思考の基礎 その4

基礎数学

本記事の内容

本記事は「数学の文章って何言ってるかわかんない」、「論理的ってどういうこと?」、「数学の勉強をしてみたいけど、何が書いてあるか読めない」という方向けである。
そういう方に向けて、「任意の」および「存在する」ついてを切り口に述語論理を解説する。

本記事は「命題」、「命題の否定」、「真理値表」、「かつ、または」、「ならば」について知っている必要があるため、ご存じない方は以下(前回までの記事)をご参照ください。

「命題とは?」【論理と集合シリーズ】数学の文章を読むための論理的思考の基礎 その1
本記事の内容 本記事は「数学の文章って何言ってるかわかんない」、「論理的ってどういうこと?」、「数学の勉強をしてみたいけど、何が書いてあるか読めない」という方向けである。そういう方に向けて、数学における主張「命題」について解説する。また、そ
「命題の否定?」【論理と集合シリーズ】数学の文章を読むための論理的思考の基礎 その2
本記事の内容 本記事は「数学の文章って何言ってるかわかんない」、「論理的ってどういうこと?」、「数学の勉強をしてみたいけど、何が書いてあるか読めない」という方向けである。そういう方に向けて、命題の否定および真理値表について解説する。※「命題
真理値表とは?「かつ、または、ならば」とは?
本記事の内容 本記事は「数学の文章って何言ってるかわかんない」、「論理的ってどういうこと?」、「数学の勉強をしてみたいけど、何が書いてあるか読めない」という方向けである。そういう方に向けて、「真理値表」および「かつ」、「または」、「ならば」

前回まで扱っていた命題は、「東京都は日本の首都である。」
やら「\(\sqrt{2}\)は無理数である。」やら「クジラが爬虫類ならば日本国国会議事堂は2つ存在する。」やら「\(1+1=2\)ならば\(\sin 1^\circ\)である。」という形であった。
つまり、「AはBである。」やら「\(p\)ならば\(q\)である。」といった比較的シンプルな命題だった。

しかしながら、上記のようなシンプルな形の命題ばかりが出現するわけではない。
実のところ数学においては条件やらがもっと沢山入っている命題が出現する。
つまり、複数、しばしば無限個の対象に対して何か言及することが普通であり、かつ重要でもある。

例えば、「東京都に住む人に対して、固定電話を持っているならばその電話番号は03から始まる。」やら「平面における全ての三角形に対して、その3つの内角の和は180°である」というような命題を扱うことが多いというわけである。

ちなみに、「この人が東京に住んでいて、かつ固定電話を持っているならばその電話番号は03から始まる。」という主張は特定の対象に対しての命題で、これはこれで重要な場合もある(その考察対象自体に価値がある場合)が、それよりも「東京都に住む人に対して、固定電話を持っているならばその電話番号は03から始まる。」という命題のほうが東京都在住の人全体に対する命題であるため、より重要である。
三角形の場合も同様である。

このように、複数、しばしば無限個の対象に対してなにか言及する命題を取り扱うために述語論理が必要となる。

述語(命題関数、条件)

「1億円は大金である。」という主張は命題ではない。「命題とは?」【論理と集合シリーズ】数学の文章を読むための論理的思考の基礎 その1でも書いた通り、人により基準が異なるため、真偽が判定できる主張ではない。
「いやいや、大金ですよ。」など言おうものなら某論破王から「それってあなたの感想ですよね」と一蹴されてしまう。
しかし、1億円と比較する対象を明示することで命題となる。

同様に、「実数\(x\)に対して、\(x>3\)である。」は命題ではないが、\(x\)の値を定めることで命題となる。
このような変数\(x\)を含むような主張を(先の例で言うと”1億円”が変数にあたる)、\(x\)についての条件(condition)、述語(predicate)、命題関数という。
\(x\)についての述語(条件、命題関数)を\(p(x),\ q(x), \dots\)のように表す。

この記号については若干の抵抗があるかもしれないが、「変数\(x\)に対して、何か値を代入することで出力が得られる」という意味では述語もまた関数として捉えられるため、上記のような記号を用いる(故に命題関数とも呼ばれる)。

この条件を与えるために重要な位置にあるのが「任意の」、「存在する」という言葉である。
これらをそれぞれ\(\forall\)、\(\exists\)で表し、これらを量称記号(quantifier、限定記号)という。

ここで、「条件って述語なの?」と思うかもしれないが、この記事の先を読んでいけば、自ずと納得していただけると思う。

「任意の」、「すべての」、\(\forall\)

「すべての9歳の子どもは、必ずいずれかの小学校に席を置いている。」やら「全ての\(\triangle ABC\)は、\(\angle A+\angle B+\angle C=180^\circ\)を満たす。」というように、何か一定の範囲のモノについて、ただ1つの例外もなく何かが成立する、という形で命題が出現する場合が多い。

このような命題を全称命題(universal proposition)という。
形としては 「任意の〇〇に対して、△△が成り立つ。」が典型例である。

先の例をこの形で言い換えれば
「任意の9歳の子どもに対して、”いずれかの小学校に席を置く”が成立する。」、「平面内の任意の\(\triangle ABC\)に対して、\(\angle A+\angle B+\angle C=180^\circ\)が成立する。」となる。

実は、量称記号には順序が肝心であるのだが、それについては後述する。

「任意の」は「すべての」ともいい、「に対して」は「について」とも言う。
さらに、「が成り立つ」は「が成立する」とも、「である」ともいい、省略されることもある。
加えて、言葉で表すときは「任意の」やら「すべての」も省略されることがある。

例えば、「任意の9歳の子どもに対して、”いずれかの小学校に席を置く”が成立する。」という命題は
「すべての9歳の子どもは、いずれかの小学校に席を置く。」やら
「9歳の子どもは、小学校に席を置く。」やら
「任意の子どもに対して、その子どもが9歳ならば、いずれかの小学校に席を置く。」
と書かれたりもする。
これはどれも同じ意味である。

数学の命題を例に取れば、
「(任意の)三角形について、その内角の和は\(180^\circ\)である。」やら
「(任意の)微分可能な関数は連続である。」
といった具合である。

ちなみに、「任意の\(A\)に対して、」という言い回しを英語で書くと、「For all \(A\)」となる。
「任意の」=「all」、「に対して、」=「for」である。
これを知っていると記号も覚えやすく、かつ量称記号の順序も理解しやすいと思われるため、頭の片隅に置いておいてほしい。
実は、量称記号を用いた論理式から日本語に直す際、主張を一旦英語になおしてから日本語に直すというワンクッションを置くことで明快になる、というネタバラシをしておく。

実は他にも「任意の」に対応する英語があるのだが、それは後述。

記号(書き方編)

典型的な書き方

「任意の\(x\)に対して\(p(x)\)が成り立つ。」という命題を
$$\forall x\ p(x)$$
と表す。

これらを先のような\(\forall x\ p(x)\)の形で書けば、それぞれ
\(\forall 9歳の子ども\ いずれかの小学校に席を置く。\)やら
\(\forall 子ども\ 子どもが9歳\Rightarrow いずれかの小学校に席を置く。\)
と、
\(\forall 三角形\ その内角の和は(180^\circ)である。 \)やら
\(\forall x\ xが三角形\Rightarrow 内角の和は(180^\circ)。\)
と書く。

より数学に寄った例を挙げると、「任意の\(x\)に対して、\(x\)が実数ならば、\(x^2\geq 0\)が成り立つ。」という命題は
$$\forall x\ xが実数\Rightarrow x^2\geq 0$$と表す。
括弧を適当に補って「\(\forall x\ (xが実数\Rightarrow x^2\geq 0)\)」やら
「\(\forall x\ [xが実数\Rightarrow x^2\geq 0]\)」と書いたりもする。

括弧の付け方だが、使う人の好みで規則があるわけではない。
筆者の場合は「任意の\(A\)に対して、\(B\)が成立する。」という命題を\((\forall A)\ (B)\)と書くようにしている。
これだけ見ても括弧の必要があるか?と思うかもしれないが、特に\(B\)は文字数が多くなったりするため\(B\)は\(B\)で括弧で囲んでいる。
とはいえ、面倒になって括弧を省略するときもあるというのが実際のところである。

他の書き方

実のところ、記法は他にも色々ある。
というのも、先の「任意の\(x\)に対して\(p(x)\)が成り立つ。」という命題を表す記法
$$(\forall x)\ (p(x))$$
において、\(p(x)\)のは、多くの場合
「\(\forall 子ども\ 子どもが9歳\Rightarrow いずれかの小学校に席を置く。\)」やら
「\(\forall x\ xが三角形\Rightarrow 内角の和は180^\circ。\)」
というように「\(p_1(x) \Rightarrow p_2(x)\)」という形をしている。

\(p_1(x)\)を前提条件、付帯条件のように考えて、
$$(\forall x:p_1(x))\ (p_2(x))$$
と書くことがある。

この命題は「\(p_1(x)\)が成り立つような任意の(x)に対して、\(p_2(x)\)が成り立つ」というように読む。
実は、読み方はこれだけではない。詳しくは後述。

先の例については
「\((\forall 子ども:子どもが9歳)\ (いずれかの小学校に席を置く。)\)」やら
「\((\forall x:xが三角形)\ (内角の和は180^\circ。)\)」
と書かれるわけである。

これらの命題は「\(p_1(x)\)が成り立つような任意の\(x\)に対して、\(p_2(x)\)が成り立つ。」というように読む。これも読み方はこれだけではない。詳しくは後述。

「任意の\(x\)に対して、\(x\)が実数ならば、\(x^2\geq 0\)が成り立つ。」という命題にこれを適用すると、「\( (\forall x:xは実数)\ x^2\geq 0\)」となる。

少々先取りすると、「\(x\)は実数」という主張は「\(x\in\mathbb{R}\)」と書くことができる。\(\mathbb{R}\)は実数の集合を表し、先のように書くことで\(x\)は実数の集合の要素である、ということで\(x\)は実数であるということを語っているわけである。

故に「\((\forall x:x\in\mathbb{R})\ x^2\geq 0\)」となるのだが、しばしば「\((\forall x\in\mathbb{R})\ x^2\geq 0\)」と略記される。
むしろ、こっちの方が大多数である。

さらに、その場の議論の流れから「\(x\in\mathbb{R}\)は当然でしょ?」ということで、「\((\forall x)\ x^2\geq 0\)」というように省略することもある。

書き方まとめ

上記を表でまとめると次のようになる。

命題使う状況記法
任意の\(x\)に対して、\(p_1(x)\)ならば\(p_2(x)\)が成り立つ。いつでも\(\forall x\ p_1(x)\Rightarrow p_2(x)\)
任意の\(x\)に対して、\(p_1(x)\)ならば\(p_2(x)\)が成り立つ。いつでも\((\forall x:p_1(x))\ p_2(x)\)
実数であるような任意の\(x\)に対して、\(x^2\geq 0\)である。いつでも\((\forall x\in\mathbb{R})\ x^2\geq 0\)
実数であるような任意の\(x\)に対して、\(x^2\geq 0\)である。文脈上前提が当然のとき\((\forall x)\ x^2\geq 0\)
任意の正の実数\(x\)に対して、\(x+\frac{1}{x}\geq 2\) である。いつでも\((\forall x>0)\ x+\frac{1}{x}\geq 2\)
「任意の」が絡む命題の記法

勿論、上記の方以外にも書き方はあるが、ほとんどが上記のような記法で書かれている。

※読み方については、「存在する」を説明した後に述べる。

他の言い回し

「任意の」の別の言い回しとして「どんな」もある。
「どんな」を使う場合は、「どんな9歳の子どもでも、必ずいずれかの小学校に席を置く。」やら
「平面内のどんな三角形に対しても、その内角の和は\(180^\circ\)である。」やらと書かれる。

「任意の」に対応する英語は「all」だけではない。
「any」や「every」も使われる。
これらに明確な差は無いのだが、「all」は連続的な対象に用い、「every」は離散的な対象に用いるという印象がある。
例えば、実数に対しては「all」、自然数に対しては「every」といった具合である。

「any」は「どんな」というニュアンスである。
勿論、これらの場合に「all」を用いることは間違いではなく、むしろ普通なのだが、細かなニュアンスとして使い分ける場合がある。

「任意の」のちょこっとまとめ

少々まとめておく。
\(p(x)\)を\(x\)についての条件(\(x\)を定めると\(p(x)\)が命題となる)とする。
「任意の\(x\)に対して、\(p(x)\)(が成り立つ、である)。」、「すべての\(x\)について\(p(x)\)(が成り立つ、である)。」という命題を$$\forall x\ p(x)\ あるいは\forall x\ (p(x))$$と書く。

「存在する」、「ある」、\(\exists\)

「9歳で、小学校に席を置いているが、登校していない子どもがいる。」やら「\(x^3-x+1=0\)を満たす実数\(x\)が取れる。」というように、「特別な対象がある」ということを主張する命題も「任意の」が含まれる命題と同じ程度出現する。
我々は某YouTuberの存在を知っているため、前者が真なる命題であることは抵抗がないだろうし、単純に三次方程式を解けば解が得られるため後者も真なる命題であることにも抵抗が無いだろう。

形としては「△△を満たす(ような)〇〇が存在する。」やら「ある〇〇が存在して、△△が成り立つ。」やら「ある〇〇が△△を満たす。」が典型例である。

先の例をこの形で言い換えれば、
「”9歳、かつ小学校に席を置いている、かつ登校していない”を満たすような子どもが存在する。」、
「ある子どもが存在して、”9歳、かつ小学校に席を置いている、かつ登校していない”を満たす。」、
「\(x^3-x+1=0\)を満たす実数\(x\)が存在する。」、
「ある数\(x\)が存在して、\(x\)は実数かつ\(x^3-x+1=0\)を満たす。」

上記の様に書くと、若干読みにくかったり、日本語として不自然な場合もあるのだが、個人的には「ある〇〇が存在して、△△が成り立つ。」のパターンの利用を強く推奨する。
これは齟齬が発生しないようにするためである。
勿論、これはあくまで例であるので、これ以外にもパターンが存在する。

ちなみに、「△△を満たす(ような)〇〇が存在する。」という言い回しを英語で書くと、「There exists 〇〇 such that △△.」となる。
ただし、存在する対象が複数個ある場合、すなわち上記の例における〇〇が複数ある場合は、三人称単数現在形のsをexisitに補う。
これを知っていると記号も覚えやすく、かつ量称記号の順序も理解しやすいと思われるため、頭の片隅に置いておいてほしい。
実は、量称記号を用いた論理式を日本語に直す際、主張を一旦英語になおしてから日本語に直すというワンクッションを置くことで明快になる、というネタバラシをしておく。2回目だが。

記号(書き方編)

典型的な書き方

「ある\(x\)に対して、\(p(x)\)が成り立つ。」という命題を
$$\exists x\ {\rm s.t.}\ p(x)$$と表す。
\(\exists\)は先に述べた「exists」の頭文字Eをひっくり返した記号である。

「ある子どもが存在して、”9歳、かつ小学校に席を置いている、かつ登校していない”を満たす。」という命題においては「\(\exists 子ども\ {\rm s.t.}\ 9歳\land 小学校に席を置いている\land 登校していない(が成り立つ)。\)」となり、「ある数\(x\)が存在して、\(x\)は実数かつ\(x^3-x+1=0\)を満たす。」という命題においては「\(\exists x\ {\rm s.t.}\ は実数\land x^3-x+1=0\)」となる。

ここで、\(\land\)は「かつ」を表す記号であり(「真理値表」、「かつ、または」、「ならば」【論理と集合シリーズ】数学の文章を読むための論理的思考の基礎 その3)、「s.t.」は「〜のような」を意味する「such that」の省略形である。
「s.t.」は必ずしも必要ではなく、省略されることもあるが、筆者は命題の内容がわかりやすくなる(何を満たすのかがわかりやすくなる)ため「s.t.」を用いている。

ただし、この「s.t.」は「任意の」に対しては使わない。
例えば、「\(\forall x\in\mathbb{R}\ {\rm s.t.}\ x^2\geq 0\) 」とは書かない。
これは「全ての\(x\in\mathbb{R})に対して(x^2\geq 0\)」と読むため、「〜のような」とは読まないからである。

前節で述べた「任意の」と同様に適当に括弧を補って「\(\exists x\ {\rm s.t.}\ (x\in\mathbb{R}\land x^3-x+1=0)\)」やら「\(\exists x\ {\rm s.t.}\ [x\in\mathbb{R}\land x^3-x+1=0]\)」やらと書いたりもする。

要は$$\exists (存在する対象)\ {\rm s.t.}\ (満たす内容)$$というわけだ。

他の書き方

「任意の」と同様、他にも書き方は色々ある。
「ある\(x\)が存在して\(p(x)\)を満たす」という命題を表す記法\(\exists x\ {\rm s.t.}\ (p(x))\)において、\(p(x)\)の多くは
「ある子どもが存在して、”9歳、かつ小学校に席を置いている、かつ登校していない”を満たす。」やら
「ある数\(x\)が存在して、\(x\)は実数かつ\(x^3-x+1=0\)を満たす。」
というように「\(p_1(x)\land p_2(x)\)」という形をしている。

特に、\(p_1(x)\)は\(x\)の考察の範囲(例えば、「\(x\)は実数である」など)を示している事が多い。

そういうとき、「\(\exists x\ {\rm s.t.}\ p_1(x)\land p_2(x)\)」という命題を「\(p_1(x)\)を満たす\(x\)で、\(p_2(x)\)が成り立つものが存在する。」のように読むこともある。
それに対応して\(\exists x:p_1(x))\ p_2(x)\)と書くこともある。

上記を例に取ると、「\((\exists 子ども:子どもは9歳)\ 小学校に席を置いている、かつ登校していない。\)」となる。

勿論「\((\exists 子ども:子どもは9歳、かつ小学校に席を置いている)\ 登校していない。\)」でも
「\((\exists 子ども:子どもは登校していない)\ 子どもは9歳、かつ小学校に席を置いている)\)」などでも良い。
又、「\(\exists x:xは実数)\ x^3-x+1=0\)」となる。

これらをさらに略記して
「\((\exists 9歳の子ども:小学校に席を置いている)\ 登校していない。\)」とすることもあるし、「\((\exists x\in\mathbb{R})\ x^3-x+1=0\)」とすることもある。

これは「実数\(x\)で\(x^3-x+1=0\)を満たすものが存在する。」、「ある実数\(x\)が存在して、\(x^3-x+2=0\)が成り立つ。」と読むとしっくり来るのではなかろうか。

このように、記法は「任意の」と同様に様々だが、「\(\exists x\ {\rm s.t.}\ (p(x))\)」と書くことを推奨する。

「存在する」のちょこっとまとめ

少々まとめておく。
\(p(x)\)を\(x\)についての条件(\(x\)を定めると\(p(x)\)が命題となる)とする。
「ある\(x\)に対して(について)、\(p(x)\)(が成り立つ、である)。」、「\(p(x)\)が成り立つような\(x\)が存在する。」という命題を$$(\exists x)\ {\rm s.t.}\ p(x)\ あるいは\ \exists x\ p(x)\ あるいは\ \exists x\ (p(x))\ あるいは\ \exists x\ [p(x)]$$で表す。
先述の通り、\((\exists x)\ {\rm s.t.}\ p(x)\)という形式の利用を推奨する。

複数の量称記号を含む命題

今まで挙げてきた例のように量称が単一で出現することもあるのだが、
「国語、数学、理科、社会、英語の任意のテストに対して、ある点数が存在して、その点数は平均点と一致する。」やら「ある実数\(x,y\)が存在して、\(x^2+y^2=1\) を満たす。」というように、実のところ量称が複数出現する場合がほとんどである。

複数といっても2、3個だけでなく、一つの命題に無限個の変数が出現する場合、量称記号も無限個出現する。

書き方

先の例のように、条件の中に複数の変数がある場合は量称記号も複数現れうる。
ここでは特に変数が2つの場合について述べる。
ちなみに、変数が3個になろうが4個になろうが、はたまた1000個になろうが、2個の場合を繰り返し適用させることで解決できる。

変数が\(x\)1つの場合は条件を\(p(x)\)で表したように、変数が\(x,y\)の2つの場合は条件を\(p(x,y)\)と書く。
無限個の場合は変数\(x_1,x_2,\dots\)に対して条件を\(p(x_1,x_2,\dots)\)と書く。

さて、変数(x,y)における条件(p(x,y))について考える。
\((\forall x0\ (\exists y)\ {\rm s.t.}\ p(x,y)\)という形式の命題を例に取る。
「国語、数学、理科、社会、英語の任意のテストに対して、ある点数が存在して、その点数は平均点と一致する。」においては、\(x\)が「国語、数学、理科、社会、英語のテスト」、\(y\)が「ある点数」に、\(p(x,y)\)が「その点数は平均点と一致する。」がそれぞれ対応する。
この命題を先の記号を使うと
「\( (\forall 国語、数学、理科、社会、英語のテスト)\ (\exists ある点数)\ {\rm s.t.}\ ある点数=平均点。\)」
となる。
同様に、数学の例を挙げると「任意の実数\(x\)に対して、ある\(0\)以上の実数\(y\)が存在して、\(y=x^2\)を満たす。」においては、
「\((\forall x)\ (\exists y:>0)\ {\rm s.t.}\ y=x^2\)」
となるわけである。
今までと同様に括弧と「s.t.」は省略されることもある。

これらの例は証明が可能であるが、証明しないような命題(決め事、約束事)にも用いられる。

例.(連続関数) 関数\(f\)が点\(a\)で連続であるとは、条件「任意の正数\(\epsilon\)に対して、ある正数\(\delta\)が存在して、\(|x-a|<\delta\)を満たす全ての\(x\)に対して、\(|f(x)-f(a)|<\epsilon\)が成り立つ。」ことと決める。

これを量称記号を用いて表すと、$$(\forall \epsilon>0)(\exists \delta>0)(\forall x:|x-a|<\delta)\ |f(x)-f(a)|<\epsilon$$となる。

別の書き方をすると、$$(\forall \epsilon>0)(\exists \delta>0)\ {\rm s.t.}\ (|x-a|<\delta\Rightarrow |f(x)-f(a)|<\epsilon)$$となる。

個人的には後者のほうが条件が明瞭と感じるため、後者を用いる事が多い。

ここで、「日本語での命題が与えられたときに、どうやって論理式に変換するの?」と思うかもしれない。
正直なところ、これは慣れである。
とはいえ、筆者がどのように考えているか、ということを補足として後述する。

補足:日本語から論理記号への変換するときの筆者の頭の中、および英語での理解

これは小節ということになっているのだが、実はこの小節がもしかすると一番大事かもしれない。
さらに、ちょいとくどくなってしまうが、ご了承いただきたい。
2例挙げる。

例1. 「国語、数学、理科、社会、英語の任意のテストに対して、ある点数が存在して、その点数は平均点と一致する。」という命題について

要は「どんなテストでも平均点って計算できるよ」という意味である。
これは「任意の\(x\)に対して、ある\(y\)が存在して、\(p(x,y)\)を満たす。」という型にはまっているのだが、
最初からこのように思いついたわけではない。(慣れると直ちに出てくるが。)
この主張は何を対象としているのか、ということを考えると、対象は五教科のテストである、とわかる。
さらに、この五教科のテストは特定の教科に対してだけでなく、さらに特定のテストに対してだけでなく、すべてのテストに対して言えるので、この主張の対象は「全ての五教科のテスト」ということになる。
補足しておくと、五教科、というのは抽象的なので、国語、数学、理科、社会、英語というように具体的に言い直す必要がある。
よって、型にはめると「国語、数学、理科、社会、英語の任意のテストに対して、…」という文言から始まるのだな、となる。
次に、「平均点が計算できるよね」という主張なのだが、これは五教科すべてのテストに対して、各教科のテストの点数に依存する形で平均点が計算できるのだな、となる。
ということは、各教科のテストの点数に対応して、平均点という点数が存在する、と言い換えることができるな、となる。
さらに、より噛み砕けば、「ある点数(数字)があって、その点数(数字)が平均点と一致している」と言い換えることができるな、となる。
ミソとして、「どんな五教科のテストに対しても、そのテストの点数に依存する数字(点数)があって、その数字が平均点と一致している。」と捉えることができる。
従って、最後に型にはめて「国語、数学、理科、社会、英語の任意のテストに対して、ある点数が存在して、その点数は平均点と一致する。」を導く。
ここまで導ければ後は簡単で、\( (\forall 国語、数学、理科、社会、英語のテスト)\ (\exists ある点数)\ {\rm s.t.}\ ある点数=平均点。\)となるわけである。
より論理式っぽく書くなら、\(x\)をテスト、\(y\)を点数という変数にして、\((\forall x:xは国語、数学、理科、社会、英語のテスト)\ (\exists y\in\mathbb{R}_{>0})\ s.t. y=平均点\)である。

例2. (アルキメデスの原理)

\(2\)つの正の実数\(a,b\)が与えられたとき、\(a\)を十分沢山足していけば、やがて\(b\)よりも大きくなる。
これは少々骨が折れるのだが、頑張って型にはめてみよう。
「任意の」やら「存在する」という文言があれば楽ちんなのだが、今回はそうもいかない。
まず、「正の実数\(a,b\)が与えられたとき」ということから対象は\(a,b\)なのだな、とわかる。
で、これは全ての正の実数についてなのか?特定の正の実数についてなのか?ということを考える。
仮に、特定の正の実数について述べる主張なのであれば、\(a,b\)に対する条件がまだあるはずなのだが、「正の実数である」ということしか述べていない。
ということは、\(a,b\)は、どんな正の実数でもよいのだな、となる。
よって、全ての2つの正の実数\(a,b\)が対象となる主張なのだな、となるため「任意の正の実数\(a,b\)に対して…」という形になるのだな、となる。
次に、「\(a\)を十分沢山足していけば、」ということは、\(a\)をいっぱい足すのだな、ということで、\(a+a+a+\dots\)というように足していけば、ということだな、となる。
で、これが「やがて\(b\)より大きくなる。」のだから\(a+a+a+\dots\)(何個かはわからないけど)\(>b\)ということになる。
ここで問題が生まれる。「何個?」である。
勿論、「何個か、なんて\(a\)と\(b\)に依存するだろ」となる。
というわけで、例を考えてみる。
\(a=2,b=7\)としてみると、\(2+2+2+2=8\)だからこの場合は\(2\)を\(4\)回以上足せば\(7\)よりも大きくなる。
\(a=7,b=2\)としてみると、すでに\(7>2\)だから足さなくて良い。
\(a=10^{-100},b=10^{1000}\)としてみると、\(10\)を\(10^{1100}+1\)回以上足せば\(10^{1000}\)よりも大きくなる。
ということは「何回足すのか?」という回数が存在する、と言い換えることができるな、となるので、回数に対応する新たな変数\(n\)を用意する。(勿論\(n\)でなくても良い。)
で、この回数\(n\)は\(a,b\)に依存する形で、つまり\(a,b\)に対して存在する値だな、となる。
よって、ある回数\(n\)が存在して、\(b<na\)となる、と言いかえることができるね、となる。
回数\(n\)は自然数であることも同時に分かる。
よって、「任意の正の実数\(a,b\)に対して、ある自然数\(n\)が存在して、\(b<na\)が成り立つ。」となる。
最後に正の実数の集合を表す記号\(\mathbb{R}_{>0}\)を導入する。
これを論理式の型にはめることで「\( (\forall a\in\mathbb{R}{>0})\ (\forall b\in\mathbb{R}_{>0})\ (\exists n\in\mathbb{N})\ {\rm s.t.}\ b<na\)」
を導く

量称記号を使うメリット

この例3のように変数と条件が増えることで主張が複雑化するため、主張を日本語で書くと分かりにくくなってしまうという欠点がある。
勿論、これは筆者の主観的な話であるし、日本語で書くべきでないというわけではない。

一方で量称記号を用いた場合を見てみると主張がシンプルにまとまっていると感じると思う。
実際、変数が何で条件が何かということがわかりやすいと思われる。
つまり、「何に対して、何を満たすような何が存在するのか」ということが量称記号を用いることで明瞭になると思われる。
加えて、書き起こす際も日本語の文章として書くよりも楽である。

筆者が個人的に思う量称記号を用いることの一番のメリットは「量称記号を使うことで日本語的な齟齬が生じなくなる」ということである。
これは論理式の読み方にも通ずる。
すなわち「量称記号を用いることで、ある主張を間違った意味で捉えられるという状況が起こらなくなる」というわけである。

読み方(日本語への直し方)

ここまで呼んでいただいた方は日本語から量称記号を含む命題への変換はおおよそイメージが湧いたと思われる。
勿論、日本語を量称記号に変換することも重要ではあるのだが、それよりも量称記号を日本語に直す機会の方が多い。
慣れてくると毎度毎度日本語に変換するということを意識せずとも、量称記号を読むことでそれに対応する日本語が瞬時に頭に出てくるようになる。(イメージでいうと、ある程度英語を習得するとリスニングで英語のまま理解できる、といった具合。)

ここでは、量称記号が2つの場合の全4パターンを説明する。
少々述べたとおり、日本語には色々な言い回しがあるので、変換の仕方も色々ある。
齟齬が起きないよう、筆者は次のように左から右へ機械的に翻訳して読むことを推奨する。
(実は、英語に直すというワンクッションを置くとわかりやすくなるときもある。それは後述)

  • \(\forall x\ \forall y\ p(x,y)\)
    任意の\(x\)と任意の\(y\)に対して、\(p(x,y)\)が成り立つ。
    任意の\(x,y\)に対して\(p(x,y)\)が成り立つ。
  • \(\forall x\ \exists y\ {\rm s.t.}\ p(x,y)\)
    任意の\(x\)に対して、ある\(y\)が存在して\(p(x,y)\)が成り立つ。(先述のテストの例はこれ。)
  • \(\exists x\ {\rm s.t.}\ \forall y\ p(x,y)\)
    ある\(x\)が存在して任意の\(y\)に対して\(p(x,y)\)が成り立つ。
  • \(\exists x\ \exists y\ {\rm s.t.}\ p(x,y)\)
    ある\(x\)とある\(y\)が存在して\(p(x,y)\)が成り立つ。
    ある\(x,y\)が存在して\(p(x,y)\)が成り立つ。

実のところ、「任意の」だけ、「存在する」だけが出現するパターンはさほど問題ではない。(これらは入れ替えても主張は変わらないから。後述)
それよりも「任意の」と「存在する」が混在するパターンの読み方のほうが問題である。
ここでは、「任意の」と「存在する」が混在するパターンの例を紹介する。

例4.

  • \((\forall x:xは国語、数学、理科、社会、英語のテスト)\ (\exists y\in\mathbb{R}_{>0})\ s.t. y=平均点\)
    日本語訳は「国語、数学、理科、社会、英語の任意のテストに対して、ある点数が存在して、その点数は平均点と一致する。」である。これは以前出したとおりである。
  • \((\forall a\in\mathbb{R}_{>0})\ (\forall b\in\mathbb{R}_{>0})\ (\exists n\in\mathbb{N})\ {\rm s.t.}\ b<na\)
    日本語訳は「任意の正の実数\(a,b\)に対して、ある自然数\(n\)が存在して、\(b<na\)が成り立つ。」
  • \((\exists x:xは点数)\ {\rm s.t.}\ (\forall y:テスト)\ x\leq yの点数\)
    これは、「どんなテストも\(0\)点を下るということはない。」という意味だが、これを型にはめると「ある点数\(x\)が存在して、任意のテスト\(y\)に対して、\(x<y\)の点数が成り立つ。」となる。
  • \((\exists x\in\mathbb{R})\ {\rm s.t.}\ (\forall y\in\mathbb{R}_{>0})\ y>x\)
    これは、「どんな正の実数よりも小さい実数がある。」という意味である。すぐ思いつく\(x\)の例として\(0\)がある。これを型にはめると、「ある実数\(x\)が存在して、任意の正の実数\(y\)に対して、\(y>x\)である。」

この小節の要点としては、左から右に順々に式をたどり、「\(\forall ○\)」があれば「任意の○に対して」、\(\exists □\)があれば「ある□が存在して」と翻訳するのが基本で、順番は決して入れ替えないことである。
なぜ入れ替えてはいけないのか、ということは次小節で述べる。

この機械的な方針は英語の文法によるものであることはお気づきであろうが、それ故この方針で直した日本語は不自然になりがちである。
そのため、日本語として自然な文章となるよう工夫したくなるかもしれない。
しかしながら、かえって曖昧な文となってしまったり、読みにくくなったり、題意の誤解を誘うことがある。

例えば、上記の例の3つ目「ある点数\(x\)が存在して、任意のテスト\(y\)に対して、\(x\leq y\)の点数が成り立つ。」を日本語として自然な形にすると、
「任意のテスト\(y\)に対して\(x<y\)の点数が成り立つような点数\(x\)が存在する。」
となる。(勿論、他の言い回しもあるのだが)
しかしながらこれは危険なのである。
なぜならば、この命題を量称記号を使って表そうとすると
「\((\forall y:テスト)\ (\exists x:xは点数)\ {\rm s.t.}\ x<yの点数\)とも読めてしまうからである。(むしろこっちで読みたくなる気がする)

前者は「どんなテストでも\(0\)点を下ることはない。」ということである一方、
後者は「どんなテストに対しても、そのテストの最低点が存在する」ということである。
このように題意が変わってしまう。

これを回避するために、先のように
「任意のテスト\(y\)に対して\(x<y\)の点数が成り立つような、点数\(x\)が存在する。」
というように読点を補うという方法もあるのだが、先の通りかえって読みにくい。
加えて、仮に読点を補ったとしても口頭では読点の位置は伝わりにくいであろう。

従って、上記のような題意の誤認を防ぐため、多少日本語として違和感があったとしても左から右へ機械的に読むことを推奨するのである。

「機械的に読め!」といっても日本語として違和感があるため、慣れが必要になってくる。
筆者の個人的な経験則として、以下の2つを列挙する。

  • 機械的に翻訳して読むことに慣れる方が、結局の所一番コストが低いと感じる。
  • 複雑な論理式は無理に日本語に翻訳しようとしない。どうしても日本語に翻訳する場合は、新たに言葉やら記号を導入し、それらを用いることで短い論理式に書き直した上で日本語に翻訳するのが良いと感じる。

英語に直すというワンクッションを置くパターン

論理式から日本語に直す際、一旦英語に直してみるとわかりやすくなる場合もある。
というのも、論理式の順序は英語の文法に準じているからである。

例えば、\((\exists x:xは点数)\ {\rm s.t.}\ (\forall y:テスト)\ x\leq yの点数\)
を論理式の順序通りに英訳してみると、
「There exists a score \(x\) such that for all exams \(y\) \(x\leq y\).」
となる。
従って、「ある点数\(x\)が存在して、任意のテスト\(y\)に対して、\(x\leq y\)の点数が成り立つ。」というように日本語訳できるわけである。

また「\((\forall a\in\mathbb{R}_{>0})\ (\forall b\in\mathbb{R}_{>0})\ (\exists n\in\mathbb{N})\ {\rm s.t.}\ b<na\)」を論理式の順序通りに英訳してみると
「For all \(a\in\mathbb{R}_{>0}){>0}\) and \(b\in\mathbb{R}{>0}\), there exists \(n\in\mathbb{N}\) such that \(b<na\).」
となる。
従って、「任意の正の実数\(a,b\)に対して、ある自然数\(n\)が存在して、\(b<na\)が成り立つ。」というように日本語訳できる。

量称記号の順序

前小節で少々述べたとおり、量称記号の順序が変わると題意が変わってしまう。
すなわち命題の主張したいことそのものが変わってしまう。

しかしながら、題意が変わるのは\(\forall\)と\(\exists\)の順序を入れ替えたときのみであり、\(\forall\)同士、\(\exists\)同士は順序を交換しても題意は変わらない。
従って、次が成り立つのである。

  1. \((\forall x)\ (\forall y)\ p(x,y)\equiv(\forall y)\ (\forall x)\ p(x,y)\).
  2. \((\exists x)\ (\exists y)\ {\rm s.t.}\ p(x,y)\equiv(\exists y)\ (\exists x)\ {\rm s.t.}\ p(x,y)\)

重要なのは、\(\forall\)同士、\(\exists\)同士は順序を入れ替えても主張の内容は変わらないが、\(\forall\)と\(\exists\)の順序を入れ替えると主張の内容、意味が変わるということである。

例6(アルキメデス(アルキメデス)の原理).

\((\forall a\in\mathbb{R}_{>0})\ (\forall b\in\mathbb{R}_{>0})\ (\exists n\in\mathbb{N})\ {\rm s.t.}\ b<na\)

これは真なる命題だが、量称記号を入れ替えた例として

$$(\forall a\in\mathbb{R}_{>0})\ (\exists n\in\mathbb{N})\ {\rm s.t.}\ (\forall b\in\mathbb{R}_{>0})\ b<na$$

は偽である。
というのも、これは「任意の正の実数\(a\)に対して、ある自然数\(n\)が存在して、任意の正の実数\(b\)に対して\(b<na\)が成り立つ。」という主張であるが、\(a=100,n=1000\)としたとき、\(b=1000000\)のときは成り立たないからである。

否定命題

以下が、任意の条件(述語)\(p(x),q(x),p(x,y)\)に対して成り立つ。

  1. \(\lnot (\forall x\ p(x))\equiv\exists x\ {\rm s.t.}\ (\lnot p(x))\)
  2. \( \lnot(\exists x\ {\rm s.t.}\ p(x))\equiv(\forall x)(\lnot p(x)) \)

1.は「任意の\(x\)に対して\(p(x)\)が成り立つ。」の否定は「\(p(x)\)が成り立たないような\(x\)が存在する。」ということである。

例えば、「国語、数学、理科、社会、英語の任意のテストに対して、その点数は60点以上である。」という命題を否定してみると、「少なくとも1教科は60点未満である」ということだから、「あるテストが存在して、その点数は60点以上でない(60点未満である)。」ということである。
2.についても同様である。

付帯条件付きの量称に対しても同様のことが成り立つ。
「\(p\Rightarrow q\Leftrightarrow (\lnot p)\lor q \)」を思い出せば、上記を容易に変形できる。

今回は量称記号と呼ばれる「\(\forall\)」と「\(\exists\)」、及びそれらの意味を解説した。
「任意の」と「存在する」の違いは、前者が「どんな〇〇に対しても成り立つ。」という意味で使われるのに対し、後者は「△△を満たすようなものが少なくとも1つは取ってこれる。」という意味で使われる。
さらに、これら量称記号が一つの論理式に複数出現した場合は、順序が重要である。
異なる量称記号の順序を入れ替えると、題意が変わってしまうからである。
また、論理式を日本語に直す場合、一旦英語に直してからその後日本語に直す、というワンクッションを置くことで正確に題意を捉えることができる。

これで論理の話は一段落である。
次回は集合の基礎を解説する。

次回を読めば、もう数学の文章は読むための準備はおおよそ整ったと言えるので、ぜひ読んでいただきたい。

質問、コメントなどお待ちしております!

この記事の内容をより詳しく知りたい方は以下のリンクの本を参照してください!
ちなみに、「集合・写像・論理ー数学の基本を学ぶ」の方が入門者にはオススメです!

コメントをする

タイトルとURLをコピーしました