基本情報 2022 サンプル問題 問3:テクノロジ系に関する問題
P,Q,R はいずれも命題である。命題P の真理値は真であり,命題 (not P ) or Q 及び命題 (not Q ) or R のいずれの真理値も真であることが分かっている。Q,R の 真理値はどれか。ここで,X or Y はX とY の論理和,not X はX の否定を表す。 Q R
- a偽 偽
- b偽 真
- c真 偽
- d真 真正答
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは d「Q=真、R=真」 です。
「not P or Q(Pでない、または Q)」というのは、「Pが偽 か、または Qが真」のどちらかが成り立てば全体は真になる、というルール。
ここで P は真とわかっているので、「P が偽」は使えない。だから Q が真でないと全体が真にならない → Q は真!
同じく「not Q or R」も真と言われている。今 Q が真とわかったから「Q が偽」は使えない。だから R が真でないと成立しない → R も真!
👉 覚え方: 「not A or B」は、A が真なら B も真じゃないと成立しない(=ドミノ式に決まる)。
ほかの選択肢: a・b・cはどれかが偽になっていて、上の理屈に当てはめると矛盾する。
なぜこれが正解か
正解は d (Q=真, R=真)。論理式 `(not P) or Q` は 含意 P → Q と論理同値(ド・モルガン/含意の定義)。
- 条件1: P=真 かつ `(not P) or Q` が真 → `not P` が偽なので Q が真でなければ全体が偽になる → Q=真
- 条件2: Q=真 かつ `(not Q) or R` が真 → `not Q` が偽なので R が真でなければ全体が偽になる → R=真
したがって Q=真, R=真。
各選択肢の解説
- a (Q=偽, R=偽): Q=偽だと `(not P) or Q` = 偽 or 偽 = 偽 となり前提に反する。
- b (Q=偽, R=真): 同上、Q=偽で前提に反する。
- c (Q=真, R=偽): Q=真は満たすが、R=偽だと `(not Q) or R` = 偽 or 偽 = 偽 となり矛盾。
覚え方・ひっかけ注意
`(not A) or B ≡ A → B`(含意) を必ず覚える。これは「Aが真ならBも真でないといけない」というドミノ式条件。本問はこの含意が2段連鎖し、P=真 → Q=真 → R=真 と決まる。「ゲートウェイ的に真偽が伝播する」と捉えれば速い。
論理学的背景
本問の核心は 含意の論理的同値変換: `P → Q ≡ (¬P) ∨ Q`(material implication)。古典命題論理の基本恒等式で、含意演算子を OR と NOT のみで表現できることを示す。これにより、含意の連鎖は OR/NOT の連鎖として機械的に処理可能になる。
モーダスポネンス(肯定式)
本問の推論は モーダスポネンス: P が真かつ P→Q が真ならば Q が真、という推論規則の連続適用。形式的には:
```
P, P → Q ⊢ Q
Q, Q → R ⊢ R
```
これを2段繰り返して R を導出する。古代ギリシャのストア派論理学から知られる最も基本的な推論規則。
実装応用
- デジタル回路: 含意ゲートは標準的に提供されないため、NOT + OR で合成する。CMOSでは NAND/NOR が最も低コストなので、ド・モルガン則で `(¬P) ∨ Q = ¬(P ∧ ¬Q)` と変形して NAND ベースで実装することが多い。
- SAT ソルバ: CNF(連言標準形)変換時、含意は自動的に `(¬P) ∨ Q` 形に展開される。本問のような連鎖含意は 2-SAT 問題として線形時間で解ける。
- プログラミング: ガード節 `if (P && !Q)` は `¬(P → Q)` に対応し、契約プログラミングの前条件違反検出に使う。
試験での位置づけ
基礎理論の必出単元。基本情報技術者試験では真理値表の完成、論理式の簡約化、カルノー図、ド・モルガン則(¬(A∧B) = ¬A ∨ ¬B / ¬(A∨B) = ¬A ∧ ¬B)が頻出。本問のような複数式の同時充足問題は 充足可能性問題(SAT) の初級版と位置づけられ、より上位資格ではブール代数の最簡化、論理回路設計と絡めて出題される。
選択肢の発展補足
- 直観主義論理では `(¬P) ∨ Q → (P → Q)` は成立するが逆は成立しない(排中律を仮定しない)。古典論理特有の同値である点に注意。
- 三値論理(K3/Kleene)では含意の定義が複数存在し、本問の同値が成り立たない場合がある。データベースの NULL 処理(SQLの三値論理 TRUE/FALSE/UNKNOWN)で実務的に重要。
- 本問の連鎖構造は Horn節(肯定リテラルが高々1つの節)の特殊形であり、Prolog などの論理プログラミング言語の基礎理論。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 2022 サンプル問題 問3/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。