否定をとることの難しさと論理式の有用性

背理法で示す方針の場合,与えられた命題を否定する必要がありますが,これが意外と難しいケースがあります.

\(xy\)平面内の相異なる4点\(P_1,~P_2,~P_3,~P_4\)とベクトル\(\overrightarrow{v}\)に対し,\(k\neq m\)のとき\(\overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\)が成り立っているとする.このとき,\(k\)と異なるすべての\(m\)に対し\[\overrightarrow{P_kP_m}\cdot\overrightarrow{v}<0\]が成り立つような点\(P_k\)が存在することを示せ.(京都大・文)

この問題の場合,与えられた命題は

「\(k\neq m\)のとき\(\overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\)が成り立っているとする.このとき,\(k\)と異なるすべての\(m\)に対し\(\overrightarrow{P_kP_m}\cdot\overrightarrow{v}<0\)が成り立つような点\(P_k\)が存在する」

です.この否定をとればいいわけですが,どこからどう手をつければいいのかいまいちわからない,できたとしてもなんだか不安….そこで,ここでは論理記号を用いて捉えてみます.与えられた命題を次の4つの部分に分けて翻訳していきます.

      1. \(k\neq m\)のとき\(\overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\)が成り立っているとする.
      2. このとき,
      3. \(k\)と異なるすべての\(m\)に対し\(\overrightarrow{P_kP_m}\cdot\overrightarrow{v}<0\)が成り立つ
      4. ような点\(P_k\)が存在する

1.「\(k\neq m\)のとき\(\overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\)が成り立っているとする」は
\[k\neq m \Longrightarrow \overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\]

2.「このとき」は\[\Longrightarrow\]

3.「\(k\)と異なるすべての\(m\)に対し\(\overrightarrow{P_kP_m}\cdot\overrightarrow{v}<0\)が成り立つ」は\[\forall m \big[m\neq k \Longrightarrow \overrightarrow{P_kP_m}\cdot\overrightarrow{v}<0\big]\]

4.「ような点\(P_k\)が存在する」は
\[\exists P_k\]

ですから,以上を繋げると,
\[\big(k\neq m \Longrightarrow \overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\big)\Longrightarrow\exists P_k\forall m \big[m\neq k \Longrightarrow \overrightarrow{P_kP_m}\cdot\overrightarrow{v}<0\big]\]
となります.これの否定を考えます.
\[\overline{\big(k\neq m \Longrightarrow \overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\big)\Longrightarrow\exists P_k\forall m \big[m\neq k \Longrightarrow \overrightarrow{P_kP_m}\cdot\overrightarrow{v}<0\big]}\]

ここで,一般に
\[
\begin{align*}
&(A\rightarrow B)\Longleftrightarrow \overline{A}\lor B
\end{align*}
\]
ですから,
\[\overline{A\rightarrow B}\Longleftrightarrow \overline{\overline{A} \lor B}\Longleftrightarrow A \land \overline{B}\]
です.したがって,
\[
\begin{align*}
&\overline{\big(k\neq m \Longrightarrow \overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\big)\Longrightarrow\exists P_k\forall m \big[m\neq k \Longrightarrow \overrightarrow{P_kP_m}\cdot\overrightarrow{v}<0\big]}\\
\Longleftrightarrow~&\big(k\neq m \Longrightarrow \overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\big)\land \overline{\exists P_k\forall m \big[m\neq k \Longrightarrow \overrightarrow{P_kP_m}\cdot\overrightarrow{v}<0\big]}\\
\Longleftrightarrow~&\big(k\neq m \Longrightarrow \overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\big)\land \forall P_k\exists m \big[\overline{m\neq k \Longrightarrow \overrightarrow{P_kP_m}\cdot\overrightarrow{v}<0}\big]\\
\Longleftrightarrow~&\big(k\neq m \Longrightarrow \overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\big)\land \forall P_k\exists m \big[m\neq k \land \overline{\overrightarrow{P_kP_m}\cdot\overrightarrow{v}<0}\big]\\ \Longleftrightarrow~&\big(k\neq m \Longrightarrow \overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\big)\land \forall P_k\exists m \big[m\neq k \land \overrightarrow{P_kP_m}\cdot\overrightarrow{v}\geq0\big]\\ \Longleftrightarrow~&\big(k\neq m \Longrightarrow \overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\big)\land \forall P_k\exists m \big[(m\neq k \land \overrightarrow{P_kP_m}\cdot\overrightarrow{v}>0)\lor(m\neq k \land\overrightarrow{P_kP_m}\cdot\overrightarrow{v}=0)\big]\\
\Longleftrightarrow~&\big(k\neq m \Longrightarrow \overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\big)\land \forall P_k\big[\exists m(m\neq k \land \overrightarrow{P_kP_m}\cdot\overrightarrow{v}>0)\lor\exists m(m\neq k \land\overrightarrow{P_kP_m}\cdot\overrightarrow{v}=0)\big]\\
\Longleftrightarrow~&\big(k\neq m \Longrightarrow \overrightarrow{P_kP_m}\cdot \overrightarrow{v}\neq 0\big)\land \forall P_k\exists m(m\neq k \land \overrightarrow{P_kP_m}\cdot\overrightarrow{v}>0)
\end{align*}
\]
となります.

もとの問題の解説では他の解法があったのですが,別解としての上記のように否定をとり矛盾を示す方針が載っていました.が,その「否定をとる」という作業の時点で既に難しく,ならば論理式で記述したらどうなるかなと思い考えてみました.見た目こそ厳ついものの,論理式の扱いに慣れさえすればとても分かりやすく明解です.