論理式の双対
論理演算子として\(\lnot,\wedge ,\vee ,\rightarrow ,\leftrightarrow ,\veebar \)を定義しましたが、先に示したように\(\rightarrow,\leftrightarrow ,\veebar \)はいずれも\(\lnot,\wedge ,\vee \)に置き換え可能であるため、結局、論理演算子として\(\lnot,\wedge ,\vee \)が与えられれば任意の論理式を表現することができます。具体的には、論理式\(A,B\)がそれぞれ任意に与えられたとき、以下の恒真式\begin{eqnarray*}&&\left( a\right) \ A\rightarrow B\Leftrightarrow \lnot A\vee B \\
&&\left( b\right) \ A\leftrightarrow B\Leftrightarrow \left( A\rightarrow
B\right) \wedge \left( B\rightarrow A\right) \\
&&\left( c\right) \ A\veebar B\Leftrightarrow \left( A\wedge \lnot B\right)
\vee \left( \lnot A\wedge B\right)
\end{eqnarray*}が成り立つため、これらを利用することにより、論理式中の\(\rightarrow ,\leftrightarrow ,\veebar \)を\(\lnot ,\wedge ,\vee \)に置き換えることができます。したがって、論理式\(A\)を任意に選んだとき、そこに含まれる可能性のある論理演算子を\(\lnot ,\wedge ,\vee \)に限定しても一般性は失われません。
以上を踏まえた上で、論理式\(A\)に対して以下の操作を加えることにより得られる新たな論理式をもとの論理式\(A\)の双対(dual)と呼びます。\begin{eqnarray*}&&\left( a\right) \ A\text{中の}\wedge \text{を}\vee \text{に入れ替え、}\wedge \text{を}\vee
\text{に入れ替える。} \\
&&\left( b\right) \ A\text{中の}T\text{を}F\text{に入れ替え、}F\text{を}T\text{に入れ替える。}
\end{eqnarray*}ただし、\(T,F\)は命題定数です。
\end{equation*}の双対は、\begin{equation*}
\left( P\vee Q\right) \wedge P
\end{equation*}です。
\end{equation*}の双対は、\begin{equation*}
\lnot \left( P\vee Q\right) \wedge \left( \lnot P\vee \lnot Q\right)
\end{equation*}です。
\end{equation*}の双対は、\begin{equation*}
\left( \lnot P\vee Q\right) \wedge \lnot \left( F\vee \lnot R\right)
\end{equation*}です。
第1双対原理
命題変数\(P_{1},\cdots ,P_{n}\)と命題定数\(T,F\)を被演算子とする論理式を、\begin{equation*}A\left( P_{1},\cdots ,P_{n},T,F\right)
\end{equation*}で表記します。論理式\(A\left( P_{1},\cdots ,P_{n},T,F\right) \)中の\(P_{1},\cdots ,P_{n}\)を否定\(\lnot P_{1},\cdots ,\lnot P_{n}\)に置き換えることにより得られる論理式を、\begin{equation*}A\left( \lnot P_{1},\cdots ,\lnot P_{n},T,F\right)
\end{equation*}で表記し、さらにその否定を、\begin{equation}
\lnot A\left( \lnot P_{1},\cdots ,\lnot P_{n},T,F\right) \quad \cdots (1)
\end{equation}で表記します。その一方で、もとの論理式\(A\left( P_{1},\cdots ,P_{n},T,F\right) \)の双対を、\begin{equation}A^{D}\left( P_{1},\cdots ,P_{n},T,F\right) \quad \cdots (2)
\end{equation}で表記します。実は、\(\left( 1\right) \)と\(\left( 2\right) \)は論理的に同値になります。まずは具体例を通じて確認します。
\end{equation}で与えられているものとします。このとき、\begin{equation*}
\lnot A\left( \lnot P,\lnot Q,T,F\right) :\lnot \left( \lnot P\wedge \lnot
Q\right)
\end{equation*}です。その一方で、\(\left( 1\right) \)の双対は、\begin{equation*}A^{D}\left( P,Q,T,F\right) :P\vee Q
\end{equation*}です。ド・モルガンの法則より、\begin{equation*}
\lnot \left( \lnot P\wedge \lnot Q\right) \Leftrightarrow P\vee Q
\end{equation*}であるため、たしかに、\begin{equation*}
A^{D}\left( P,Q,T,F\right) \Leftrightarrow \lnot A\left( \lnot P,\lnot
Q,T,F\right)
\end{equation*}が成立しています。つまり、論理式\(A\left(P,Q,T,F\right) \)の双対は、この論理式中の命題変数\(P,Q\)を否定\(\lnot P,\lnot Q\)にそれぞれ置き換えることにより得られる論理式の否定と論理的に同値です。
R\wedge T\right) \quad \cdots (1)
\end{equation}で与えられているものとします。このとき、\begin{equation*}
\lnot A\left( \lnot P,\lnot Q,\lnot R,T,F\right) :\lnot \left( \left( \lnot
P\wedge \lnot \lnot Q\right) \vee \left( \lnot \lnot R\wedge T\right)
\right)
\end{equation*}です。その一方で、\(\left( 1\right) \)の双対は、\begin{equation*}A^{D}\left( P,Q,R,T,F\right) :\left( P\vee \lnot Q\right) \wedge \left(
\lnot R\vee F\right)
\end{equation*}です。さて、\begin{eqnarray*}
&&\lnot \left( \left( \lnot P\wedge \lnot \lnot Q\right) \vee \left( \lnot
\lnot R\wedge T\right) \right) \\
&\Leftrightarrow &\lnot \left( \lnot P\wedge \lnot \lnot Q\right) \wedge
\lnot \left( \lnot \lnot R\wedge T\right) \quad \because \text{ド・モルガンの法則} \\
&\Leftrightarrow &\left( \lnot \lnot P\vee \lnot \lnot \lnot Q\right) \vee
\left( \lnot \lnot \lnot R\vee \lnot T\right) \quad \because \text{ド・モルガンの法則} \\
&\Leftrightarrow &\left( P\vee \lnot Q\right) \vee \left( \lnot R\vee
F\right) \quad \because \text{二重否定、命題定数の定義}
\end{eqnarray*}であるため、たしかに、\begin{equation*}
A^{D}\left( P,Q,R,T,F\right) \Leftrightarrow \lnot A\left( \lnot P,\lnot
Q,\lnot R,T,F\right)
\end{equation*}が成立しています。つまり、論理式\(A\left(P,Q,R,T,F\right) \)の双対は、この論理式の命題変数\(P,Q,R\)を否定\(\lnot P,\lnot Q,\lnot R\)にそれぞれ置き換えることにより得られる論理式の否定と論理的に同値です。
以上の例が示唆するように、一般に、命題変数\(P_{1},\cdots ,P_{n}\)と命題定数\(T,F\)に関する論理式\(A\left( P_{1},\cdots ,P_{n},T,F\right) \)が与えられたときに、その双対に関して以下の恒真式\begin{equation*}A^{D}\left( P_{1},\cdots ,P_{n},T,F\right) \Leftrightarrow \lnot A\left(
\lnot P_{1},\cdots ,\lnot P_{n},T,F\right)
\end{equation*}が成り立ちます。つまり、論理式\(A\left( P_{1},\cdots,P_{n},T,F\right) \)の双対は、その論理式の命題変数\(P_{1},\cdots ,P_{n}\)を否定\(\lnot P_{1},\cdots ,\lnot P_{n}\)にそれぞれ置き換えることにより得られる論理式の否定と論理的に同値です。これを第1双対原理(first principle of duality)や第1双対定理(first duality theorem)などと呼びます。
\lnot P_{1},\cdots ,\lnot P_{n},T,F\right)
\end{equation*}が成り立つ。
\end{equation*}が与えられたとき、第1双対原理より、その双対\begin{equation*}
P\vee Q
\end{equation*}について、\begin{equation*}
P\vee Q\Leftrightarrow \lnot \left( \lnot P\wedge \lnot Q\right)
\end{equation*}という関係が成り立ちます。実際、\begin{eqnarray*}
\lnot \left( \lnot P\wedge \lnot Q\right) &\Leftrightarrow &\lnot \lnot
\left( P\vee Q\right) \quad \because \text{ド・モルガンの法則} \\
&\Leftrightarrow &P\vee Q\quad \because \text{二重否定}
\end{eqnarray*}であることから確認できます。
\end{equation*}が与えられたとき、第1双対原理より、その双対\begin{equation*}
P\vee \left( \lnot Q\wedge F\right)
\end{equation*}について、\begin{equation*}
P\vee \left( \lnot Q\wedge F\right) \Leftrightarrow \lnot \left( \lnot
P\wedge \left( \lnot \lnot Q\vee T\right) \right)
\end{equation*}という関係が成り立ちます。実際、\begin{eqnarray*}
\lnot \left( \lnot P\wedge \left( \lnot \lnot Q\vee T\right) \right)
&\Leftrightarrow &\lnot \lnot P\vee \lnot \left( \lnot \lnot Q\vee T\right)
\quad \because \text{ド・モルガンの法則} \\
&\Leftrightarrow &\lnot \lnot P\vee \left( \lnot \lnot \lnot Q\wedge \lnot
T\right) \quad \because \text{ド・モルガンの法則} \\
&\Leftrightarrow &P\vee \left( \lnot Q\wedge F\right) \quad \because \text{二重否定および命題定数の定義}
\end{eqnarray*}であることから確認できます。
第2双対原理
命題変数\(P_{1},\cdots ,P_{n}\)と命題定数\(T,F\)に関する論理式である\(A\left( P_{1},\cdots ,P_{n},T,F\right) \)と\(B\left( P_{1},\cdots ,P_{n},T,F\right) \)の間に以下の関係\begin{equation*}A\left( P_{1},\cdots ,P_{n},T,F\right) \Rightarrow B\left( P_{1},\cdots
,P_{n},T,F\right)
\end{equation*}が成り立つものとします。このとき、これらの論理式の双対の間に以下の関係\begin{equation*}
B^{D}\left( P_{1},\cdots ,P_{n},T,F\right) \Rightarrow A^{D}\left(
P_{1},\cdots ,P_{n},T,F\right)
\end{equation*}が成り立つことが保証されます。つまり、双対をとると必要条件と十分条件としての立場が入れ替わるということです。これを第2双対原理(second principle of duality)や第2双対定理(second duality theorem)などと呼びます。証明では先に示した第1双対原理と一様代入法則を利用します。
,P_{n},T,F\right)
\end{equation*}が成り立つ場合には、それらの双対の間に、\begin{equation*}
B^{D}\left( P_{1},\cdots ,P_{n},T,F\right) \Rightarrow A^{D}\left(
P_{1},\cdots ,P_{n},T,F\right)
\end{equation*}が成り立つ。
\end{equation*}が成り立ちますが、このとき、第2双対原理より、\begin{equation*}
P\Rightarrow \left( P\vee Q\right)
\end{equation*}もまた成り立つことが保証されます。実際、\begin{eqnarray*}
P\rightarrow \left( P\vee Q\right) &\Leftrightarrow &\lnot P\vee \left(
P\vee Q\right) \quad \because \rightarrow \text{の言い換え} \\
&\Leftrightarrow &\left( P\vee \lnot P\right) \vee Q\quad \because \text{結合律と交換律} \\
&\Leftrightarrow &\top \vee Q\quad \because \text{排中律}
\\
&\Leftrightarrow &\top \quad \because \text{恒真式の性質}
\end{eqnarray*}となるため主張が正しいことが確認されました。
\end{equation*}が成り立ちますが、このとき、第2双対原理より、\begin{equation*}
\lnot P\wedge \lnot Q\Rightarrow \lnot \left( P\vee Q\right)
\end{equation*}もまた成り立つことが保証されます。実際、\begin{eqnarray*}
\left( \lnot P\wedge \lnot Q\right) \rightarrow \lnot \left( P\vee Q\right)
&\Leftrightarrow &\lnot \left( \lnot P\wedge \lnot Q\right) \vee \lnot
\left( P\vee Q\right) \quad \because \rightarrow \text{の言い換え} \\
&\Leftrightarrow &\left( \lnot \lnot P\vee \lnot \lnot Q\right) \vee \lnot
\left( P\vee Q\right) \quad \because \text{ド・モルガンの法則} \\
&\Leftrightarrow &\left( P\vee Q\right) \vee \lnot \left( P\vee Q\right)
\quad \because \text{二重否定} \\
&\Leftrightarrow &\top \quad \because \text{排中律}
\end{eqnarray*}となるため主張が正しいことが確認されました。
第3双対原理
命題変数\(P_{1},\cdots ,P_{n}\)と命題定数\(T,F\)に関する論理式である\(A\left( P_{1},\cdots ,P_{n},T,F\right) \)と\(B\left( P_{1},\cdots ,P_{n},T,F\right) \)の間に、\begin{equation*}A\left( P_{1},\cdots ,P_{n},T,F\right) \Leftrightarrow B\left( P_{1},\cdots
,P_{n},T,F\right)
\end{equation*}という関係が成り立つものとします。これは、\begin{eqnarray*}
A\left( P_{1},\cdots ,P_{n},T,F\right) &\Rightarrow &B\left( P_{1},\cdots
,P_{n},T,F\right) \\
B\left( P_{1},\cdots ,P_{n},T,F\right) &\Rightarrow &A\left( P_{1},\cdots
,P_{n},T,F\right)
\end{eqnarray*}がともに成り立つことを意味するため、第2双対原理より、\begin{eqnarray*}
B^{D}\left( P_{1},\cdots ,P_{n},T,F\right) &\Rightarrow &A^{D}\left(
P_{1},\cdots ,P_{n},T,F\right) \\
A^{D}\left( P_{1},\cdots ,P_{n},T,F\right) &\Rightarrow &B^{D}\left(
P_{1},\cdots ,P_{n},T,F\right)
\end{eqnarray*}を得ますが、さらにこれは、\begin{equation*}
A^{D}\left( P_{1},\cdots ,P_{n},T,F\right) \Leftrightarrow B^{D}\left(
P_{1},\cdots ,P_{n},T,F\right)
\end{equation*}を意味します。つまり、論理式\(A,B\)が論理的に同値であるとき、それらの双対\(A^{D},B^{D}\)どうしも論理的に同値になることが保証されます。これを第3双対原理(third principle of duality)や第3双対定理(third duality theorem)などと呼びます。多くの場合、第3双対原理のことをシンプルに双対原理(principle of duality)と呼びます。
,P_{n},T,F\right)
\end{equation*}が成り立つ場合には、それらの双対の間に、\begin{equation*}
A^{D}\left( P_{1},\cdots ,P_{n},T,F\right) \Leftrightarrow B^{D}\left(
P_{1},\cdots ,P_{n},T,F\right)
\end{equation*}が成り立つ。
&&\left( b\right) \ A\vee A\Leftrightarrow A\
\end{eqnarray*}がともに成り立つという命題ですが、\(\left(a\right) \)に双対原理を適用すれば\(\left( b\right) \)を得て、逆に、\(\left( b\right) \)に双対原理を適用すれば\(\left( a\right) \)を得ます。
& \left( b\right) \ A\vee B\Leftrightarrow B\vee A
\end{align*}がともに成り立つという命題ですが、\(\left(a\right) \)に双対原理を適用すれば\(\left( b\right) \)を得て、逆に、\(\left( b\right) \)に双対原理を適用すれば\(\left( a\right) \)を得ます。
B\wedge C\right) \\
& \left( b\right) \ (A\vee B)\vee C\Leftrightarrow A\vee \left( B\vee
C\right)
\end{align*}がともに成り立つという命題ですが、\(\left(a\right) \)に双対原理を適用すれば\(\left( b\right) \)を得て、逆に、\(\left( b\right) \)に双対原理を適用すれば\(\left( a\right) \)を得ます。
(A\wedge C) \\
& \left( b\right) \ A\vee (B\wedge C)\Leftrightarrow (A\vee B)\wedge (A\vee
C)
\end{align*}がともに成り立つという命題ですが、\(\left(a\right) \)に双対原理を適用すれば\(\left( b\right) \)を得て、逆に、\(\left( b\right) \)に双対原理を適用すれば\(\left( a\right) \)を得ます。
& \left( b\right) \ A\vee (A\wedge B)\Leftrightarrow A
\end{align*}がともに成り立つという命題ですが、\(\left(a\right) \)に双対原理を適用すれば\(\left( b\right) \)を得て、逆に、\(\left( b\right) \)に双対原理を適用すれば\(\left( a\right) \)を得ます。
A\vee \lnot B \\
& \left( b\right) \ \lnot \left( A\vee B\right) \Leftrightarrow \lnot
A\wedge \lnot B
\end{align*}がともに成り立つという命題ですが、\(\left(a\right) \)に双対原理を適用すれば\(\left( b\right) \)を得て、逆に、\(\left( b\right) \)に双対原理を適用すれば\(\left( a\right) \)を得ます。
\left( b\right) \ A\vee \lnot A &\Leftrightarrow &T
\end{eqnarray*}がともに成り立つことはすでに示した通りです。\(\left( a\right) \)は矛盾律であり、\(\left( b\right) \)は排中律です。\(\left( a\right) \)に双対原理を適用すれば\(\left( b\right) \)を得て、逆に、\(\left( b\right) \)に双対原理を適用すれば\(\left( a\right) \)を得ます。
& \left( b\right) \ \lnot F\Leftrightarrow T
\end{align*}などの関係が成り立ちますが、\(\left( a\right) \)に双対原理を適用すれば\(\left( b\right) \)を得て、逆に、\(\left( b\right) \)に双対原理を適用すれば\(\left( a\right) \)を得ます。また、論理式\(A\)を任意に選んだとき、\begin{eqnarray*}\left( c\right) \ A\wedge T &\Leftrightarrow &A \\
\left( d\right) \ A\vee F &\Leftrightarrow &A
\end{eqnarray*}などの関係が成り立ちますが、\(\left( c\right) \)に双対原理を適用すれば\(\left( d\right) \)を得て、逆に、\(\left( d\right) \)に双対原理を適用すれば\(\left( c\right) \)を得ます。さらに、\begin{eqnarray*}\left( e\right) \ A\wedge F &\Leftrightarrow &F \\
\left( f\right) \ A\vee T &\Leftrightarrow &T
\end{eqnarray*}などの関係が成り立ちますが、\(\left( e\right) \)に双対原理を適用すれば\(\left( f\right) \)を得て、逆に、\(\left( f\right) \)に双対原理を適用すれば\(\left( e\right) \)を得ます。
演習問題
\end{equation*}を\(\lnot ,\wedge ,\vee \)以外の論理演算子を持たない論理式に同値変形した上で、その双対を明らかにしてください。
R\right)
\end{equation*}を\(\lnot ,\wedge ,\vee \)以外の論理演算子を持たない論理式に同値変形した上で、その双対を明らかにしてください。
&&\left( b\right) \ A\leftrightarrow B\Leftrightarrow \left( A\rightarrow
B\right) \wedge \left( B\rightarrow A\right) \\
&&\left( c\right) \ A\veebar B\Leftrightarrow \left( A\wedge \lnot B\right)
\vee \left( \lnot A\wedge B\right)
\end{eqnarray*}などの関係が成り立つため、これらの関係を適用することにより論理式中の\(\rightarrow,\leftrightarrow ,\veebar \)を\(\lnot ,\wedge ,\vee \)に置き換えることができます。したがって、論理演算子として\(\lnot,\wedge ,\vee \)だけ与えられれば任意の論理式を表現できます。以上を踏まえた上で、さらに以下が成り立つことをそれぞれ証明してください。
- 論理演算子として\(\lnot \)と\(\wedge \)だけ与えられれば任意の論理式を表現できる。
- 論理演算子として\(\lnot \)と\(\vee \)だけ与えられれば任意の論理式を表現できる。
プレミアム会員専用コンテンツです
【ログイン】【会員登録】