コンテンツにスキップ

第1章第2節 命題論理の復習 【基本】

学習目標

様相論理の基礎となる命題論理について確認します。この節では、命題論理の基本要素である命題変数と論理結合子の理解、真理表による厳密な意味論の習得、自然演繹とタブロー法による推論の形式化、そして妥当な論証と健全な論証の重要な区別の把握を目標とします。

本節の概要

命題論理の基盤:命題変数と5つの論理結合子により、複雑な関係を厳密に表現する基本的な言語体系を構築する。

真理関数的意味論:真理表による機械的な意味決定により、論理式の意味を明確化する。

推論システム:自然演繹とタブロー法により、論理的推論を体系的に形式化する。

推論の妥当性:前提から結論への論理的保証を理解し、演繹的推論の理論的基盤を確立する。


1.2.1 構文と意味論

命題論理の基礎理念

様相論理を理解するためには、まずその基礎となる命題論理(Propositional Logic)を確実に理解しておく必要があります。命題論理は、アリストテレスの三段論法に遡る古典的伝統を持ちながら、19世紀後半のフレーゲやラッセルによる現代的形式化を経て、今日の数理論理学の基盤となっています。

命題論理の根本的なアイデアは、複雑な推論を単純で明確な規則に分解することです。論理学では「真理保存性」、つまり前提が真ならば結論も真でなければならないという厳密な要求があります。

日常的推論から論理学へ

私たちは日常的に様々な推論を行っています。例えば:

「もし雨が降っているなら、道路が濡れている。今、雨が降っている。したがって、道路が濡れている。」

このような推論は直観的に正しいと感じます。しかし、なぜ正しいのでしょうか?また、次のような推論はどうでしょう:

「もし雨が降っているなら、道路が濡れている。今、道路が濡れている。したがって、雨が降っている。」

これは正しくありません(スプリンクラーかもしれません)。論理学は、このような推論の正しさを厳密に判定する方法を提供します。

なぜ記号化が必要か

日常言語は豊かで表現力に富んでいますが、同時に曖昧性多義性という問題を抱えています。

例えば「AまたはB」という表現を考えてみましょう。レストランで「コーヒーまたは紅茶はいかがですか?」と聞かれたら、どちらか一方を選ぶことを期待されます(排他的選択)。しかし、契約書で「平日または休日に配達します」とあれば、両方の日に配達される可能性も含みます(包含的選択)。

また、「AならばB」という表現も複雑です。「雨が降れば試合は中止」と聞いて、多くの人は「雨が降らなければ試合は開催」と考えがちですが、論理的にはこれは導けません(他の理由で中止になる可能性があります)。

このような曖昧性を排除し、推論を厳密に行うために、論理学では記号化という手法を用います。記号化により、自然言語の曖昧性を排除し、機械的で確実な推論が可能になります。

命題とその真偽

定義1.1.1 —— 命題と真理値

命題(Proposition):真か偽かが明確に定まる文や主張

例: - 「東京は日本の首都である」(真) - 「2 + 2 = 5」(偽) - 「太陽は東から昇る」(真)

非命題の例: - 「おはようございます」(挨拶) - 「窓を開けてください」(命令) - 「美しい花だ」(主観的判断)

真理値(Truth Value):命題が持つ「真(True)」または「偽(False)」という二つの値

このように、命題論理では文の「真偽が客観的に定まる」ことが重要です。主観的判断や感情表現、命令文などは論理学の対象外となります。

重要なのは、命題が必ず「真」か「偽」のどちらか一方の値を持つことです。これを二値性と呼びます。曖昧な中間状態は許されません。

命題変数による抽象化

実際の推論では、具体的な内容よりも推論の形式が重要です。そこで、具体的な命題を文字で置き換えて抽象化します。

例えば:

  • \(p\):「今日は雨が降っている」
  • \(q\):「道路が濡れている」
  • \(r\):「試合は中止になる」

このように文字(\(p\), \(q\), \(r\) など)で命題を表すことを命題変数と呼びます。命題変数を使うことで、推論の形式的構造に集中できます。

命題の組み合わせ

単純な命題から、より複雑な命題を作ることができます。日常言語では、「そして」「または」「〜でない」「〜ならば」などの言葉を使って命題を組み合わせます。

例えば:

  • 「雨が降っているそして風が強い」
  • 「コーヒーまたは紅茶を飲む」
  • 「今日は雨が降っていない
  • もし雨が降るなら試合は中止」

