否定

否定
NOT
否定のベン図
定義¬×{\displaystyle \lnot {x}}
真理値表01{\displaystyle (01)}
論理ゲート
正規形
選言的¬×{\displaystyle \lnot {x}}
連言的¬×{\displaystyle \lnot {x}}
ジェガルキン多項式1×{\displaystyle 1\oplus x}
ポスト格子
0保存いいえ
1保存いいえ
単調いいえ
アフィンはい
自己双対はい

論理学において、否定(論理否定または論理補語とも呼ばれる)とは、命題を別の命題「not 」に変換する演算であり、、[ 1 ]または[ 2 ]と表記される。これは、 が偽の場合には真、 が真の場合には偽であると直感的に解釈される。[ 3 ] [ 4 ]例えば、が「犬は走る」ならば、「not 」は「犬は走らない」となる。否定の被演算子は、否定被演算子または否定項と呼ばれる。[ 5 ]P{\displaystyle P}P{\displaystyle P}¬P{\displaystyle \neg P}P{\displaystyle {\mathord {\sim }}P}P{\displaystyle P^{\prime }}P¯{\displaystyle {\overline {P}}}P{\displaystyle P}P{\displaystyle P}P{\displaystyle P}P{\displaystyle P}

否定は単項論理接続詞である。さらに、命題だけでなく、概念真理値、あるいはより一般的には意味値にも適用できる。古典論理では、否定は通常、真をに(あるいはその逆)する真理関数と同一視される。直観主義論理では、ブラウワー=ハイティング=コルモゴロフ解釈によれば、命題の否定とは、その証明が反証となる命題のことである。 P{\displaystyle P}P{\displaystyle P}

定義

古典的な否定は、一つの論理値(通常は命題の値)に対する演算であり、そのオペランドが偽の場合にはを、真の場合にはを生成します。つまり、文が真であれば、(「ノットP」と発音します)は偽になります。逆に、文が 真であれば、(「ノットP」と発音します)は偽になります。 P{\displaystyle P}¬P{\displaystyle \neg P}¬P{\displaystyle \neg P}P{\displaystyle P}

の真理値表は次のとおりです。 ¬P{\displaystyle \neg P}

P{\displaystyle P}¬P{\displaystyle \neg P}

否定は他の論理演算を用いて定義することができます。例えば、 は(は論理的帰結、は絶対的な偽)と定義できます。逆に、任意の命題Q(は論理積)についてを と定義することもできます。ここでの考え方は、あらゆる矛盾は偽であるというものです。これらの考え方は古典論理と直観主義論理の両方で有効ですが、矛盾が必ずしも偽とは限らない矛盾論理では有効ではありません。さらに例として、否定はNANDを用いて定義することも、NORを用いて定義することもできます。 ¬P{\displaystyle \neg P}P{\displaystyle P\rightarrow \bot }{\displaystyle \rightarrow }{\displaystyle \bot }{\displaystyle \bot }Q¬Q{\displaystyle Q\land \neg Q}{\displaystyle \land }

代数的には、古典的否定はブール代数における補集合に対応し、直観主義的否定はハイティング代数における擬似補集合に対応する。これらの代数は古典論理と直観主義論理に意味論を提供する。

表記

命題pの否定は、議論の文脈や応用分野によって異なる方法で表記されます。次の表は、これらのバリエーションのいくつかを示しています

