2005年 4月 1日 作成 ア・プリオリ と ア・ポステリオリ >> 目次 (作成日順)
2009年 5月 1日 補遺  


 
 ア・プリオリ (a priori) の語根は、「先天的 (生得的)」 ということですが、哲学では、以下の 2つの意味として、使われることが多いようです。

 (1) 経験に対して、論理的に先立つ認識・概念 (カント の用法)
 (2) 経験的検証のいらない演繹的命題

 
 ア・プリオリ の反対語として、ア・ポステリオリ (a posteriori) という用語を使います。ア・ポステリオリ は、「後天的」 という意味が語根であって、「生得的でない、経験のなかで得られる」 とか 「経験的検証のなかで成立する認識・概念」 という意味です。したがって、ア・プリオリ や ア・ポステリオリ は、「経験」 という概念を前提にしています。しかし、この 「経験」 という概念は、検討すればするほど、むずかしい (込み入った) 概念です──したがって、今回は、とりあえず、「経験」 という概念を検討しないことにします。

 ア・プリオリ という用語そのものも、いくつかの意見が出ていて、たとえば、フッサール の定義は、カント の定義と違っています。フッサール は、(現象主義を提示した人物ですから、) ア・プリオリ を 「(認識作用とは無関係に、) 直接的直観のなかで与えられる理念的命題」 としています。さきほど、「経験」 という概念は、むずかしい概念である、と言いましたが、現象主義派は、「ア・プリオリ な (すなわち、普遍的な) 命題」 の源泉を指示するために、現象学的 「経験」 を定義しています。

 哲学的な観点に立って、「経験」 という概念を、精確に検討するためには、カント や フッサール のほかにも、ヒューム を対象にしなければならない。そういう検討は、専門家に お任せするとして、小生は、ア・プリオリ を、「トートロジー」 (および、「恒偽」) として、割り切って考えています──前回の 「ベーシックス」 を参照してください。
 つまり、小生は、ア・プリオリ 概念は分析命題と同値である、と考えています。したがって、ア・プリオリ に対しては、「事実」 との対比などいらないし、ア・プリオリ 概念は、「そういう規約なのだ」 というふうに納得さえすればよい、と考えています。そうすれば、ア・ポステリオリ は、(分析命題に対して、) 総合命題として、「真」 か 「偽」 を検証しなければならない命題である、と考えればよいでしょう。

 
 さて、どうして、以上の論点を述べたのか、と言えば、以下の主張 (言明) を考えてみてほしいからです。

 「1つの物が、同時に、赤色であり、かつ、緑色である、ということはありえない (It cannot be)。」

 
 たとえば、「この生地 (布) は、赤い」 という言明は、ア・ポステリオリ (総合命題) でしょう。ア・ポステリオリ (総合命題) は、おそらく──「いつも」 というふうに断言できるほど、小生は自信がないのですが──、「事態 (情報) を伝達する」 ために使われるのでしょうね。それに対して、ア・プリオリ (分析命題) は、なんら、「事態 (情報) を伝達する」 のではなくて、証明とか計算のなかで使われる技術的手段でしょうね。たとえば、1つの生地を、小生が指さして、「この生地は、赤色であり、かつ、緑色である、ということはないですね」 という言いかたを小生がすれば、それを聞いた人は、小生の言っていることを怪訝に思うでしょう (笑)。つまり、「この生地は、赤い」 と言えば、ほかの色を、同時に、排除している、ということです。それが、色彩に関して、我々が使う 「文法規約」 ということです。

 顧客 (個人) が、「男」 であるか 「女」 であるか、という点は、ア・ポステリオリ に知り得るのですが、「性別」 の意味として、「法人 (企業)」 はない、ということを、我々は、ア・プリオリ に知っています。また、1つの 「品目単価」 が、10万円であり、かつ、同時に、20万円という 「2つの」 意味を指示することはありえないことも、ア・プリオリ に知っています。それらの値段は、たぶん、「値引き」 および 「正札」 として、べつべつの意味であることを、ア・ポステリオリ に知ることができるでしょう。

 ア・プリオリ は、証明のなかで使われる技術的手段だと、さきほど、言いましたが、1つの構造は、いくつかの 「前提 (定義された 「意味」)」 と 「導出規則 (生成規則)」 を使って作られるとするならば、当然ながら、(構造のなかの 「矛盾」 を回避するために、) 「前提」 のなかで、ア・プリオリ を用います。事業過程のなかで起こる言語外的事実を対象にして、「『意義』 を記述すること (表現関係)」 を 「意味論」 であると取り違えていたり、たとえ、(「意義」ではなくて、) 「意味」 を検討しても、ア・プリオリ な 「文法規約」 を無視して作られた 「構造」 というのは、はたして、「モデル」 と云うに値するのかどうか、、、。

 ちなみに、ア・ポステリオリ (総合命題) が、「真」 あるいは 「偽」 を問うのであれば、(2値論理のなで、) 「null」 を認めてはいけないことは、すぐに、理解できるでしょう。あるいは、もし、「null」 を認めて、3値論理を導入すれば、(プログラム の) アルゴリズム が、(3値の 「真理値表」 を前提にして、) 2値論理とは違う記述になることも理解できるでしょう。「null」 を使っていながら、2値論理を前提にして、アルゴリズム を作るから、出力される情報が 「でたらめ」 になるということを、プログラマ は理解しているのでしょうか、、、。3値論理の 「真理値表」 では、連言 (AND 関係) のなかで、「true」 かつ 「null」 は 「null」 ですが、「false」 かつ 「null」 は 「false」 になり、選言 (or 関係) では、連言と逆になって、「true」 または 「null」 は 「true」 ですが、「false」 または 「null」 は 「null」 として、論理的に扱われます。なお、「null」 の論理的否定は、「null」 です。

 「意味論」 が、指示関係のなかで、ア・ポステリオリ に、「真」 あるいは 「偽」 を扱うのであれば、(「意味論」 そのものは、「メタ」 ですから、) 「メタ」 のなかで──さらに、「メタ」 の 「真」 概念を扱う 「メタ・メタ」 のなかで──、「null」 を認める、ということが──、2値論理・3値論理を前提にすれば、いかに、あやういか、という点を考えていただきたい。



