命題変数 に真()または偽()を割り当てる 通りの割り当てのうち、論理式
を真にするものは何通りあるか。ただし、結合子 は通常の真理値表で解釈する( は が真で が偽のときだけ偽、 は と の真理値が等しいときだけ真)。
真理値表と充足割り当ての個数
結合子 の真理値表から論理式の真理値を計算し、トートロジー・充足可能かを判定できる。 変数の 通りの割り当てのうち論理式を真にするものの個数を、変数の値で場合分けして求められる(例: を真にする割り当ては 通り中 通り)
前提
- 和の法則・積の法則と樹形図 (数学A 場合の数と確率)
この技能までの道筋(3 技能)
読み込み中…
右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
- 樹形図で数え上げる (算数 場合の数)
- 積の法則と和の法則 (算数 場合の数)
- 和の法則・積の法則と樹形図 (数学A 場合の数と確率)
説明
命題変数 と結合子 で作った論理式について、各変数に真()か偽()を割り当てたときの真理値を計算できるようになります。さらに 通りの割り当てのうち論理式を真にするもの(充足割り当て)の個数を数え、すべての割り当てで真ならトートロジー、 通りでもあれば充足可能、と判定できます。命題論理の推論の正しさの確認や、論理回路・制約条件の解の個数を数える場面で使います。
なぜそうしてよいのか
論理式の真理値は、変数に割り当てた値から内側の部分式へ順に計算していけば一通りに決まります。各結合子の働きは次の真理値表で定めます: は の反対の値。 は両方 のときだけ 。 は少なくとも一方が なら 。 は のときだけ (前提が偽なら全体は真)。 は と が同じ値のとき 。
各変数は か の 2 通りで、変数ごとに独立に選べるので、積の法則により割り当ては全部で 通りあり、これは樹形図の葉の個数です。充足割り当てを数えるには、すべてを書き出す代わりに、ある変数の値で場合分けするのが有効です。例えば と の場合は重ならず、合わせるとすべての割り当てを尽くすので、和の法則により( のときの個数)+( のときの個数)が全体の個数になります。変数の値を決めると論理式が簡単になる( は常に 、 は常に 、 は と同じ値、など)ので、残りの変数については小さな問題になります。
また、ちょうど になる割り当てを数えて から引く(余事象)方が速いこともあります。 を含む式は「偽になるのは前提が真で結論が偽のときだけ」なので、この数え方と相性がよいです。
手順
論理式に現れる変数を確認し、割り当ての総数 を求める
場合分けに使う変数(式の外側に近い位置にあるもの、何度も現れるもの)を選び、その値を と に固定する
各場合で、真理値表に従って式を簡単にする(例: , , , , , )
残りの変数について、簡単になった式を真にする割り当ての個数を数える。固定されていない変数で式に現れないものは、積の法則で 倍ずつ掛ける
各場合の個数を和の法則で足す。結果が ならトートロジー、 以上なら充足可能、 なら充足不能
例題
3 変数 の論理式 を真にする割り当ての個数を、 通りの割り当てのうちから求めよ。
例題の解答
手順1:変数は の 3 個で、割り当ては 通り。
手順2:外側の の右にある で場合分けする。
手順3: のとき、式は で常に真。 のとき、式は 、すなわち と同じ値になる。
手順4: の場合、 は自由なので積の法則で 通り。 の場合、 が真になるのは の 通り。
手順5:和の法則で 通り。 なのでトートロジーではないが、充足可能である。
答え:
よくある誤り
を、前提 が偽のときに偽としてしまう誤り。正しくは なら によらず で、偽になるのは のときだけ(例: )
を「どちらか一方だけが真」と読んでしまう誤り。正しくは両方真でも 。「一方だけ」は にあたる
式に現れない変数や、場合分けで式から消えた変数の自由度を数え忘れる誤り。例えば 3 変数の割り当てで のとき は常に真なので、 通りではなく の選び方 通りと数える
場合分けで同じ割り当てを二重に数える誤り。和の法則が使えるのは重ならない場合分け( と など)のときで、「 の場合」と「 の場合」を単純に足すと の割り当てを二度数えてしまう
この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。
入口の問題
この技能を使う問題
命題変数 に関する命題論理の論理式
を考える。 への真理値割り当て(全部で 通り)のうち、 を真にするものの個数を求めよ。命題変数 に関する命題論理の論理式
を考える。ただし添字は巡回的に読み、 は を表すものとする(したがって は 個の節 の連言である)。への真理値割り当て(全部で 通り)のうち、 を真にするものの個数を求めよ。
命題変数 と結合子 だけを用いて作られる命題論理の論理式を考える。すなわち、各 は論理式であり、 が論理式ならば と も論理式であり、これらの規則で作られるものだけを論理式とする(否定 、含意 、定数 は用いない)。2 つの論理式は、 へのすべての真理値割り当てで同じ真理値をとるとき同値であるという。互いに同値でない論理式は最大で何個とれるか。すなわち、同値類の個数を求めよ。
を整数とし、命題変数 に対して論理式
を考える。真理値割り当て (全部で 個)のうち を真にするものの個数を とする。フィボナッチ数を , で定めるとき、すべての整数 について であることを証明せよ。
命題変数 だけを用いた命題論理の論理式を考える(結合子は を用いる)。2 つの論理式は、 へのすべての真理値割り当て( 通り)で同じ真理値をとるとき同値であるという。また、論理式 に現れる と を同時に入れ替えて得られる論理式を と書く。
次の 4 つの条件をすべて満たす論理式 を考える。
(1) はトートロジーである。
(2) はトートロジーである。
(3) と は同値である。
(4) を真にする真理値割り当て(充足割り当て)はちょうど 個である。
このような論理式 は、同値なものを同一視すると何個あるか。
命題変数 だけを用いた命題論理の論理式を考える(結合子は を用いる)。2 つの論理式は、 へのすべての真理値割り当てで同じ真理値をとるとき同値であるという。次の 2 つの論理式を定める。
だけを用いた論理式 であって、 と がともにトートロジー(恒真式)であるものを考える。このような の、同値関係による同値類の個数を求めよ。命題変数 だけを用いた命題論理の論理式を考える(結合子は とし、定数 は用いない)。2 つの論理式は、 へのすべての真理値割り当てで同じ真理値をとるとき同値であるという。
論理式 に対し、 の中の をすべて ()に同時に置き換えた論理式を とする。次の 2 条件をともに満たす論理式 を考える。
は、結合子 と命題変数 だけを用いた( を用いない)ある論理式と同値である。
と は同値である。
このような論理式 の同値類は何個あるか。
この技能の次に学べること
- 論理的同値・論理的帰結と同値類の個数 (大学院数学 数理論理学・集合論)
- 一階述語論理の構造と文の真偽 (大学院数学 数理論理学・集合論)