このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

含意命題と状況設定

数学の命題記述で、全称限量が省略される。ちゃんと書くと:

  • ∀a, b∈R.( (a + b)2 = a2 + 2ab + b2 )
  • ∀x∈R.( x2 ≧ 0 )
  • ∀x∈Z.( x ≧ 0 ∨ -x ≧ 0 )

この限量子省略が曖昧性に繋がり、コミュニケーションに失敗することがある。変数の変域が明示されてないと解釈が食い違うことがあるし。単なる等式だけだと、「例外なくすべて」が強調されない。

定理の命題の多くは含意を含む。

  • ∀a, b, c∈N.(a≦b ∧ b≦c ⇒ a≦c)
  • ∀a∈R.(a≧0 ⇒ ∃x∈R.(x2 = a))
  • ∀x, y, z∈Z.(yはxの倍数 ∧ zはyの倍数 ⇒ zはxの倍数)
  • ∀a, b, c∈R.(b2 - 4ac ≧ 0 ⇒ ∃x∈R.(ax2 + bx + c = 0))
  • ∀a, b∈Z.(aとbが互いに素 ⇒ ∃x, y∈Z.(ax + by = 1))
  • 三角形ABCにおいて、角Cが直角 ⇒ a2 + b2 = c2

最後の例では、三角形全体の集合を考えないと限量ができない。頂点A, B, Cや三辺a, b, cは、三角形全体の集合の上の関数となる。難しいので、あまり詮索しないが、強いて言えば、集合Triangle上に、<A, B, C, a, b, c>:Triangle→R6があって、「Aは角Aの角度、aは角Aの対辺の長さ」のような約束がある。頂点、角、角度は、概念的には区別してるかもしれないが、記号的には区別してない。

命題が含意命題だったり、定理が前提を含むと、

  • Γ |- ∀x∈X.(P⇒Q)

の形になり、ΓやPを考慮した解釈が必要。Γは前提、Pは前件。

あああー、hypothesis, premise, assumption, prerequisite, antecedent(後件はconsequent)とかナントカ、ウギギギイ。

それはともかく(落ち着いて)、含意命題の仮定(前件)の解釈が難しい。

  • 事実と仮定の区別ができない。

P⇒Q の真偽判定のときに、Pだけ独立で取り出して真偽判定しがち。

  • 宝くじで一千万円当たったら、フェラーリを買う。
  • 明日晴れたら、運動会を行う。
  • kが-1の平方根なら、kは1の四乗根である。
  • 最大の整数が存在するなら、x + 1 = x となる整数が存在する。
  • どんな整数xでも x < x + 1 なら、最大の整数は存在しない。

仮定を含む命題の状況設定はホントに難しい。

状況設定例 1

比喩と擬人化を使う。

鈴木くんは、一引数関数suzを作った。関数suzは次の仕様を満たす。

  • 0でない任意の実数aに対して、a*suz(a) = 1 が成立する。

関数suzが上記の仕様を満たすのは確実で、信用していいとする(仮定)。

山田くんは、ニ引数関数yamを作った。関数yamは次の仕様を満たす。

  • 0でない任意の実数xと、まったく任意の実数yに対して、yam(x, y)*x = y が成立する。

関数yamが上記の仕様を満たすのは確実で、信用していいとする(仮定)。

0でない任意の実数aとまったく任意の実数bに対して、b*suz(a) と yam(a, b) を呼び出して計測したところ、yam(a, b) が遥かに速いことが分かった(単なるオハナシ)。そこで、b*suz(a) と書いてある場所を、すべて yam(a, b) に置換しようと考えた(単なるオハナシ)。

しかし、b*suz(a) を yam(a, b) に全置換して問題は起きないのだろうか?(問題提起)

状況設定例 2

鈴木くんは、一引数関数suzを作った。関数suzは次の仕様を満たす。

  • 負でない任意の実数aに対して、suz(a)*suz(a) = a が成立する。

関数suzが上記の仕様を満たすのは確実で、信用していいとする(仮定)。

山田くんは、ニ引数関数yamを作った。関数yamは次の仕様を満たす。

  • 負でない任意の実数xと、負でない任意の実数yに対して、yam(x, y)*yam(x, y) = x*y が成立する。

