情報Ⅰ 最強120講義

【情報Ⅰ 第43講】論理演算とベン図──AND・OR・NOTと集合演算が同じものである理由

数強塾グループの一流講師陣 一流のライブ授業×最高品質の映像授業×サボれないコーチング

今日の一問
AND・OR・NOT という論理演算と、共通部分・和集合・補集合という集合演算と、検索窓での絞り込みは、なぜ全部同じものなのでしょうか。
——さて、どこから手をつける?
答えと考え方は、この記事の中で順を追って解説します。

数強塾代表の藤原進之介です。『藤原進之介の最強120講義』第43講は「論理演算とベン図」。共通テスト重要度は最高の S です。AND・OR・NOT、真理値表、ベン図、そして検索窓での絞り込み。バラバラに見えるこの4つが、実はまったく同じ一つの構造だという話をします。この講を読み終えると、ド・モルガンの法則を「暗記するもの」ではなく「4行書けば終わるもの」として扱えるようになります。シリーズ「情報Ⅰ 最強120講義」の一覧はこちら

1. この講の問い

AND・OR・NOT という論理演算と、共通部分・和集合・補集合という集合演算と、検索窓での絞り込みは、なぜ全部同じものなのでしょうか。

2. 結論

論理演算・集合演算・真理値表・ベン図・検索の絞り込みは、すべて「2値(真か偽か)のとりうる場合を、もれなく数え上げる」という一つの構造の別表現です。

だから真理値表を4行書けば、ベン図の塗り分けも、ド・モルガンの法則も、SQLの絞り込みも、同時に確かめられます。

覚えるべきは表の中身ではなく、「入力が2つなら場合は4通りしかない」という有限性のほうです。

3. なぜそうなるのか

3-1 なぜ AND・OR・NOT が「基本」なのか

文部科学省が公開している高等学校情報科「情報Ⅰ」教員研修用教材の第3章「コンピュータとプログラミング」は、学習11「コンピュータの仕組み」のキーワードとして「コンピュータの構成、演算の仕組み、AND・OR・NOT、真理値表」を挙げています。そして本文で、コンピュータの演算装置が扱う基本的な演算は四則演算とは異なり AND・OR・NOT の3つである、と述べています。

出典:文部科学省「高等学校情報科『情報Ⅰ』教員研修用教材」第3章(PDF)/2020年7月公開/2026年8月3日取得

ここが第一のポイントです。この「基本」という言葉は、「これ以上分解できない」という意味ではなく、「これだけあれば全部作れる」という意味で使われています。実際この教材は、続けて AND・OR・NOT だけで2進数の足し算(半加算器)を組み立てさせる演習を置いています。3つの演算が計算の材料として十分であることを、生徒に手を動かして確認させる作りになっているのです。

3-2 なぜ論理演算と集合演算が同じ構造になるのか

同じ教材は、論理演算を説明するときに 0 を「なし」、1 を「あり」と考え、ベン図と表で表現するという手順を取っています。実はこれが、両者が一致する理由そのものです。

ある要素 x について「x は集合 A に属するか」を考えると、答えは属する/属さないの2通りしかありません。そこで「属する=1、属さない=0」と決めてしまえば、集合 A は「各要素に0か1を割り当てるもの」と同じになります。この見方に立つと、次のように一対一で対応します。

  • x が A にも B にも属する ⇔ A が1 かつ B が1 ⇔ A AND B ⇔ 共通部分 A∩B
  • x が A か B の少なくとも一方に属する ⇔ A が1 または B が1 ⇔ A OR B ⇔ 和集合 A∪B
  • x が A に属さない ⇔ A が1 でない ⇔ NOT A ⇔ 補集合

つまり共通部分は AND の別名、和集合は OR の別名、補集合は NOT の別名です。似ているのではなく、同じ演算を「要素の側から見るか」「真偽の側から見るか」で呼び分けているだけなのです。

同じ理由で、ベン図と真理値表も同じものの別表現になります。入力が A と B の2つなら、要素の居場所は「Aだけ/重なり/Bだけ/どちらでもない外側」の4領域しかありません。真理値表の4行と、ベン図の4領域は1対1に対応します。ベン図が「もれなく塗れる」のは、領域が有限個で尽きているからです。

3-3 ド・モルガンの法則がなぜ成り立つのか

ド・モルガンの法則は次の2本です。

  • NOT(A AND B) = (NOT A) OR (NOT B)
  • NOT(A OR B) = (NOT A) AND (NOT B)

これは「証明を思いつく」種類の定理ではありません。入力の組み合わせが4通りしかないので、4通り全部試せば証明が終わります。これを網羅的検証といいます。実際にやってみましょう。

