複雑な命題を記述する|述語論理の形式化 - 記号論理学
述語論理を厳密に扱うためには、言語を形式的に定義する必要があります。どのような記号を使い、どのように式を構成するかを明確にすることで、曖昧さのない推論が可能になります。
述語論理の言語
述語論理の言語(一階言語)は、以下の記号から構成されます。
論理記号は、すべての言語で共通して使われます。量化子 ∀, ∃、論理結合子 ¬, ∧, ∨, →, ↔、括弧 (, )、変項 x, y, z, … がこれにあたります。
非論理記号は、特定の領域を表すために用意されます。定項、関数記号、述語記号がこれにあたり、応用によって異なる記号を使います。
量化子、論理結合子、括弧、変項。どの言語でも同じ。
定項、関数、述語。扱う対象に応じて設定。
シグネチャ
非論理記号の集まりをシグネチャ(signature)または言語と呼びます。シグネチャは、各述語記号・関数記号のアリティ(引数の数)も指定します。
たとえば算術のシグネチャには、定項 0、1項関数 S(後者関数)、2項関数 +, ×、2項述語 =, < などが含まれます。
群論のシグネチャには、定項 e(単位元)、1項関数 ⁻¹(逆元)、2項関数 ·(積)などが含まれます。
項の構成
項は再帰的に定義されます。
定項と変項は項です。これが基本です。
f が n 項関数記号で、t₁, …, tₙ が項なら、f(t₁, …, tₙ) も項です。
これ以外は項ではありません。
定項と変項(基本)
関数記号を適用
複合項を得る
論理式の構成
論理式(式、formula)も再帰的に定義されます。
P が n 項述語記号で、t₁, …, tₙ が項なら、P(t₁, …, tₙ) は原子式です。原子式は論理式です。
φ, ψ が論理式なら、¬φ, (φ ∧ ψ), (φ ∨ ψ), (φ → ψ), (φ ↔ ψ) も論理式です。
φ が論理式で x が変項なら、∀x φ と ∃x φ も論理式です。
述語に項を当てはめたもの。最小の論理式。
原子式に論理結合子や量化子を適用したもの。
式の読み方の規約
括弧を省略するための優先順位があります。
¬ が最も優先され、次に ∧, ∨、次に →, ↔ です。量化子は否定と同程度です。
∀x P(x) → Q(x) は (∀x P(x)) → Q(x) と解釈されます。量化子のスコープは最も近い部分式だけです。
日本語から論理式への翻訳
日本語の文を論理式に翻訳する練習は重要です。
「すべての学生は試験を受ける」:S(x) を「x は学生」、T(x) を「x は試験を受ける」として、∀x(S(x) → T(x))。
「ある教授は数学が好きだ」:P(x) を「x は教授」、M(x) を「x は数学が好き」として、∃x(P(x) ∧ M(x))。
「すべての人には友人がいる」:H(x) を「x は人」、F(x, y) を「x と y は友人」として、∀x(H(x) → ∃y F(x, y))。
∀x(A(x) → B(x))
∃x(A(x) ∧ B(x))
翻訳の注意点
日本語は曖昧なことが多いので、翻訳時には意味を明確にする必要があります。
「彼は彼の父を尊敬している」という文で、「彼」が同一人物かどうかで式が変わります。同一人物なら R(x, f(x))(x は f(x) を尊敬)、別人物なら R(x, f(y)) です。
このように、述語論理への形式化は、文の論理構造を明示する作業でもあります。次回は、述語論理における推論規則を学びます。