表記 プレーンテキスト 発声
¬p{\displaystyle \neg p}¬p7p [ 6 ]pではない
p{\displaystyle {\mathord {\sim }}p}~ppではない
p{\displaystyle -p}-ppではない
Np{\displaystyle Np}En p
p{\displaystyle p'}p'
  • pプライム、
  • p補数
p¯{\displaystyle {\overline {p}}}p
  • pバー
  • バーp
!p{\displaystyle !p}!p
  • バンp
  • pではない

表記はポーランド語表記です。 Np{\displaystyle Np}

集合論では、は「 の集合に含まれない」ことを示すためにも使用されます。は、 AのメンバーではないUのすべてのメンバーの集合です。 {\displaystyle \setminus }UA{\displaystyle U\setminus A}

どのように表記または記号化されるかに関係なく、否定は「 Pではない」、「Pではない」、または通常はもっと簡単に「Pではない」と読むことができます。 ¬P{\displaystyle \neg P}

優先順位

必要な括弧の数を減らす方法として、優先順位規則を導入することができます。¬は∧よりも、∧は∨よりも、∨は→よりも優先順位が高くなります。例えば、はの略ですPQ¬RS{\displaystyle P\vee Q\wedge {\neg R}\rightarrow S}(P(Q(¬R)))S.{\displaystyle (P\vee (Q\wedge (\neg R)))\rightarrow S.}

以下は論理演算子のよく使われる優先順位を示した表です。[ 7 ]

演算子優先順位
¬{\displaystyle \neg }1
{\displaystyle \land }2
{\displaystyle \lor }3
{\displaystyle \to }4
{\displaystyle \leftrightarrow }5

特性

二重否定

古典論理体系において、二重否定、すなわち命題の否定の否定は、論理的に と同値である。記号的に表現すると、となる。直観主義論理においては、命題は二重否定を含意するが、その逆は成り立たない。これが古典否定と直観主義否定の重要な違いの一つである。代数的には、古典否定は周期2の反転と呼ばれる。 P{\displaystyle P}P{\displaystyle P}¬¬PP{\displaystyle \neg \neg P\equiv P}

しかし、直観主義論理では、より弱い同値性は成立します。これは、直観主義論理では、はの省略形に過ぎず 、 も成り立つためです。この最後の含意を三重否定と組み合わせると、が成り立ちます。 ¬¬¬P¬P{\displaystyle \neg \neg \neg P\equiv \neg P}¬P{\displaystyle \neg P}P{\displaystyle P\rightarrow \bot }P¬¬P{\displaystyle P\rightarrow \neg \neg P}¬¬P{\displaystyle \neg \neg P\rightarrow \bot }P{\displaystyle P\rightarrow \bot }

その結果、命題文の場合、その二重否定が直観的に証明可能であるならば、その文は古典的に証明可能である。この結果はグリベンコの定理として知られている。

分配法則

ド・モルガンの法則は、 否定を論理和論理積に分配する方法を提供します

¬(PQ)(¬P¬Q){\displaystyle \neg (P\lor Q)\equiv (\neg P\land \neg Q)}、そして
¬(PQ)(¬P¬Q){\displaystyle \neg (P\land Q)\equiv (\neg P\lor \neg Q)}

線形性

を論理排他的論理和演算とします。ブール代数において、線形関数とは次のような関数です {\displaystyle \oplus }

が存在する場合、 すべての に対して が成り立ちます。 a0,a1,,an{0,1}{\displaystyle a_{0},a_{1},\dots ,a_{n}\in \{0,1\}}f(b1,b2,,bn)=a0(a1b1)(anbn){\displaystyle f(b_{1},b_{2},\dots ,b_{n})=a_{0}\oplus (a_{1}\land b_{1})\oplus \dots \oplus (a_{n}\land b_{n})}b1,b2,,bn{0,1}{\displaystyle b_{1},b_{2},\dots ,b_{n}\in \{0,1\}}

これを別の言い方で表現すると、各変数は常に演算の真理値に変化をもたらすか、あるいは全く変化をもたらさないかのどちらかです。否定は線形論理演算子です。

自己双対

ブール代数において、自己双対関数とは次のような関数です

f(a1,,an)=¬f(¬a1,,¬an){\displaystyle f(a_{1},\dots ,a_{n})=\neg f(\neg a_{1},\dots ,\neg a_{n})}すべての について 。否定は自己双対論理演算子です。 a1,,an{0,1}{\displaystyle a_{1},\dots ,a_{n}\in \{0,1\}}

量化子の否定

一階述語論理には2つの量化子があります。1つは全称量化子(「すべてに対して」という意味)で、もう1つは存在量化子(「存在する」という意味)です。一方の量化子の否定は、もう一方の量化子(および)です。例えば、述語Pが「xは死ぬ」であり、xの定義域がすべての人間の集合である場合、は「すべての人間の中で人xは死ぬ」または「すべての人間は死ぬ」という意味になります。その否定はであり、「すべての人間の中で死なない人xが存在する」または「永遠に生きる人が存在する」という 意味になります{\displaystyle \forall }{\displaystyle \exists }¬xP(x)x¬P(x){\displaystyle \neg \forall xP(x)\equiv \exists x\neg P(x)}¬xP(x)x¬P(x){\displaystyle \neg \exists xP(x)\equiv \forall x\neg P(x)}xP(x){\displaystyle \forall xP(x)}¬xP(x)x¬P(x){\displaystyle \neg \forall xP(x)\equiv \exists x\neg P(x)}

推論の規則

否定の規則を定式化する方法は複数存在する。自然演繹的な設定において古典的な否定を定式化する一般的な方法の一つは、否定導入( の導出からとの両方を推論する。この規則は背理帰納 とも呼ばれる)、否定消去( と から を推論する。この規則は偽帰納法とも呼ばれる)、および二重否定消去( を推論する から)を推論の基本規則として採用することである。直観主義的否定の規則も同様の方法で得ることができるが、二重否定消去は除外する。 P{\displaystyle P}Q{\displaystyle Q}¬Q{\displaystyle \neg Q}¬P{\displaystyle \neg P}P{\displaystyle P}¬P{\displaystyle \neg P}Q{\displaystyle Q}¬¬P{\displaystyle \neg \neg P}P{\displaystyle P}

否定導入は、から不合理な結論を導き出せる場合、その結論は真ではない(つまり、(古典的には)偽、直観的には反駁可能など)ことを述べます。否定消去は、不合理から何でも導かれることを述べます。否定消去は、原始的な不合理記号 を用いて定式化されることもあります。この場合、規則は から、 は不合理に続くと述べます。二重否定消去と組み合わせることで、不合理から何でも導かれるという、当初定式化された規則を推論することができます。 P{\displaystyle P}P{\displaystyle P}P{\displaystyle P}{\displaystyle \bot }P{\displaystyle P}¬P{\displaystyle \neg P}

典型的には、の直観主義的否定はと定義されます。この場合、否定の導入と消去は、含意の導入(条件付き証明)と消去(可能性)の特殊なケースに過ぎません。この場合、ex falso quodlibet という基本規則も追加する必要があります。 ¬P{\displaystyle \neg P}P{\displaystyle P}P{\displaystyle P\rightarrow \bot }

プログラミング言語と通常の言語

数学と同様に、否定はコンピュータ サイエンスでも論理的な記述を構築するために使用されます。

if ( ! ( r == t )) { /*...rがtと等しくない場合に実行されるステートメント...*/ }

感嘆" " は、 BC、および C 風の構文を持つ言語 ( C++JavaJavaScriptPerlPHP!など)において論理 NOT を表します。 " " は、 ALGOL 60BASIC、および ALGOL または BASIC 風の構文を持つ言語 ( PascalAdaEiffelなど)で使用される演算子です。一部の言語 (C++、 Perl など) では、否定を表す演算子が複数用意されています。PL/IRatforなど、いくつかの言語では、否定を表すためにを使用します。最近の言語のほとんどでは、上記のステートメントを からに短縮することができ、これにより、コンパイラ/インタープリタが最適化できない場合でも、プログラムが高速化することがあります。 NOT¬if (!(r == t))if (r != t)

コンピュータサイエンスでは、ビット反転という処理も存在します。これは、与えられた値のうち、すべての2進数の1を0に、0を1に置き換える処理です。これは、1の補数~( CまたはC++では「 」)や2の補数(数値の算術的な反転と同じなので、 「 -」または負の符号に簡略化されます)を作成する際によく使用されます。

与えられた整数の絶対値(正の等価値)を取得するには、次のようにします。「-」は負から正に変換します(「x < 0」は真を返すため、負です)。

符号なし整数abs ( int x ) { if ( x < 0 ) return - x ; else return x ; }

論理否定を示すには:

unsigned int abs ( int x ) { if ( ! ( x < 0 )) return x ; else return - x ; }

条件を反転し、結果を逆にすると、元のコードと論理的に同等のコードが生成されます。つまり、どの入力に対しても同じ結果が得られます (使用するコンパイラによっては、コンピューターによって実行される実際の命令が異なる場合があります)。

C言語(およびC言語から派生した他の言語)では、二重否定( )は、標準的なブール値、つまり0または1のいずれかの値を持つ整数に変換するための慣用句!!xとして用いられます。C言語では0以外の整数は論理的に真であり、1はこの点で特別な意味を持ちませんが、例えば印刷する場合や、数値をその後算術演算に使用する場合など、標準的な値が使用されるようにすることが重要な場合があります。[ 8 ]x

口語での使用法

!否定を表すために「not」を使用する慣習は、口語表現も時折見られる。例えば、このフレーズは「no-clue」や「clueless」の同義語として用いられる。[ 9 ] [ 10 ]!clue

!voteもう一つの例は、 「投票ではない」という意味の表現です。 [ 11 ]この文脈において、感嘆符はWikipediaでは「多数決」を否定しながら意見を調査するために使用され、「それぞれの議論の強さによって適切な方向が決定される合意形成のための議論を行う」ことを目的としています。[ 11 ]

クリプキ意味論

式の意味値が可能世界の集合であるクリプキ意味論では、否定は集合論的相補性を意味すると解釈できます(詳細は 可能世界意味論も参照)。

参照

参考文献

  1. ^トルコの高校数学の教科書のほぼすべてでは、国民教育省が配布している教科書では p' と表記されているため、否定を表すのに p' が使用されています
  2. ^ “NEGATION definition and meaning | Collins English Dictionary” . www.collinsdictionary.com . 2025年12月15日. 2025年12月20日時点のオリジナルよりアーカイブ。 2025年12月20日閲覧
  3. ^ Weisstein, Eric W. 「Negation」 . mathworld.wolfram.com . 2020年9月2日閲覧
  4. ^ 「論理と数学的記述 - 実例」 www.math.toronto.edu 20209月2日閲覧
  5. ^ Beall, Jeffrey C. (2010). Logic: the basics (第1版). ロンドン: Routledge. p. 57. ISBN 978-0-203-85155-5
  6. ^初期のタイプライター出版物では、間に合わせのものとして使用されていました。例: Richard E. Ladner (1975年1月)。「回路値問題はPに対して対数空間完全である」ACM SIGACT News . 7 (101): 18– 20. doi : 10.1145/990518.990519
  7. ^オドネル、ジョン、ホール、コーデリア、ページ、レックス(2007年)、離散数学コンピュータ使用、シュプリンガー、p.120、ISBN 9781846285981
  8. ^イーガン、デイビッド。C言語における二重否定演算子のブール値への変換」開発ノート
  9. ^エリック・レイモンド、ガイ・スティール共著 『新ハッカー辞典』18ページ(MITプレス、1996年)。
  10. ^ムナット、ジュディス 『語彙の創造性、テキストと文脈』148ページ(ジョン・ベンジャミンズ出版、2007年)。
  11. ^ a bハリソン、スティーブン。「ウィキペディアのデイリーメール戦争」、スレート誌(2021年7月1日)。

さらに詳しい参考文献

  • Gabbay, Dov、Wansing, Heinrich編、1999年。『否定とは何か?Kluwer
  • ホーン、L.、2001年、「否定の自然史」シカゴ大学出版局
  • GH von Wright、1953–59、「否定の論理について」、Commentationes Physico-Mathematicae 22
  • Wansing, Heinrich、2001、「否定」、Goble, Lou 編、『The Blackwell Guide to Philosophical Logic』、Blackwell
  • テッタマンティ、マルコ。マネンティ、ローザ。デラ・ローザ、パスカーレ・A.ファリーニ、アンドレア。ペラーニ、ダニエラ。カッパ、ステファノ F.モロ、アンドレア (2008)。 「脳内の否定:行動表現を調節する」。ニューロイメージ43 (2): 358–367土井: 10.1016/j.neuroimage.2008.08.004PMID  18771737S2CID  17658822
複合節の真理値表