命題論理において命題変数や命題定数は単独で論理式とみなされます。また、それらに論理演算子を作用させて得られる式も論理式とみなされます。また、論理式に論理演算子を作用させて得られる式も論理式です。

2019年10月8日:改定 2018年11月12日:公開

命題変数

命題論理では個々の具体的な命題を議論の対象とするのではなく、議論を一般化するために、真\(1\)または偽\(0\)を値として取り得る変数\(P,Q,\cdots \)を議論の対象とします。このような変数を命題変数(proposition variable)と呼びます。命題変数は命題論理の議論の対象となる最小単位です。

命題論理において議論の対象となる論理的な主張や推論はいずれも命題変数どうしを組み合わせることで得られる式として表現されます。そして、そのような式を論理式(formula)や命題論理式(propositional formula)などと呼びます。

命題論理において個々の命題変数は単独で論理式とみなされます。

 

命題定数

命題論理では、命題変数が取り得る値である真理値\(0,1\)もまた特別な命題変数とみなします。つまり、真理値\(0\)を常に一定の値\(0\)を取る命題変数とみなし、\(1\)を常に一定の値\(1\)を取る命題変数とみなします。真理値\(0,1\)をこのような特別な命題変数とみなすとき、これらを命題定数(propositional constants)と呼びます。以降では、真理値\(0\)を命題定数として扱う場合にはこれを\(F\)で表し、真理値\(1\)を命題定数として扱う場合にはこれを\(T\)で表すことにします。

先ほど定めたように命題論理において命題変数は単独で論理式とみなされますが、命題定数\(T,F\)はいずれも特別な命題変数ですから、これらもまた単独で論理式とみなされます。以下で命題変数と言うとき、特別な断りがない場合には、それは同時に命題定数も同時に指すものとします。

 

命題変数の論理演算

命題論理では命題変数\(P,Q,\cdots \)に対して行う操作を表す記号\(\lnot ,\wedge ,\vee ,\veebar ,\rightarrow ,\leftrightarrow \)を導入した上で、これらを命題変数に作用させることで新たな論理式を作り出します。

具体的には、\(P\)に\(\lnot \)を作用させることで得られる論理式を\(\lnot P\)で表し、\(P\)と\(Q\)に\(\wedge \)を作用させることで得られる論理式を\(P\wedge Q\)で表します。また、\(P\)と\(Q\)に\(\vee \)を作用させることで得られる論理式を\(P\vee Q\)で表し、\(P\)と\(Q\)に\(\veebar \)を作用させることで得られる論理式を\(P\veebar Q\)で表します。さらに、\(P\)と\(Q\)に\(\rightarrow \)を作用させることで得られる論理式を\(P\rightarrow Q\)で表し、\(P\)と\(Q\)に\(\leftrightarrow \)を作用させて得られる論理式を\(P\leftrightarrow Q\)で表します。

命題論理において使われるこれらの記号\(\lnot ,\wedge ,\vee ,\veebar ,\rightarrow ,\leftrightarrow \)を論理演算子(logical operators)や論理結合子(logical connectives)などと呼び、論理演算子が表す操作を論理演算(logical operation)と呼びます。

論理演算子は命題変数に作用することで新たな論理式を生成しますが、それぞれの論理演算子の性質は、それを作用させる命題変数の値に応じて生成された論理式の値がどのように決まるかを包括的に定めることにより記述されます。それぞれの論理演算子の性質については後述します。

 

論理式の論理演算

命題論理では命題変数\(P,Q,\cdots \)に対して論理演算子を作用させることで論理式を生成するだけでなく、そのようにして生成された論理式\(A,B,\cdots \)に対して再び論理演算子を作用させて得られる式もまた論理式とみなします。

具体的には、論理式\(A\)に\(\lnot \)を作用させることで得られる論理式を\(\lnot A\)で表し、論理式\(A,B\)に\(\wedge \)を作用させることで得られる論理式を\(A\wedge B\)で表します。さらに、\(A\)と\(B\)に\(\vee \)を作用させることで得られる論理式を\(A\vee B\)で表し、\(A\)と\(B\)に\(\veebar \)を作用させることで得られる論理式を\(A\veebar B\)で表します。また、\(A\)と\(B\)に\(\rightarrow \)を作用させることで得られる論理式を\(A\rightarrow B\)で表し、\(A\)と\(B\)に\(\leftrightarrow \)を作用させることで得られる論理式を\(A\leftrightarrow B\)で表します。

論理演算子は論理式に作用することで新たな論理式を生成しますが、それぞれの論理演算子の性質は、それを作用させる論理式の値に応じて生成された論理式の値がどのように決まるかを包括的に定めることにより記述されます。