論理学では、これらの接続表現を厳密に定義し、論理結合子として形式化します。

論理結合子の導入

定義1.1.2 —— 論理結合子の体系

命題論理における5つの基本的な接続表現とその形式化:

  1. 否定:「〜でない」という否定の表現
  2. 連言:「〜かつ〜」という同時成立の表現
  3. 選言:「〜または〜」という選択的表現
  4. 含意:「〜ならば〜」という条件的表現
  5. 同値:「〜と〜は同じ」という等価関係の表現

これらの日常的な接続表現を、数学的に厳密に定義するために、それぞれに対応する記号を導入します。なぜ記号を使うのでしょうか?それは、自然言語の曖昧性を完全に排除し、世界中の研究者が同じ意味で理解できる普遍的な言語を作るためです。

各論理結合子の詳細

1. 否定(Negation)

最も単純な結合子は「否定」です。「雨が降っていない」「試合は中止ではない」のように、ある命題を否定します。

  • 自然言語:「〜でない」「〜ではない」
  • 記号:\(\neg\)(「ノット」と読む)
  • 例:\(p\) が「雨が降っている」なら、\(\neg p\) は「雨が降っていない」

2. 連言(Conjunction)

二つの命題が両方とも成立することを表します。

  • 自然言語:「〜かつ〜」「〜そして〜」「〜であり、同時に〜」
  • 記号:\(\land\)(「アンド」と読む)
  • 例:\(p \land q\) は「雨が降っているかつ風が強い」

3. 選言(Disjunction)

少なくとも一方が成立することを表します(包含的選言)。

  • 自然言語:「〜または〜」「〜か〜」
  • 記号:\(\lor\)(「オア」と読む)
  • 例:\(p \lor q\) は「雨が降っているまたは風が強い」(両方でも可)

4. 含意(Implication)

条件的関係を表します。前件が真なら後件も真でなければなりません。

  • 自然言語:「もし〜ならば〜」「〜の場合〜」
  • 記号:\(\rightarrow\)(「ならば」または「インプライズ」と読む)
  • 例:\(p \rightarrow q\) は「もし雨が降っているならば道路が濡れている」

5. 同値(Biconditional)

双方向の含意、つまり完全に同じ真理条件を持つことを表します。

  • 自然言語:「〜と〜は同値」「〜のときかつそのときに限り〜」
  • 記号:\(\leftrightarrow\)(「同値」または「イフ・アンド・オンリー・イフ」と読む)
  • 例:\(p \leftrightarrow q\) は「スイッチがオンのときかつそのときに限り電気がつく」

記号のまとめ

記号 読み方 自然言語 論理的意味
\(\neg\) ノット 〜でない 否定
\(\land\) アンド 〜かつ〜 連言(両方真)
\(\lor\) オア 〜または〜 選言(少なくとも一方真)
\(\rightarrow\) ならば もし〜ならば〜 含意(条件的関係)
\(\leftrightarrow\) 同値 〜のときかつそのときに限り〜 双方向含意

論理式の段階的構築

これらの記号を使って、徐々に複雑な論理式を構築していきましょう。

ステップ1:単純な否定

まず最も簡単な例から始めます:

  • 自然言語:「今日は雨が降っていない」
  • 命題変数:\(p\) = 「今日は雨が降っている」
  • 論理式:\(\neg p\)

ステップ2:二つの命題の結合

次に、二つの命題を結合してみます: - 自然言語:「雨が降っていて、風も強い」 - 命題変数:\(p\) = 「雨が降っている」、\(q\) = 「風が強い」 - 論理式:\(p \land q\)

ステップ3:条件文の表現

条件的な関係も表現できます: - 自然言語:「もし雨が降っているなら、試合は中止だ」 - 命題変数:\(p\) = 「雨が降っている」、\(r\) = 「試合は中止だ」 - 論理式:\(p \rightarrow r\)

ステップ4:複雑な論理式

これらを組み合わせて、より複雑な推論を表現できます: - 自然言語:「雨が降っているか風が強いなら、試合は中止だ」 - 論理式:\((p \lor q) \rightarrow r\)

括弧を使って、結合の優先順位を明確にしています。この式は「pまたはqが真なら、rも真」という意味です。

ステップ5:実際の推論への応用