A B A AND B NOT(A AND B) NOT A NOT B (NOT A) OR (NOT B)
0 0 0 1 1 1 1
0 1 0 1 1 0 1
1 0 0 1 0 1 1
1 1 1 0 0 0 0

4列目と7列目が全行で一致しました。これで証明は完了です。「たまたま一致した」のではありません。入力パターンを全部尽くしたのだから、他に反例が存在する余地がないのです。

意味のほうから読むと、当たり前のことを言っています。「AとBの両方は満たさない」=「Aを欠くか、Bを欠くか、少なくとも片方は欠けている」。日本語でもそのとおりですね。ド・モルガンの法則が難しく感じられるのは、内容が難しいからではなく、否定を配ると AND と OR が入れ替わるという「符号の反転」に似た操作を忘れやすいからです。私は生徒に「覚えるより4行書け」と言っています。そのほうが速く、間違えません。

ちなみに前述の「情報Ⅰ」教員研修用教材の演習1は、まさに「A and B の領域を反転したもの」「A or B の領域を反転したもの」のベン図を描かせる問題になっています。反転した図を描くと NAND(否定論理積)と NOR(否定論理和)が現れ、それが (NOT A) OR (NOT B) と (NOT A) AND (NOT B) の図と一致することが、目で分かるようになっています。

3-4 検索の絞り込みは論理演算そのもの

検索エンジンで「共通テスト 情報」と2語を並べると、両方を含むページに絞られます。これは AND 検索であり、「共通テストを含むページの集合」と「情報を含むページの集合」の共通部分をとる操作です。除外検索は NOT、いずれかを含む検索は OR にあたります。

ここで大事なのは、検索が論理演算に「たとえられる」のではなく、検索システムが内部で本当に論理演算をしているということです。多くの全文検索は、語ごとに「どの文書に出現するか」を1ビットずつ記録した索引を持っていて、2語のAND検索はそのビット列同士の AND 演算になります。だから2語目を足すと結果が減り(AND は集合を狭める)、OR を使うと増えます。検索結果の増減は、ベン図の面積の増減とまったく同じ理屈で説明できるのです。

4. 手で確かめる

4-1 真理値表を全ケース書き下す

入力が2つなら4行、3つなら8行、n個なら2のn乗行。これが真理値表の全体です。

A B AND(論理積) OR(論理和) XOR(排他的論理和)
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0

XOR は「どちらか一方だけが1のとき1」です。教員研修用教材の演習1(3)がこれにあたります。OR と XOR の違いは1行目から3行目ではなく、4行目にだけ出ます(OR は1、XOR は0)。ここを取り違えるのが、最も多い失点です。

4-2 ベン図で確かめる(手描きの図で追う)

2つの円が作る4領域を、真理値表の4行と対応させて塗ります。下の6枚は、すべて同じ2円に対して塗り方だけを変えたものです。

AB
A AND B(共通部分)
AB
A OR B(和集合)
AB
NOT A(補集合。Bの一部を含む)
AB
A XOR B(重なりを除く)
AB
NOT(A OR B)
AB
(NOT A) AND (NOT B)

最後の2枚(赤で塗った図)を見比べてください。まったく同じ図になっています。これがド・モルガンの法則の、図による証明です。「Aの外」と「Bの外」の共通部分をとると、必然的に「どちらの円にも入らない外側」だけが残るのです。

4-3 Python で実際に実行して確かめる

以下は私が実際に実行して、出力を確認したコードです。手元のPythonでそのまま動きます。

# ド・モルガンの法則を全4通りで検証する
print("A     B     | not(A and B) | (not A) or (not B)")
for a in (False, True):
    for b in (False, True):
        left  = not (a and b)
        right = (not a) or (not b)
        print(f"{str(a):5} {str(b):5} | {str(left):12} | {str(right)}")

実行結果はこうなります。

A     B     | not(A and B) | (not A) or (not B)
False False | True         | True
False True  | True         | True
True  False | True         | True
True  True  | False        | False

4行すべてで左辺と右辺が一致しました。これで「証明した」と言ってよいのです。入力の全パターンを尽くしているからです。

ビット演算でも同じことが確かめられます。

print(bin(0b1100 & 0b1010))   # AND
print(bin(0b1100 | 0b1010))   # OR
print(bin(0b1100 ^ 0b1010))   # XOR

実行結果は上から 0b10000b11100b110 です。11001010 の各桁を独立に AND / OR / XOR しているだけで、4桁ぶんをまとめて処理しても、中身は1桁ぶんの真理値表と同じです。なお2026年度の共通テスト情報Ⅰでは、第2問Bで「ビット演算による画像の透過・重ね合わせ」が題材になり、真理値表に基づくビットごとのOR演算や、どの論理演算を使うべきかを考える設問が出たと分析されています(東進「共通テスト2026 情報Ⅰ 全体概観・設問別分析」2026年8月3日取得)。

