「一階述語論理」の版間の差分
削除された内容 追加された内容
編集の要約なし |
編集の要約なし |
||
13行目:
のように記号化することができる。ここで、''Px'' と ''Qx'' はそれぞれ「''x'' は人間である」「''x'' は死ぬ」を表し、''a'' はソクラテスを表すことを意図している。上の日本語における推論の妥当性は、一階述語論理において ''Qa'' が { ∀x '''('''''Px'' → ''Qx''''')''' , ''Pa'' } の'''論理的帰結''' (logical consquence) であるという事実に反映されている。一般に、論理式 φ が論理式の集合 Σ の論理的帰結であるとは、Σ の論理式のすべてをみたす解釈は必ず φ もみたすこととして定義され、これは、あるいくつかの前提からある結論が論理的に導かれるという概念の数学的な定式化である。
命題論理においては、論理式の解釈とは各命題記号に対する真理値 0 , 1 の割り当てであ
二階述語論理(およびそれ以上の高階述語論理)では、述語および関数に対する量化を導入する。例えば、同一性 (equality) は二階述語論理においては、''x'' '''=''' ''y'' =<sub>''def''</sub> ∀''P''(''P''(''x'') ↔ ''P''(''y'')) と定義できる。述語や関数に対する量化は一階述語論理では許されない。
41行目:
* 定数記号はアリティ 0 の関数記号と呼ばれることもある。
* 上の定義では述語は 1 以上のアリティを持つとされているが、アリティ 0 の述語も考えることができ、それらは「真」や「偽」を意味するものと考えることができる。しかし「真」は ∀''x''(''x'' '''=''' ''x'') などと別の方法で表せるので、アリティ 0 の述語を導入することに大きな意味はない。
* 括弧の使い方の流儀は様々である。ある人は ∀''x'' を '''('''∀''x''''')''' と書く。括弧の代わりにコロンや終止符を使う場合もある。もちろんその場合には、言語にコロンや終止符を含めておく必要がある。括弧を全く使わない表記法に[[ポーランド記法]]と呼ばれるものがある。これは、∧ や ∨ を先頭に書いて '''('''φ ∧ ψ''')'''
== 項と論理式 ==
56行目:
=== 論理式 ===
項が何らかの対象を表す記号列であったのに対して、論理式は何らかの
: ある正の整数 ''n'' に対するアリティ ''n'' の述語記号 ''P'' と ''n'' 個の項 ''t''<sub>1</sub> , ..., ''t''<sub>''n''</sub> を用いて ''P t''<sub>1</sub> … ''t''<sub>''n''</sub> と表される記号列を'''原子論理式''' (atomic formula) と呼ぶ。
原子論理式を用いて、'''論理式''' (well-formed formula, wff) あるいは'''式''' (formula) は次のように帰納的に定義される:
68行目:
はすべて原子論理式(したがって論理式)であり、
:'''('''¬ '''=+S0S0SS0)''' , '''(=+0'''''x''<sub>5</sub>'''S0''' ∧ '''=+S0S0SS0)''' , ∀''x''<sub>1</sub> '''<0S'''''x''<sub>1</sub> , ∃''x''<sub>2</sub> '''(=+0'''''x''<sub>5</sub>'''S0''' ∧ '''=+S0S0SS0)'''
はすべて論理式である。'''=+S0S0SS0''' , '''<0S'''''x''<sub>1</sub> などの論理式は分かりやすさのため、述語記号を項の間に書いた '''+S0S0 = SS0''' , '''0 < S'''''x''<sub>1</sub> のような表現で表すことが多い。上で述べた項に関する略記法も用いれば、'''+S0S0 = SS0''' はさらに '''S0 + S0 = SS0''' と表される。
=== 自由変数 ===
自然数論の言語における論理式 '''S0 + S0 = SS0''' の各記号を通常の意味で解釈すれば「1 + 1 = 2」となり、これは正しい命題である。'''('''¬ '''S0 + S0
#φ が原子論理式ならば、fr(φ) は記号列 φ に現れるすべての変数からなる集合である。
#fr('''('''¬ φ''')''') = fr(φ) 。
#fr('''('''φ ∧ ψ''')''') = fr('''('''φ ∨ ψ''')''') = fr('''('''φ → ψ''')''') = fr('''('''φ ↔ ψ''')''') = fr(φ) ∪ fr(ψ) 。
#fr(∀''x'' φ) = fr(∃''x'' φ) = fr(φ) - { ''x'' } 。
論理式 φ が自由変数を一切持たないとき、つまり fr(φ) = ∅ のとき、φ は'''閉論理式''' (closed formula) あるいは'''文''' (sentence) と呼ばれる。直観的には、文とは記号に解釈を与えて意味を考えたときに正しいか正しくないかが決まるような論理式である。'''S0 + S0 = SS0''' や ∀''x''<sub>1</sub> '''0 < S'''''x''<sub>1</sub> は文であるが、fr('''0 +'''''x''<sub>5</sub>''' = S0''') = { ''x''<sub>5</sub> } より '''0 +'''''x''<sub>5</sub>''' = S0''' は文でない。
== 論理式の真偽 ==
=== 解釈 ===
はじめに述べたように、一階述語論理の論理式の解釈は、議論領域とそれぞれの非論理記号に対する "意味" の割り当てからなる。正式には、解釈は次のように定義される。
: 一階の言語に対する'''解釈''' (interpretation) あるいは'''構造''' (structure) とは、空でない集合 ''D'' と、非論理記号全体の集合を[[写像|定義域]]とする関数 ''F'' の組 ''M'' = (''D'', ''F'') で次をみたすものをいう:
:#''P'' がアリティ ''n'' の述語記号ならば、''F''(''P'') ⊆ ''D''<sup>''n''</sup> 、すなわち ''F''(''P'') は ''D'' 上の ''n'' 項関係である。
:#''f'' がアリティ ''n'' の関数記号ならば、''F''(''f'') : ''D''<sup>''n''</sup> → ''D'' 、すなわち ''F''(''f'') は ''D'' 上の ''n'' 項演算である。
90 ⟶ 94行目:
== 形式的証明 ==
命題論理においては、'''論理公理'''とよばれる論理式の集合と、ある論理式たちから新たな論理式を導出する規則('''推論規則''')を導入し、論理公理から推論規則の有限回の適用によって得られる論理式全体と[[トートロジー]]全体が一致するようにすることができる([[命題論理#規則の健全性と完全性|命題論理の完全性定理]])。一階述語論理においても、適切に論理公理と推論規則を導入することで、論理公理から推論規則を使って導出される論理式全体と恒真論理式全体が一致するようにできる。
形式的証明の定義の仕方はひとつに限定されない。ここで用いる公理や推論規則は必ずしも規範的な例ではなく、同一の論理を別の形式で表現することも可能である(その場合、与えられた公理から同じ定理が導出される)。▼
=== 論理公理 ===
一階述語論理で採用される公理は以下のものである:
*命題論理の全ての恒真文(命題変項は論理式に置き換える)▼
*量化子についての上述の公理▼
*同一性についての上述の公理(同一性を論理に含める場合)▼
ある文が'''一階述語論理で証明可能'''と言えるのは、述語計算の公理系から始めて推論規則(モーダス・ポネンスと全称化)を繰り返し適用して、その文が得られる場合である。▼
=== 推論規則 ===
101 ⟶ 114行目:
<!-- Universal Generalization が 汎化 でいいのか自信なし(訳者)-->
証明可能性については様々な異なる(しかし互いに等価な)定義の方法がある。上述の定義は[[ダフィット・ヒルベルト|ヒルベルト]]流計算の典型例であり、これは異なる公理を多数用意して推論規則を少なくするスタイルをとっている。[[ゲルハルト・ゲンツェン|ゲンツェン]]流の[[シークエント計算|述語計算]]では逆に、公理を少なくして推論規則を豊富に用意している。「[[自然演繹]]」「[[シークエント計算]]」などを参照。▼
=== 代入に関して ===
=== 同一性 ===
一階述語論理での同一性に関する規約には様々なものがあるが、ここではそのうち主なものを要約する。どの規約に従っても同じ結果が(ほぼ同じ手数で)得られ、違うのは主に用語法だけである。
122 ⟶ 133行目:
:これは一般に、∃!''xP''(''x'') と略記される。
=== 量化子の公理 ===
以下の4つの論理公理が述語計算を特徴付けている。
* PRED-1: ∀''xZ''(''x'') → ''Z''(''y'')
133 ⟶ 144行目:
<!-- * PRED-4: <math> \forall x (Z(x) \rightarrow W) \rightarrow (\exists x Z(x) \rightarrow W) </math> -->
これらは実際には公理図式である。ここで、表現 ''W'' は任意の整論理式であり、''x'' は自由変項ではない。また、表現 ''Z''(''x'') は任意の整論理式であり、''Z''(''y'') は同じ論理式中の ''x'' の自由な出現を全て ''y'' で置換したものを表す。
▲*命題論理の全ての恒真文(命題変項は論理式に置き換える)
▲*量化子についての上述の公理
▲*同一性についての上述の公理(同一性を論理に含める場合)
▲ある文が'''一階述語論理で証明可能'''と言えるのは、述語計算の公理系から始めて推論規則(モーダス・ポネンスと全称化)を繰り返し適用して、その文が得られる場合である。
▲形式的証明の定義の仕方はひとつに限定されない。ここで用いる公理や推論規則は必ずしも規範的な例ではなく、同一の論理を別の形式で表現することも可能である(その場合、与えられた公理から同じ定理が導出される)。
この証明可能性の定義が持つ明らかな問題点は、それが場当たり的に見えることである。つまり、証明に使用する公理や推論規則はなんとなく選んでいるため、本来必要な公理あるいは推論規則を見逃しているかもしれないのである。[[ゲーデルの完全性定理]]は、実際にはそのような心配は無用であることを保証する。それによれば、任意のモデルで真である文はすべて一階述語論理で証明可能である。一階述語論理における「証明可能性」のいかなる適法な定義も、上述の定義と等価なものでなければならない(ただし証明可能性の定義の仕方によって、証明の長さが大きく異なることはありうるが)。▼
▲証明可能性については様々な異なる(しかし互いに等価な)定義の方法がある。上述の定義は[[ダフィット・ヒルベルト|ヒルベルト]]流計算の典型例であり、これは異なる公理を多数用意して推論規則を少なくするスタイルをとっている。[[ゲルハルト・ゲンツェン|ゲンツェン]]流の[[シークエント計算|述語計算]]では逆に、公理を少なくして推論規則を豊富に用意している。
== 健全性と完全性 ==
▲
== 一階述語論理に関する定理 ==
以下、健全性定理と完全性定理以外の重要なメタ定理を列挙する。
# コンパクト性定理 : 論理式の集合 Σ のすべての有限[[部分集合]]が充足可能ならば、Σ は充足可能である。
# レーヴェンハイム・スコーレムの定理 : κ が[[濃度 (数学)|無限基数]]のとき、非論理記号全体の集合の[[濃度 (数学)|濃度]]が κ であるような一階の言語における文の集合がモデルを持つなら、それは濃度 κ 以下のモデルも持つ。
#
#
#
== 他の論理との比較 ==
185 ⟶ 167行目:
* '''新たな量化子を加えた一階述語論理'''は、例えば「……であるような多くの ''x'' が存在する」といった意味の新たな量化子 ''Qx'', ..., を持つ。
こうした論理の多くは、一階述語論理の何らかの拡張と言える。これらは、一階述語論理の論理演算子と量化子を全て含んでいて、それらの意味も同じである。リンドストレムは、一階述語論理の拡張には、レーヴェンハイム
一階述語論理のいくぶんエキゾチックな等価物には、次のものがある。順序対構成をもつ一階述語論理は、特別な関係として順序対の射影を持つ[[関係代数 (数学)|関係代数]](これは[[アルフレト・タルスキ|タルスキ]]と Givant によって構築された)と精確に等価である。
|