最初に見た推論を記号化してみましょう: - 前提1:「もし雨が降っているなら、道路が濡れている」→ \(p \rightarrow q\) - 前提2:「雨が降っている」→ \(p\) - 結論:「道路が濡れている」→ \(q\)

この推論は記号的に「\((p \rightarrow q) \land p\) から \(q\) を導く」と表現できます。

自然言語との重要な違い

論理記号を使う際に注意すべき、日常言語との重要な違いがあります:

「または」の解釈

  • 日常語:「コーヒーまたは紅茶」→ 通常どちらか一方(排他的)
  • 論理:\(p \lor q\) → 少なくとも一方、両方でも可(包含的)

「ならば」の解釈

  • 日常語:因果関係や時間的順序を含意することが多い
  • 論理:\(p \rightarrow q\) → 純粋に真理値の関係のみ

このような厳密な定義により、論理学は曖昧さのない推論を可能にします。

日常語の論理的落とし穴

「AまたはB」の解釈

  • レストランで「コーヒーまたは紅茶はいかがですか?」→ 通常は排他的(どちらか一方)
  • 契約書で「平日または休日に配達」→ 包含的(両方の日も可能)
  • 論理学では一貫して包含的選言を採用

「AならばB」の日常的誤用

  • 「雨が降れば試合は中止」を「雨が降らなければ試合は開催」と誤解
  • 論理的には後者は言えない(他の理由でも中止の可能性)
  • 含意の逆は必ずしも成り立たない

「すべて」と「いくつかの」

  • 「すべての学生が合格した」が偽 ≠ 「すべての学生が不合格」が真
  • 正しくは「いくつかの(少なくとも一人の)学生が不合格」

1.2.2 真理表と意味論

真理関数的意味論の基礎

定義1.1.3 —— 真理関数的意味論

真理表(Truth Table):各論理結合子について、すべての可能な真理値組み合わせに対する出力を表で定義する方法

真理関数的意味論:複合命題の真理値が、その構成要素の真理値のみによって機械的に決定される意味論的原理

合成性の原理:全体の意味が部分の意味から体系的に決定される言語の基本的性質

命題論理の意味は真理表(Truth Table)によって定義されます。これは各論理結合子の意味を、すべての可能な真理値の組み合わせについて表にしたものです。この手法は19世紀後半のフレーゲとピアースによって開発され、現代論理学の基盤となっています。

真理表の本質は真理関数的意味論にあります。つまり、複合命題の真理値は、その構成要素の真理値のみによって決定されるという原理です。これは合成性の原理とも呼ばれ、論理的意味決定の基本的な原則となります。

真理表の実用的応用

コンピュータ科学での応用

  • 論理回路設計:AND、OR、NOTゲートは論理結合子の物理的実装
  • プログラミング:if文の条件判定やブール演算
  • データベース:WHERE句の複合条件検索

日常的な意思決定

  • 「晴れかつ時間がある」→ピクニックに行く
  • 「雨または寒い」→ 外出しない
  • 複雑な条件を真理表で整理すると判断ミスが減る

真理値記号の統一

記号 意味 英語 数値表現
T True 1
F False 0

全論理結合子の真理表分析

1. 否定(¬)

\(p\) \(\neg p\)
T F
F T

否定は最も基本的な論理演算であり、任意の命題の真理値を単純に反転させる操作です。

具体例

  • \(p\): 「今日は晴れている」が真の場合
  • \(\neg p\): 「今日は晴れていない」は偽となる

2. 連言(∧)

\(p\) \(q\) \(p \land q\)
T T T
T F F
F T F
F F F

連言は複数条件の同時満足を表現します。すべての構成要素が真である場合のみ全体が真となる厳密な論理演算です。

具体例

  • \(p\): 「太郎は学生である」
  • \(q\): 「太郎は20歳である」
  • \(p \land q\): 「太郎は学生であり、かつ20歳である」

この連言が真となるのは、太郎が学生でありかつ20歳である場合のみです。

3. 選言(∨)

\(p\) \(q\) \(p \lor q\)
T T T
T F T
F T T
F F F

選言は代替可能性を表現します。この包含的選言は、日常思考の排他的選言(「AかBかどちらか一方」)と異なり、両方とも可能な場合を含みます。少なくとも一つの構成要素が真であれば全体が真となります。

具体例

  • \(p\): 「太郎は数学者である」
  • \(q\): 「太郎は哲学者である」
  • \(p \lor q\): 「太郎は数学者であるか、哲学者である」

