データベーススペシャリスト 2019年 午前2 問12
問題文
和両立である関係RとSがある。R∩Sと等しいものはどれか。ここで、-は差演算、∩は共通集合演算を表す。
選択肢
ア:(正解)
イ:
ウ:
エ:
🔒 解説は解答すると表示されます
集合の共通部分の表現【午前2解説】
正解の理由
R と S の両方に含まれる元は「R に属し,かつ R-S に属さない」元と同じ集合になるため、R ∩ S は R-(R-S) と一致します。すなわち、x が R∩S に属するならば x∈R かつ x∈S であり,このとき x は R-S(=R かつ not S)には入らないので x∈R-(R-S) です。逆に x∈R-(R-S) ならば x∈R かつ x∉(R-S) であり,x∉(R-S) と x∈R から x∈S が従い,x∈R∩S となります。以上より正しい選択肢は ア です。
解法ステップ
- 命題を集合の要素条件(membership)で表す。例えば x∈R∩S ⇔ (x∈R かつ x∈S)。
- 各候補式を「x がその集合に属するとはどういう条件か」で表す。
- 両側包含を示して等号を確定する(A⊆B と B⊆A を示す)。
- 他の選択肢は包含関係や空集合性から除外する(簡単な反例も有効)。
具体的に R-(R-S) と R∩S の等しさの示し方:
- (⊆) x∈R∩S ⇒ x∈R かつ x∈S ⇒ x∉(R-S) ⇒ x∈R-(R-S)。
- (⊇) x∈R-(R-S) ⇒ x∈R かつ x∉(R-S)。もし x∉S なら x∈R-S になって矛盾するので x∈S。よって x∈R∩S。
選択肢別の誤答解説
- ア: R-(R-S) = R∩S となる(上で示した包含の双方向)。従って正解。
- イ: R-(S-R) = R。理由:S-R は S にだけある要素(R にない要素)なので,もともと R に含まれていない。したがって R から取り除く対象が R に含まれないため演算は R を変えない。例:R={1,2}, S={2,3} のとき S-R={3},R-{3} = R。
- ウ: (R-S)-(S-R) = R-S。理由:R-S と S-R は互いに重ならない(後述)ので,右側で何も引かれず元の R-S が残る。したがってこれは R∩S ではなく R\ S(R にのみ属する要素の集合)である。
- 補足(空集合の証明の正しい方法): (R-S)∩(S-R)=∅ を示すには,仮に x ∈ (R-S)∩(S-R) とすると x∈R かつ x∉S かつ x∈S かつ x∉R となり,x∈R と x∉R が同時に成り立って矛盾する。よってそのような x は存在せず交叉は空集合である。
- エ: S-(R-S) = S。理由:R-S は R に属し S には属さない要素の集合であり,S にはそもそも含まれないので S から引いても変化しない。したがって結果は S。
よくある誤解
- 「A-B と B-A の交わりは空である」ことを示す際に,「x∉A かつ x∉B はあり得ない」というような誤った主張をする。正しくは交わりに含まれる x を仮定すると x∈A かつ x∉A(あるいは x∈B かつ x∉B)という明確な矛盾が生じる、と示すべきである。
- 差集合 A-(B-C) の含意を直感で誤認する。特に B-C の要素は必ずしも A に含まれるわけではないので,A から引かれる要素が A に存在するかを確認する必要がある。
- 記号操作だけ追うと見落としやすいが,集合等式を扱う際は「元 x が属するか否か」の観点での両方向証明が確実。
補足コラム
集合演算の便利な恒等式(部分)
- A - (A - B) = A ∩ B
証明(論理式変換): x∈A-(A-B) ⇔ x∈A ∧ ¬(x∈A ∧ x∉B) ⇔ x∈A ∧ (x∉A ∨ x∈B) ⇔ (x∈A ∧ x∉A) ∨ (x∈A ∧ x∈B) ⇔ x∈A ∧ x∈B. - A - (B - A) = A (なぜなら B-A は A に含まれない元の集合だから)
- (A-B) ∩ (B-A) = ∅ (仮定法で矛盾を導く)
ベン図を使うと視覚的に理解しやすいので,試験対策では図を書いて領域ごとに検討する習慣をつけると速く正確に答えられます。
FAQ
Q1: なぜ「x∉(R-S) でかつ x∈R」から x∈S が直ちに導けるのですか?
A1: x∉(R-S) は「not (x∈R ∧ x∉S)」と同値です。これと x∈R を合わせると「x∈R ∧ ¬(x∈R ∧ x∉S)」であり,論理を整理すると必然的に x∈S が得られます(もし x∉S なら x は R-S に入るので矛盾するため)。
A1: x∉(R-S) は「not (x∈R ∧ x∉S)」と同値です。これと x∈R を合わせると「x∈R ∧ ¬(x∈R ∧ x∉S)」であり,論理を整理すると必然的に x∈S が得られます(もし x∉S なら x は R-S に入るので矛盾するため)。
Q2: イやエが常に R や S になる理由の直感は?
A2: 引かれる集合(S-R や R-S)は,もともと引かれる側(R や S)に含まれない領域にあるため,引いても何も変わらないからです。
A2: 引かれる集合(S-R や R-S)は,もともと引かれる側(R や S)に含まれない領域にあるため,引いても何も変わらないからです。
Q3: 「差集合を引く」操作で注意すべき点は?
A3: 引く側が引かれる側に含まれるかどうかをまず確認すること。含まれなければ差は元集合を変えないし,含まれていれば実際に要素が除かれる。
A3: 引く側が引かれる側に含まれるかどうかをまず確認すること。含まれなければ差は元集合を変えないし,含まれていれば実際に要素が除かれる。
関連キーワード: 集合演算、差集合、共通部分、包含関係、ベン図、論理式変換

\ せっかくなら /
データベーススペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