5. 共通テストではこう出る(重要度 S)

5-1 出題実績は一次資料で確認できる

大学入試センターが公表した「令和7年度大学入学共通テスト 試作問題『情報』の概要」によれば、試作問題『情報Ⅰ』第1問の問3は、「コンピュータの基本的な仕組みである論理回路を理解しているか、示された演算処理を実現するための真理値表及び論理回路を考察できるか」を問う設問と説明されています。配点は6点。第1問は問1が4点、問2が6点、問3が6点、問4が4点の計20点という構成です。

出典:独立行政法人大学入試センター「令和7年度大学入学共通テスト 試作問題『情報』の概要」(PDF)/2026年8月3日取得

つまり論理演算は、大学入試センター自身が「問う」と明言している数少ない具体的項目です。私がこの講の重要度を S にしているのは、このためです。

さらに、共通テスト用プログラム表記の仕様のほうにも論理演算は入っています。同じ資料の「5. 共通テスト用プログラム表記の例示」には、比較演算として == != > < >= <= が、論理演算として and(論理積)、or(論理和)、not(否定) の3つが明示されています。プログラムの問題で条件式を読む時点で、この講の内容が前提になっているわけです。

5-2 出題のされ方(設問の構造)

共通テストの問題文は大学入試センターの著作物ですので、ここでは転載せず、構造だけを整理します。

  • 日常の状況を論理演算に翻訳させる型。「こういうときにランプを点ける」といった条件を文章で与え、それを満たす真理値表を選ばせる、あるいは回路図の空欄に AND / OR / NOT を入れさせる。翻訳作業が本体で、演算そのものは易しい。
  • 真理値表と回路図・ベン図の対応を問う型。表が与えられて図を選ぶ、または図が与えられて表を完成させる。
  • プログラムの条件式の中で問う型。条件式が成り立つ場合を答えさせる。論理演算単独の問題に見えないので、取りこぼしやすい。
  • ビット列に対する演算として問う型。画像や信号のデータに対し、桁ごとに AND / OR を施す。

5-3 引っかけはこの5つ

引っかけ 正しい理解
OR と XOR の混同 情報の OR は「両方でもよい」。A=1, B=1 の行で必ず差が出る
NOT の作用範囲 not A and B は (not A) and B。not は and より強く結び付く。カッコを自分で補って読む
ド・モルガンで AND/OR を入れ替え忘れる 「両方60点以上ではない」=「少なくとも一方が60点未満」。「両方60点未満」ではない
AND 検索で結果が増えると思う 語を足すほど条件は厳しくなり、結果は減る
NOT A に B が入らないと思う NOT A の領域は、B の円の一部を必ず含む

6. 情報Ⅱではこうなる

情報Ⅰでの論理演算は、「コンピュータの中で計算が組み立てられる仕組み」として、つまりハードウェア寄りの文脈で扱われます。前述のとおり教員研修用教材でも、AND・OR・NOT から半加算器を作る流れになっていました。

ところが情報Ⅱでは、同じ AND・OR・NOT が「大量のデータから必要な行を取り出す道具」として再登場します。文脈がハードウェアからデータサイエンスへ移るのです。

文部科学省の「情報Ⅱ」教員研修用教材の第3章「情報とデータサイエンス」は、学習11を 「データと関係データベース」 に充てています。そこでは表形式データを蓄積する方法として関係データベース(RDB)を挙げ、RDB を操作するためには SQL(Structured Query Language)を使うと述べています。RDB では行のことをレコード(タプル)、列のことを属性(カラム)と呼ぶことも明記されています。続く学習12「大量のデータの収集と整理、整形」では、Python の pandas を使ってデータフレームからデータを抽出したり集計したりし、RDB と同じように2つのデータを結合したり重複を取り除いたりする作業が扱われます。

出典:文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第3章前半(PDF)/2020年7月公開/2026年8月3日取得

この「抽出する」という操作こそ、論理演算の出番です。SQL の WHERE 句は行を絞り込む部分であり、そこで使う AND・OR・NOT は、本講で扱ったものと完全に同一のものです。実際に SQLite で実行して確認した例を挙げます。

CREATE TABLE seito(name TEXT, math INT, info INT);
INSERT INTO seito VALUES('A',80,90),('B',80,50),('C',40,90),('D',40,50);
SELECT name FROM seito WHERE NOT (math >= 60 AND info >= 60);
SELECT name FROM seito WHERE math < 60 OR info < 60;