この選言は、太郎が数学者のみ、哲学者のみ、または両方である場合に真となります。

なぜ直観と異なるのか: 日常言語の「または」は多くの場合、選択肢の相互排他性を暗示します(「コーヒーか紅茶か」では通常両方は選ばない)。しかし論理学では、選言の定義を「少なくとも一方が真」として統一することで、論理的推論の体系性と完全性を保っています。もし排他的選言を基本とすれば、「両方とも真」の場合の扱いが複雑になり、論理体系の簡潔性が損なわれます。包含的選言を採用することで、すべての可能な真理値の組み合わせが明確に定義され、機械的な推論が可能になるのです。

4. 含意(→)

\(p\) \(q\) \(p \rightarrow q\)
T T T
T F F
F T T
F F T

重要なのは、行2(T,F)のみが含意を偽にすることです。前件が真で後件が偽の場合のみ、含意は偽となります。その他の場合はすべて真となります。特に「前件が偽なら含意は真」という空虚真理(vacuous truth)の概念は、直観と対立することがあります。

具体例

  • \(p\): 「雨が降っている」
  • \(q\): 「地面が濡れている」
  • \(p \rightarrow q\): 「雨が降っているならば、地面が濡れている」

この含意は以下の場合に真となります:

  1. 雨が降り、地面が濡れている(T, T → T)
  2. 雨が降らず、地面が濡れている(F, T → T):他の原因で濡れている
  3. 雨が降らず、地面も濡れていない(F, F → T):矛盾がない

偽となるのは「雨が降っているのに地面が濡れていない」(T, F → F)場合のみです。

空虚真理の論理的根拠: 「前件が偽なら含意は真」という規則(ケース2と3)は直観的に奇妙に感じられますが、これには深い論理的理由があります:

  1. 反証可能性の原理:含意「pならばq」が偽であると言えるのは、pが真でありながらqが偽である場合のみです。pが偽の場合、含意の主張は何も検証されていないため、反証されていないことになります。

  2. 論理体系の一貫性:もし前件が偽の場合に含意を偽とすれば、「偽から何でも導ける」(爆発律:ex falso quodlibet)という重要な論理法則が成り立たなくなります。

  3. 数学的証明との整合性:数学において「すべてのユニコーンは不死である」という命題は真とされます。なぜなら、ユニコーンが存在しない以上、この普遍命題を反証する事例が存在しないからです。同様に「すべての偶数の奇数は3で割り切れる」も空虚真理です(偶数の奇数は存在しない)。

このように、空虚真理は論理体系の完全性と一貫性を保つための必然的な帰結なのです。

5. 同値(↔)

\(p\) \(q\) \(p \leftrightarrow q\)
T T T
T F F
F T F
F F T

同値関係は双方向的関係定義的関係を表現します。両方の命題が同じ真理値を持つ場合のみ真となります。

具体例

  • \(p\): 「今日は月曜日である」
  • \(q\): 「今日は週の最初の日である」
  • \(p \leftrightarrow q\): 「今日は月曜日であることと、今日が週の最初の日であることは同値である」

この同値は、両方が真(月曜日かつ週の最初の日)または両方が偽(月曜日でなくかつ週の最初の日でない)の場合に真となります。定義的関係を表現する重要な論理結合子です。


1.2.3 自然演繹とタブロー法

命題論理では、論理的推論を体系化するためのいくつかの証明システムがあります。ここでは自然演繹(Natural Deduction)とタブロー法(Tableau Method)という二つの主要な方法を紹介します。

自然演繹システム

自然演繹は、人間の自然な推論過程を形式化した証明システムです。各論理結合子に対して導入規則(Introduction Rules)と除去規則(Elimination Rules)が定められています。

  • 導入規則:ある論理結合子を含む式を「作る」ための規則
  • 除去規則:ある論理結合子を含む式から情報を「取り出す」ための規則

基本的な推論規則

連言の規則

  • 導入規則(∧I):\(\phi\)\(\psi\) から \(\phi \land \psi\) を導出
  • 除去規則(∧E):\(\phi \land \psi\) から \(\phi\) または \(\psi\) を導出

選言の規則

  • 導入規則(∨I):\(\phi\) から \(\phi \lor \psi\) を導出
  • 除去規則(∨E):場合分けによる推論