命題変数は特別な論理式ですから、論理演算子を論理式に作用させる際のルールを定めれば、それはそのまま論理演算子を命題変数に作用させる際のルールとしても継承されます。そこで以降では、論理式という概念を厳密に定義した上で、論理演算子を論理式に作用させる際のルールを解説します。

 

論理式の再帰的定義

繰り返しになりますが、命題論理において命題変数や命題定数は単独で論理式とみなされます。また、それらに論理演算子を作用させて得られる式も論理式とみなされます。また、論理式に論理演算子を作用させて得られる式も論理式です。

以上を踏まえた上で、論理式を以下のように再帰的に定義します。

定義(論理式)
  1. 命題変数\(P,Q,\cdots \)は論理式である。
  2. 命題定数\(T,F\)は論理式である。
  3. \(A\)が論理式ならば、\(\left( \lnot A\right)\)は論理式である。
  4. \(A,B\)が論理式ならば、\(\left( A\wedge B\right)\)は論理式である。
  5. \(A,B\)が論理式ならば、\(\left( A\vee B\right)\)は論理式である。
  6. \(A,B\)が論理式ならば、\(\left( A\underline{\vee}B\right)\)は論理式である。
  7. \(A,B\)が論理式ならば、\(\left( A\rightarrow B\right)\)は論理式である。
  8. \(A,B\)が論理式ならば、\(\left( A\leftrightarrow B\right)\)は論理式である。
  9. 以上のルールから論理式と判定されるものだけが論理式である。

論理式の例をいくつか挙げます。

例(論理式)
命題変数\(P\)はそれ自体が論理式です。したがって、\((\lnot P)\)もまた論理式です。ちなみに、\(\left( P\right) \)や\(\lnot \left( P\right) \)などは論理式ではありません。
例(論理式)
命題変数\(P,Q\)はいずれもそれ自体が論理式です。したがって、\(\left(P\wedge Q\right) \)もまた論理式です。また、命題変数\(R\)はそれ自体が論理式です。したがって、\((\left( P\wedge Q\right) \vee R)\)は論理式です。
例(論理式)
命題変数\(P,Q,R\)はいずれもそれ自体が論理式ですから、\(\left( P\wedge Q\right) \)と\(\left( P\vee R\right) \)はともに論理式です。したがって、\(((P\wedge Q)\rightarrow (P\vee R))\)は論理式であり、さらに、\((\lnot ((P\wedge Q)\rightarrow (P\vee R)))\)もまた論理式です。

 

論理式中の括弧の省略

上の最後の例のように、定義にもとづいて生成された論理式が括弧\((\ )\)を多く含む場合には見づらいため、以下のルールのもとで括弧を省略できます。

規則(論理式中の括弧の省略)
  1. 一番外側の括弧は省略できる。
  2. 括弧を省略した結果、複数の論理演算子が括弧によって遮られない形で存在している場合には、最初に\(\lnot \)を作用させ、次に\(\wedge ,\vee ,\veebar \)を作用させ、最後に\(\rightarrow ,\leftrightarrow \)を作用させる。このルールを踏まえた上で、論理式中のある括弧を外して新たな式を得たときに、その式における論理演算子の作用の順番がもとの論理式の内容と整合的であるならば、その括弧を省略できる。

いくつか例を挙げましょう。

例(論理式)
命題変数\(P\)に対して、\((\lnot P)\)は論理式ですが、先のルールより、これは\(\lnot P\)と表せます。
例(論理式)
命題変数\(P,Q,R\)に対して、\((\left( P\wedge Q\right) \vee R)\)は論理式ですが、先のルールより、これは\(\left( P\wedge Q\right) \vee R\)と表せます。ちなみに、この論理式を\(P\wedge Q\vee R\)と表すことはできません。なぜなら、先のルールより、\(\wedge \)と\(\vee \)は作用の順番が等しいため、\(P\wedge Q\vee R\)と記述した場合、これは\(\left( P\wedge Q\right) \vee R\)と\(P\wedge \left( Q\vee R\right) \)のどちらに対応するかを判別できないからです。
例(論理式)
命題変数\(P,Q,R\)に対して、\((\lnot ((P\wedge Q)\rightarrow (P\vee R)))\)は論理式ですが、先のルールより、これは\(\lnot (P\wedge Q\rightarrow P\vee R)\)と表せます。

次回は部分論理式について学びます。

次へ進む 質問・コメントを投稿する 演習問題(プレミアム会員限定)

ワイズをさらに活用するための会員サービス

ユーザー名とメールアドレスを入力して一般会員に無料登録すれば、質問やコメントを投稿できるようになります。さらに、有料(500円/月)のプレミアム会員へアップグレードすることにより、プレミアムコンテンツ(命題の証明や演習問題、解答など)にアクセスできます。
会員サービス

ディスカッションに参加しますか?

質問やコメントを投稿するにはログインが必要です。
ログイン

現在地
目次
アカウント
ログイン