実行結果は、どちらの SELECT 文も B・C・D の3件でぴったり一致しました。SQL の WHERE 句の中でも、ド・モルガンの法則はそのまま成り立っているのです。「数学も情報も60点以上、という条件を満たさない生徒」と「数学が60点未満か、情報が60点未満の生徒」は、同じ生徒の集まりを指します。

情報Ⅰと情報Ⅱの違いを表にまとめます。

情報Ⅰ 情報Ⅱ
論理演算の役割 計算を組み立てる部品(半加算器) データを絞り込む道具(WHERE句・フィルタ)
扱う対象 1ビット、または短いビット列 数万行の表・データフレーム
誤りの代償 答えが合わない 間違ったデータで分析してしまう

3行目が本質です。ベン図の塗り間違いは、情報Ⅰでは失点で済みます。しかし情報Ⅱのデータ分析では、間違った母集団を分析して、間違った結論を出すことにつながります。「AかつB」で絞るべきところを「AまたはB」で絞れば、対象は膨れ上がり、平均値はまるで別のものになってしまう。ここが情報Ⅱの学習で最初につまずく場所であり、だからこそ情報Ⅰの段階で真理値表を4行書き切る習慣が効いてくるのです。

なお日本文教出版の情報Ⅱ教科書では、第3章にリレーショナルデータベースの設計が置かれ、章末実習で SQL 操作を扱う構成になっています(同社の教科書紹介ページによります。1社の教科書の構成であり、「情報Ⅱの内容」そのものではない点にご注意ください)。

7. この講のまとめ

  • AND・OR・NOT は「これ以上分解できない」ではなく「これだけあれば全部作れる」という意味での基本である
  • 「属する=1、属さない=0」と決めた瞬間に、集合演算と論理演算は同じものになる
  • 真理値表の4行とベン図の4領域は1対1に対応する。だから網羅できる
  • ド・モルガンの法則は暗記対象ではない。4行書けば証明が終わる
  • 検索の絞り込みは論理演算の比喩ではなく、論理演算そのもの
  • 情報Ⅱでは同じ演算が SQL の WHERE 句・データフレームのフィルタとして再登場する

関連して、『藤原進之介の最強120講義』シリーズ一覧もあわせてご覧ください。数学の学習で行き詰まっている方は 学習状況の診断ページ、高校2年生の方は 高2向けの案内、オンライン指導の仕組みを知りたい方は オンライン数学塾ガイド が参考になります。

この記事を書いた人

藤原進之介(ふじわら しんのすけ)/数強塾 代表

東進ハイスクール・東進衛星予備校・代々木ゼミナールなど出講実績あり。累計3,500名以上の中高一貫校生を指導してきました。「なぜそうなるのか」を原理から説明し、生徒が自分で確かめられる形で渡すことを指導方針にしています。講師プロフィールはこちら講師陣の紹介はこちら

情報Ⅰ・数学の学習について相談したい方へ

数強塾では、進路相談・学習相談を無料で受け付けています。実際の授業を受けてみたい方には体験授業(3,000円・税込)もご用意しています。「論理演算は分かったけれど、プログラミングの問題になると手が止まる」といったご相談も歓迎です。

体験授業・相談のご案内を見る

情報Ⅰ・情報Ⅱの勉強で詰まっていませんか

この記事を書いているのは、情報Ⅰ専門のオンライン個別指導「情報ラボ」(数強塾グループ)です。講義も過去問も無料で公開しているので、まず全部使ってみてください。

情報Ⅰについて相談する(無料)体験授業(3,000円)

お問い合わせの際は、内容欄に「情報Ⅰ希望」とご記入ください。担当者が直接お返事します。

数強塾オンラインのご案内

体験授業に申し込む入塾受け入れ状況(残席)数学つまずき診断(無料)体験授業の事前案内保護者の方へ高1・高2の方へ医学部志望の方へ保護者様からの声料金・指導システム指導事例・合格実績大学受験 合格実績(集計ルール開示)数強塾グループの理念学校別の数学対策数学の勉強法(記事一覧)数強塾プレミアム(映像授業)獣医学部専門コース鉄緑会・SAPIX等との併用サポート過去問解説・数学問題集情報Ⅰ・情報Ⅱ専門「情報ラボ」情報の過去問アーカイブ(無料PDF)解法テクニック事典(公式・裏ワザ)入試数学の定石(解き方の型・全27章)数学の要点辞典まとめ(中1〜数学III)中1数学の要点辞典(全7単元)中2数学の要点辞典(全6単元)中3数学の要点辞典(全8単元)数学I・Aの要点辞典(全9単元)数学II・B・Cの要点辞典(全12単元)数学IIIの要点辞典(全7単元)論理と証明の要点辞典(全8章)2026年 夏期講習会2026年 冬期講習会代表・藤原進之介について