含意の規則

  • 導入規則(→I):\(\phi\) を仮定して \(\psi\) を導けば \(\phi \rightarrow \psi\)
  • 除去規則(→E):\(\phi \rightarrow \psi\)\(\phi\) から \(\psi\)前件肯定、Modus Ponens)
記号 読み方 意味
∧I 連言導入 And Introduction
∧E 連言除去 And Elimination
→I 含意導入 Implication Introduction
→E 含意除去 Implication Elimination

自然演繹の具体的証明例

\((p \land q) \rightarrow (q \land p)\) の証明を自然演繹で行ってみましょう:

自然演繹による証明

  1. | p ∧ q 仮定
  2. | p 1, ∧E (左)
  3. | q 1, ∧E (右)
  4. | q ∧ p 3,2, ∧I
  5. (p ∧ q) → (q ∧ p) 1-4, →I

証明の読み方

  • 行1:\(p \land q\) を仮定として置く
  • 行2:連言除去規則により\(p\)を導出
  • 行3:連言除去規則により\(q\)を導出
  • 行4:行3と行2から連言導入規則により\(q \land p\)を導出
  • 行5:行1-4の推論により含意導入規則を適用し、最終結論を得る

タブロー法

タブロー法は、論理式の充足可能性を調べる決定手続きです。これは背理法(間接証明法、reductio ad absurdum)の原理を使っており、証明したい結論の否定を仮定し、そこから矛盾を導くことで元の結論が正しいことを示します。

背理法の基本原理: 「命題Aを証明したい場合、¬A(Aの否定)を仮定する。この仮定から論理的推論を進めて矛盾に至れば、元の仮定¬Aが偽であることが示される。したがってAが真である」

背理法の応用例

数学での応用

  • √2が無理数であることの証明:「√2は有理数である」と仮定し、これが矛盾を導くことを示す
  • 素数が無限個存在することの証明:「素数は有限個しかない」と仮定し、矛盾を導く

統計的仮説検定との関連

統計学の仮説検定は背理法の構造と本質的に同じです:

  1. 帰無仮説(H₀)を設定(例:「薬の効果はない」)
  2. この仮説の下でデータが観測される確率を計算
  3. その確率が極めて小さければ(p < 0.05など)、帰無仮説を棄却
  4. よって対立仮説(「薬に効果がある」)を採択

これは「効果がない」と仮定して矛盾(稀な事象の発生)を導く背理法と同じ論理構造です。

タブロー法の基本手順

  1. 否定の仮定:証明したい式 \(\phi\) の否定 \(\neg\phi\) から開始することで、間接証明の手法を用います
  2. 分解規則の適用:複合式を構成要素に分解し、より単純な形に変換します
  3. 閉鎖の判定:各枝で矛盾(同じ命題の肯定と否定が同時に現れること)が見つかれば、その枝は「閉鎖」されます。すべての枝が閉鎖されれば \(\phi\) は妥当であることが証明されます

分解規則の例

  • \(\neg(\phi \land \psi)\)\(\neg\phi \lor \neg\psi\)(ド・モルガンの第一法則、詳細は1.1.5節参照)
  • \(\phi \rightarrow \psi\)\(\neg\phi \lor \psi\)(含意の定義)

タブロー法の具体的証明例

\((p \rightarrow q) \rightarrow (\neg q \rightarrow \neg p)\) の証明を行ってみましょう:

タブロー法による証明

  1. ¬((p → q) → (¬q → ¬p)) 仮定(証明したい式の否定)
  2. p → q 1の分解
  3. ¬(¬q → ¬p) 1の分解
  4. ¬q 3の分解
  5. ¬¬p 3の分解
  6. p 5の二重否定除去
  7. ¬p ∨ q 2の含意分解 | ├─ ¬p 7の選言分解(左枝) │ ✗ 6のpと矛盾で閉鎖 │ └─ q 7の選言分解(右枝)
    ✗ 4の¬qと矛盾で閉鎖

証明の読み方

  • 左枝では ¬p と p が同時に現れ、右枝では ¬q と q が同時に現れて、どちらも矛盾が生じました
  • このように全ての可能性で矛盾が生じたため、元の仮定「¬((p → q) → (¬q → ¬p))」が偽であることが示されました
  • したがって証明したい式 \((p \rightarrow q) \rightarrow (\neg q \rightarrow \neg p)\) は妥当である
  • これは対偶法則(contraposition)と呼ばれる重要な論理法則で、「pならばq」と「qでないならpでない」が論理的に同値であることを示している