[ 補遺 ] (2009年 5月 1日)

 哲学史上、ア・プリオリ と ア・ポステリオリ に関して、いくつかの 「説」 が述べられてきたのでしょうが、システム・エンジニア である私は、それらの概念を モデル の観点に立って 「恒真・充足・恒偽」 に対応して考えていて、ア・プリオリ を 「恒真 (あるいは、恒偽)」 として、ア・ポステリオリ を 「充足」 として考えています。もっと単純に言えば、ア・プリオリ を 「分析的・矛盾的な命題」 として、ア・ポステリオリ を 「総合的な命題」 とみなしています。

 そういう立場 (「恒真・充足・恒偽」 の観点) で 「変項の値」 を観れば、「充足」 されていない状態──すなわち、「null」 のこと──には、以下の 2つが対応することになるでしょう。

 (1) undefined
 (2) unknown

 undefined というのは、(全域関数ではなくて、) 部分関数の状態です。したがって、値域は、そもそも、「存在しない」。いっぽう、unknown というのは、値域は存在するのだけれど、値が 「不明 (未知数)」 である状態です。

 「null」 は、そういう状態 (undefined および unknown) を指示するのであって、値ではないので、式のなかで 他の変項と比較ができない。もし、null を他の変項と比較するのであれば、null の多義 (undefined および unknown という ふたつの含意) を それぞれ扱うようにしなければならない。すなわち、「真」 および 「偽」 のほかに、unapplicable な対象 (undefined) と applicable な対象 (unknown) を考慮して、4値 ロジック を使わなければならない──コッド 関係 モデル は、全域関数の関数従属性を前提にしているので、もし、部分関数が生じるのであれば、4値 ロジック を使うことになります。

 RDBMS は、4値 ロジック を導入していない。したがって、「null」 の扱いには注意しなければならない──すなわち、もし、3値 ロジック を前提にして、プログラム を作成するのであれば、(本 エッセー で述べたように、) ¬null の扱いに注意しなければならない。SQL は、バージョンアップ のなかで、IF 句を導入しました。ということは、「p → q」 (IF p, THEN q) において、p のなかに 「p = null」 を代入して──SQL 構文で言えば、「not in」 や 「not exist」 を使って── null の存在する カラム を走査すれば、「想定外の」 結果が生じます。というのは、「p → q」 は、ブール 代数では、「¬p ∨ q」 として翻訳され、3値 ロジック において、p が null であれば、「¬null ∨ q」 と問うたはずが 「null ∨ q」 と翻訳されて、null も ¬null も同値として扱われます。したがって、3値 ロジック では、構文論上、null を比較の対象にしないというのが鉄則です。そして、意味論上でも、null は 「真」 を問えないので──「恒真」 でもなければ、「恒偽」 でもなければ、「充足」 もしないので──、モデル の構成上、除去するというのが鉄則です。
 もし、全域関数を使って、いくつかの項において null が起こることがわかっているのであれば、4値 ロジック を前提にすべきでしょう。ただ、4値 ロジック が、はたして、ふだんの判断のなかで使いやすいかどうかは、ひとつの争点になるでしょう。私 (佐藤正美) 自身は、「真」 「偽」 を問いやすい古典的な 2値 ロジック を前提にして、モデル のなかで null を除去することにしています。





  << もどる HOME すすむ >>
  ベーシックス