否定

出典: フリー百科事典『ウィキペディア(Wikipedia)』

数理論理学において否定(ひてい)とは、命題を反転する論理演算である。否定は英語で Not であるが、Invert とも言われ論理演算ではインバージョン(Inversion)、論理回路では Not 回路やインバータ回路(Inverter)とも呼ばれ入力に対して出力が反転する。

命題 P に対する否定を ¬P, P, !P などと書いて、「P でない」とか「P の否定」、「P 以外の場合」などと読む。

ベン図による論理否定(NOT)

目次

[編集]

  • 「私の身長は 160 cm 以上である」

の命題の否定は、

  • 「私の身長は 160 cm 未満である」

である。

[編集] 性質

他の論理演算と違い、対象となる命題が一つという事から、単項演算であることがわかる。

[編集] 真理値表

命題 P ¬P

[編集] プログラミング言語

C言語などでは、「!」 で表され、

if(! z)
 ・・・;

のように使用される。

VBScriptでは、「Not」で表され、

z=Not x
if z Then
 ・・・
End If

のように使用される。

Perlでは、「!」や「not」で表され、

if(! $a)
 ・・・;
if(not $b)
 ・・・;

のように使用される。

[編集] 全否定と部分否定

ある対象に関する命題で、対象すべてに関する否定を全否定、一部に関する否定を部分否定という。これらは、述語論理において、次のように表現される。

全否定
x ¬ A(x) 「すべての x について、「A(x) でない」」あるいは「絶対に A(x) ではない」
すべての x に対して、命題 A(x) の否定を主張する命題。
部分否定
¬ ∀ x A(x) 「「すべての x について A(x)」というわけではない」あるいは「必ずしも A(x) ではない」
「すべての x に対して命題 A(x) が真である」という命題を否定する命題。

これらは、述語論理に関するド・モルガンの法則によって、次のように書き換えることができる。

全否定
x ¬ A(x) = ¬ ∃ x A(x)
部分否定
¬ ∀ x A(x) = ∃ x ¬ A(x)

つまり、全否定「すべての x について、「P(x) でない」」は、「「ある x について P(x)」ということはない」と言い換えることができ、部分否定「「すべての x について P(x)」というわけではない」は、「ある x については「P(x) ではない」」と言い換えることができる。

全否定命題の否定は部分肯定、部分否定命題の否定は全肯定である。

[編集] その他の論理的否定

否定をさらに他の観念と組み合わせて考えることもできる。可能性「~でありうる」、必然性「~にちがいない」などを論理学の枠組として扱うのが様相論理学であり、ここではそれらに対する否定が基本的法則(公理)として必要とされる。

例えば意味的には(言語形式上とは異なる)

  • 「~しなければならない(命令)」の否定は「~しなくてよい(免除)」
  • 「~であるにちがいない」の否定は「~でないかもしれない」
  • 「~してよい(許可)」の否定は「~してはならない(禁止)」
  • 「~であるかもしれない」の否定は「~でないにちがいない」

と考えられる。様相論理は一般には古典論理に必然性演算子と可能性演算子を導入して形式化され、「可能性演算子つきの命題」は、「命題の否定に必然性演算子をつけた命題の否定」として定義される。例えば「「彼がそれをしていないに違いない」というわけではない」は、「彼がそれをした可能性がある」と同値である。

[編集] 自然言語における否定

多くの言語には、動詞形容詞を否定する一般的な方法がある。例えば英語では

  • I have a pen. → I do not have a pen.
  • All crows are black. → Not all crows are black.(数量詞 all の否定、意味としては部分否定になる)

日本語「持つ」-「持たない」「黒い」-「黒くない」のように、動詞や形容詞の肯定形に一般的な否定詞・否定辞を付加して否定形とすることができる。言語によっては必ずしもこのように分析的ではなく、否定が他の文法範疇との組み合わせで表現されるようなこともあるので、一般には文法的なの一種として「否定法」とされる(日本語でも、形式的には活用の一環とみて否定法を考えてもよい)。また否定形が肯定形と全く異なる形態をしている場合もある。例えば日本語「ある」-「ない」など(文語体や関西弁は「あらず」、「あらへん」という否定形を使う)。

英語などでは、I have no money. のように動詞でなく名詞を否定する構文(全体としては否定文)もよく用いられ、一般の語やも not を使って否定できる。しかし日本語では述語を否定するのが原則であり、「ない袖を振る」のように修飾語を否定しても否定文にはならない(「袖を振らない」の意味にはならない)。

日本語では動詞に対しては未然形助動詞「ない」・「ぬ」が接続した形で否定する。「ない」・「ぬ」は独立性のない接尾辞と考えるのが適切である(助詞「は」が介入した場合「*書か-は-ない」でなく「書き-は-しない」と言う)。一方形容詞形容動詞の否定には「ない」を使うが、これは学校文法では助動詞でなく補助形容詞と呼び、「赤く-は-ない」というように独立性があり、またこの「ない」には本来の意味が残っている(「ない」を肯定形の「ある」に入れ替え「赤くはある」とすることもできる)。

このほか、動詞や形容詞を単独に否定することができず「…であるということはない」のように文(節)を否定する言語もある。

言語における否定で注意すべき点として、否定を他の法観念(可能・必然・許可・義務など、話者の判断が介入する)と組み合わせた場合には、意味的な否定(論理的否定)と形式的な否定が一致しない場合もある。意味的な否定は上記の様相論理学における否定として扱うことができ、例えば「…してよい」の意味的否定は「…してはならない」、「…しなければならない」の意味的否定は「…しなくてよい」である。しかし英語で may not は「…しなくてよい」または「…でないかもしれない」、must not は「…してはならない」または「…はありえない」を表す。つまりこれらでは、not によって、助動詞(あるいは文自体)を否定するのではなく、動詞不定詞を否定するのだと考えるべきである。それに対し cannot は can の否定(「…できない」または「…はありえない」)と考えてよく、「ありえない」の意味では may not ではなく must not とほぼ同じ意味になる。

上記のような明らかな否定語以外にも、意味的に否定に近い語・表現もある。英語でいえば、"only~"(文脈による)、"few"、"scarcely"などがある。これらに相当する日本語表現では「~しかない」「ほとんど~ない」「滅多に~ない」と否定を明示することが多い。

[編集] 関連項目