1.2.4 妥当性と健全性

定義1.1.4 —— 論証の評価基準

妥当な論証(Valid Argument):前提が真である場合に結論も必ず真となる論証の論理的構造

健全な論証(Sound Argument):妥当でありかつ前提が実際に真である論証(論理的正しさ + 事実的正しさ)

重要な区別:妥当性は論理的形式の問題、健全性は内容の真理性も含む総合的評価

命題論理では、論証の正当性を評価するための重要な概念があります。妥当な論証(Valid Argument)とは、前提が真である場合に結論も必ず真となる論証のことです。一方、健全な論証(Sound Argument)とは、妥当でありかつ前提が実際に真である論証を指します。

妥当な推論の例

以下は前件肯定(Modus Ponens)と呼ばれる妥当な推論形式の例です:

推論例:前件肯定(Modus Ponens)

一般形

  • 前提1:もし p ならば q である (p → q)
  • 前提2:p である (p)
  • 結論:q である (q)

具体例

  • 前提1:もし雨が降っているならば、地面が濡れている
  • 前提2:雨が降っている
  • 結論:地面が濡れている

この推論形式は \(\frac{p \rightarrow q, \quad p}{q}\) と表現され、論理的に妥当です。前提が真であれば結論も必ず真となります。

妥当でない推論の例

一方、以下は後件肯定の誤謬(Affirming the Consequent)と呼ばれる妥当でない推論です:

誤謬例:後件肯定の誤謬

一般形

  • 前提1:もし p ならば q である (p → q)
  • 前提2:q である (q)
  • 結論:p である (p)

具体例

  • 前提1:もし雨が降っているならば、地面が濡れている
  • 前提2:地面が濡れている
  • 結論:雨が降っている

注意:この推論は妥当ではありません

この推論は妥当ではありません。地面が濡れる原因は雨以外にも存在する可能性があるからです(散水、水道管の破裂など)。

演繹推論の特徴

命題論理の推論は演繹的推論の一種です。演繹的推論では、前提が真であれば結論も必ず真となります。これは帰納的推論(前提が真でも結論の真理性は保証されない)とは異なる論理的性質を持ちます。演繹的推論は論理的確実性を提供し、数学的証明や形式的な理論体系の基盤となります。


まとめ

この節では、様相論理の基礎となる命題論理について学習しました。重要なポイントは以下の通りです:

命題論理の基本要素である命題変数と論理結合子により、複雑な論理的関係を厳密に表現できます。真理表による意味論的定義は、論理的概念の精密な意味決定を可能にし、論理学の数学的基盤を提供します。

推論システムである自然演繹とタブロー法により、論理的推論を体系的に形式化できます。これらの手法は、様相論理の証明システムの基礎となります。

妥当性と健全性の区別により、論理的推論の質を評価できます。妥当な推論形式と誤謬のパターンを理解することで、論理的思考の精度を向上させることができます。

これらの基礎的理解の上に、次節で学ぶ述語論理と量化子の概念が構築されます。

次節への展望

次の第3節「述語論理の復習」では、命題論理では表現できない個体と性質の関係、量化子による一般的な文の形式化、そして集合論の基礎概念について学習します。これらは様相論理の意味論や認識論理において不可欠な基礎となります。


参考文献

  • Aristoteles (1989). Analytica Priora. 『オルガノン1 分析論前書』(山本光雄訳)岩波文庫.
  • Bergmann, M., Moor, J., & Nelson, J. (2013). The Logic Book (6th ed.). McGraw-Hill.
  • Frege, G. (1879). Begriffsschrift, eine der arithmetischen nachgebildete Formelsprache des reinen Denkens. Halle: Nebert.
  • 飯田隆 (1989). 『言語哲学大全II 意味と様相(下)』勁草書房.
  • Hurley, P. J. (2014). A Concise Introduction to Logic (12th ed.). Cengage Learning.
  • Mendelson, E. (2015). Mathematical Logic. Chapman and Hall/CRC.
  • Peirce, C. S. (1885). On the algebra of logic: A contribution to the philosophy of notation. American Journal of Mathematics, 7(2), 180-202.
  • Russell, B., & Whitehead, A. N. (1910-1913). Principia Mathematica (3 vols.). Cambridge University Press.
  • Shoenfield, J. R. (2001). Mathematical Logic. A K Peters/CRC Press.