関数yamが上記の仕様を満たすのは確実で、信用していいとする(仮定)。

負でない任意の実数aと負でない任意の実数bに対して、suz(a)*suz(b) と yam(a, b) を呼び出して計測したところ、yam(a, b) が遥かに速いことが分かった(単なるオハナシ)。そこで、suz(a)*suz(b) と書いてある場所を、すべて yam(a, b) に置換しようと考えた(単なるオハナシ)。

しかし、suz(a)*suz(b) を yam(a, b) に全置換して問題は起きないのだろうか?(問題提起)

状況設定例 3

鈴木くんは、四乗すると1になる数sを発見したという。数sは次の仕様を満たす。

  • s4 = 1

とりあえず、鈴木くんの言い分を信じて、上記の仕様を満たすsがあると仮定してみる(仮定)。

山田くんは、四乗すると-1になる数yを発見したという。数yは次の仕様を満たす。

  • y2 = -1

とりあえず、山田くんの言い分を信じて、上記の仕様を満たすyがあると仮定してみる(仮定)。

さらに山田くんは、次の主張をしている。

  • 鈴木くんのsは不要で、自分のyさえあればよい。なぜなら、yの代わりにsを使えるから。

上記の山田くんの主張は正しいだろうか?(問題提起)

論理的分析

妥当性〈varidity〉全般(広義の妥当性、正当性、真)を表すために '|-'を使うことにする。分類して、

  • |-d 定義により真である、真とみなす。
  • |-a 公理だから真である、真とみなす。
  • |-p 証明〈proof〉があるから真である、真とみなす。
  • |-m モデル〈model〉論的に真(事実)であるので、真とみなす。
  • |-* 何らかの意味で真である、真とみなす。

含意命題 P⇒Q の真偽判定の主たる方法は、

  • P |-p Q

になる(演繹定理)。これは、|-* P を含んでいない。しかし、

  1. |-* P
  2. P |-* Q

の2つを確認しないとダメだと考えることが多いのだろう。つまり

  • P⇒Q ≡ P∧P⊃Q

ここで、P⊃Qは、Pの真偽に無関係な含意(本来の含意)。さらに言い方を変えると:

  • [誤解された含意] P⇒Q とは、Pであることが事実で、事実であるPの状況下ではQも必ず成り立つ。

こうなると、P⇒Q は、Qと同値になってしまうのだが、そういう誤解をしてる人は多い。この誤解を解くのは非常に大変だと実感している。どうしたら、いいものか?

  • P |-m Q

であるとき、M |= P であるようなモデルMに対して、M |= Q のことで、これが一番分かりやすい「ならば」のような気がする。この「ならば」を

  • P |⇒ Q

とすると、次が一致することを納得すればよい。

  1. P |⇒ Q
  2. P |-p Q
  3. |-p P⊃Q

ここで、問題になるのは、Pが真かどうかよりは、Pのモデルが存在しない事態だろう。

  • Pを満たすモデルMがないときの、P|⇒Q とは?

結局は、命題論理の A⊃B の定義になるのかも知れない。

P |⇒ Q の解釈が、次のようなことなんだろう。

  1. Pを満たすモデルが存在する。
  2. Pを満たすモデルは、ことごとくQも満たす。

もちろん、1番は不要! だが、不要を納得させるにはどうしたいいのか?? 難しい。

「モデルの全体」という外延を意識してもらうか。それが一番いいのかな。命題Pの外延を[P]として、P |⇒ Q の意味を、

  • [P]⊆[Q]

とする。これは、Tを(そのとき考えている)全体集合として、

  • [P]c∪[Q] = T

メタな立場からは、

  • [P]⊆[Q] ⇔ ([P]c∪[Q] = T)

そして、

  • (P |⇒ Q) ⇔ [P]⊆[Q]
  • (|⇒ P⊃Q) ⇔ ([P]c∪[Q] = T)

[追記]「P⇒Q は真」だという主張に、「Pが真だ」はまったく含まれてない。ということがたぶん認めがたいのだと思う。

  • もし僕(本人は男)が女だったら、結婚式にはウェディングドレスを着たい。
  • もし ∀x∈N(x ≦ a) だったら、∀x∈N(-a ≦ x)

二番目では、変数aをどこでどう導入したかが問題だが。[/追記]