1. 概要

このチュートリアルでは、一階述語論理の基礎を研究し、その理論的および概念的基盤に慣れます。

まず、自然言語と形式言語の関係を研究することから始めます。 続いて、一階述語論理と命題論理を比較します。 そうすることで、前者が持つ特定の特徴と、後者よりもそれを使用することが有利な場合を学びます。

最後に、一次構造の表記法と構文について学習します。 これにより、自然言語の式を一階述語論理の有効な式に変換できます。

このチュートリアルの最後に、一階述語論理とは何か、そしてそれが命題論理とどのように異なるかを理解します。 また、その構文規則も理解し、自然言語表現を1次表現に変換できるようになります。

2. 一階述語論理と自然言語

2.1. 自然言語と論理コンピューティング

一階述語論理は、他のすべての形式論理システムと同様に、自然言語を計算可能な形式に形式化するための方法です。 これにより、言語文で表現された問題を正式に処理することができます。 次に、自然言語の形式化から、定理を定式化して証明する能力を導き出します。これにより、数学、コンピューターサイエンス、哲学などの分野で推論を行うことが可能になります。

自然言語の形式化の問題は、哲学自体と同じくらい古いです。 しかし、コンピュータサイエンスの分野では、論理式を処理するための最初のシステムが開発された1950年代にその基盤があります。 そのようなシステムの最初のものには厳しい制限がありましたが、特に、それらは命題論理でのみ機能し、述語論理では機能しませんでした。

命題論理では、一般的で可変のコンテンツを持つ変数や関数を推論することはできません。つまり、抽象化の能力が制限されています。 これは、最初の論理コンピューティングシステムが、命題空間が部分空間であるベクトル空間に解決策がある問題を解決できなかったことも意味します。 この問題は、正式な論理システム一階述語論理の開発のおかげで克服されました。これは変数を含み、したがって抽象化を可能にします。

2.2. 自動推論と推論

今日、一次推論は、機械学習システムの記号推論の基本的なコンポーネントです。 最新のエキスパートシステムはすべて、一階述語論理または高階論理を使用します。これにより、抽象的な推論と推論を自動化された方法で実行できます。

一階述語論理に特化したプログラミング言語もあります。 これらの中で最も有名なのはPrologで、頭字語はかなり紛らわしい方法で「命題論理」を表しますが、その構文は一階述語論理の構文に大部分対応しています。 Prologは、知識ベースを迅速に構築できることを特徴としており、知識をエンコードできるようにするために、人間のアナリストによるトレーニングはほとんど必要ありません。

一階述語論理を使用する知識表現と推論のその他のソリューションは、DroolsjBPMであり、それぞれのチュートリアルでそれらの詳細を読むことができます。

3. 命題論理と一階述語論理の違い

命題論理に関する前回のチュートリアルでは、この論理システムが持つ特有の特性について説明しました。 したがって、命題論理と一階述語論理の間にどのような類似点と相違点が存在するかを特定することは有用です。後者は前者から派生しているからです。 これにより、言語の論理形式化に対する2つのアプローチの長所と短所が何であるかを理解できるようになります。

2つの最初の違いは、一階述語論理に命題論理が含まれているという事実に関連していますが、その逆は当てはまりません。 つまり、命題論理で表現されたすべての問題は一階述語論理で処理できますが、一階述語論理のすべての問題を命題論理で処理できるわけではありません。 これは特に、後で詳しく説明するように、「すべて」、「任意」、「一部」、「なし」などの量指定子を使用することによってのみ表現できる問題に関係します。

2番目の違いは、2つの形式体系の公式を構成する基本単位の性質に関連しています。 命題論理は、論理式を構成するために命題と論理演算子を使用します。 一階述語論理は、それらに加えて、変数、数量詞、および関係も使用します。 次のセクションでは、これらの新しい概念の意味を説明します。

3番目の違いは、2つのシステムによって表現される式の抽象化の能力に関するものです。 命題論理では、システムは、パーツの変更または未決定を含む問題を処理することを許可しません。 これは、命題論理で見つかった式の解の有効性がその式に制限されることを意味します。 対照的に、一階述語論理では、一般化の能力が高い式を作成することができます。

次の表は、2つのシステムの主な違いをまとめたものです。

4. 一階述語論理の構文

4.1. 論理記号

一階述語論理には、論理記号と非論理記号の2つのクラスのいずれかに属する記号で構成される構文があります。

論理記号は、論理演算子または接続詞に対応する記号です。 このような記号の例には、命題論理の対応する演算子と同じ機能を提供する論理演算子、、が含まれます。 このタイプの論理記号は、常に、それらが表す論理演算の意味でのみ解釈され、その意味は、一階述語論理を使用する議論の領域によって条件付けられることはありません。

言い換えれば、化学、物理学、コンピュータサイエンスのいずれの理論についても、形式の式の意味はその構成要素によって異なる場合がありますが、記号は常にを意味します。 これは、論理記号が常に明確な意味を持つことを意味します。

4.2. 非論理記号

非論理記号は、述語と関係だけでなく、定数と関数も含みます。 非論理記号に関連する意味はドメイン固有であり、自然言語での文への変換には、変換規則と解釈が必要です。

例として、それがであるということを示す式を取り上げましょう。 次に、適切な変換ルールを使用して、この式をさまざまなコンテキストで直感的に解釈できる方法を見てみましょう。

  • 果物について言えば、リンゴ を意味する場合、リンゴは緑を意味します
  • 化学では、水素を意味し、 原子である場合、水素は(an)原子を意味します。
  • 物理学では、電子を意味し、がレプトンである場合、電子は(a)レプトンを意味します。

この記事の後半で、数式を解釈する方法を正式に学習します。

4.3. 一階述語論理におけるアリティ

述語と関数にもアリティがあります。これは、述語holdを表す引数またはパラメーターの数を示します。 最も一般的なアリティは、 nullary unary binary 、および ternary、です。これらの定義と例については、この表を参照してください。 :

関数のアリティは、述語のアリティとまったく同じことを意味します。 つまり、その変数の数。

4.4. 述語

述語は数式の基本的なコンポーネントであり、オブジェクト間の関係を示します。 これらの関係は、談話ドメインで許可されている関係のいずれでもかまいません。

たとえば、家族関係のドメインでは、述語は兄弟にすることができます。 ビジネス関係のコンテキストでは、述語は の従業員、 の子会社、によって制御されます。 この父親とこの母親の息子などのより複雑な述語も定義できます

一般に、大文字の変数の有限セットと、角かっこの間では、そのセットの順序付けられた要素(。など)の間の関係を示します。 すると、述語は arity n である、または同等に、用語を参照しているため、n-aryであると言えます。

述語は単項よりもアリティが高くなる可能性があります。 述語は、1つだけでなく、2つ以上の用語を参照することもできます。 この場合、またはなどのように、追加のコンマで区切ることによって追加の変数を示します。

たとえば、この父親とこの母親の三項関係息子は、3つの変数、、、の間の述語として示すことができます。 次に、、、、およびに値を割り当てると、述語を次のように変換できます。

4.5. 述語の自然言語への翻訳

一階述語論理を使用する多くのプログラミング言語の慣例に従って、述語の最初の引数は通常、文の主語に変換され、2番目の引数は通常その属格に変換されます。または所有格:

  • に翻訳されるかもしれませんポールはリチャードの兄弟です
  • に翻訳される可能性があります氏 スミスは氏の従業員です。 Doe
  • に翻訳されるかもしれませんリンゴは木の実です

1より大きいアリティの述語の場合、最初の引数をサブジェクトに割り当てる規則は、1次式の解釈を標準化する試みに由来します。 この規則に従わなかった場合、上記の例の2番目の述語は、あいまいに次のように変換される可能性があります。 氏 スミスは氏の従業員です。 Doe 、 また氏 DoeはMr.の従業員です。 スミス。

ただし、述語のアリティは0に等しい場合もあります。その場合、述語は角かっこなしの大文字で示されます。 たとえば、nullary述語は、特定の式のコンテキストで定数として扱う論理命題を表す場合があります。 ソクラテス以外の人に一般化することに興味がない場合、命題はアリティゼロの述語として扱うことができます。

命題論理の一般化として扱うことができるように、アリティゼロの述語を一階述語論理に含める必要があります。 nullary述語と論理演算子のみで構成される一階述語論理の式は、実際、命題論理の論理式です。

あるいは、nullの述語を一階述語論理の用語と見なすことができます。これにより、そのコンテキストで論理式として扱うことができます。 すぐにわかるように、項は実際、一階述語論理の論理式の基本要素です。

4.6. 用語、変数、および関数

命題論理において、論理式の基本単位がどのように原子命題であるかを研究しました。 一階述語論理では、これらの基本単位は項であり、変数と関数で構成されます。

変数は数式の可変部分であり、すべて個別に用語と見なされます。 たとえば、記号が10より小さい奇数の自然数を示している場合、は集合の任意の要素の値をとることができる変数です。 次に、そのシンボルを含む式で、そのシンボルをtermと呼びます。

関数も用語ですが、変数とは対照的に、変数や他の関数などの他の用語を参照してください。 たとえば、関数を定義する場合、は2つの変数とを参照する用語です。

関数は、述語と同じように、アリティによって特徴付けられます。そのため、項を持つ関数はn-aryと呼ばれます。 エッジの場合、関数はアリティゼロを持つこともできます。その場合、定数と呼ばれます。たとえば、関数はnullary関数であり、発生する場所でシンボル5に置き換えることができます。 。 これにより、論理式を作成するための用語として定数を扱うことができます。

4.7. 自然言語の量指定子

数量詞は一階述語論理の特別なコンポーネントであり、いくつかの述語に関連して数値または数量を考慮する式の定義を可能にします。 英語では、無期限形容詞とも呼ばれます。 これらには、 any some all、noneなどの形容詞が含まれます。

量指定子を含む文の例は次のとおりです。

  • いくつかのリンゴは緑色です
  • すべてのリンゴは緑色です
  • 緑のリンゴはありません

命題論理では、これらの3つの文が多くの異なる原子命題にどのように対応しているかに注意してください。 ただし、一階述語論理では、それらはすべて同じ述語とオブジェクトの関係に対応しますが、数量詞が異なります。 このアイデアは、正式な定義を見る前に、次のように非公式に表現することができます。

  • (一部はありません)緑(りんご)

4.8. 論理の量指定子

との2つの記号を使用することで、より正式に数量詞を定義できます。 それらはそれぞれ、allexistsを英語で翻訳します。これらは両方とも、それらを含む式の変数の前にあり、次のように書くことができます。 。 複数の変数が数量詞を使用する場合、各数量詞は通常、変数ごとに繰り返されます:、。

変数が述語を参照している場合、原則として数量詞は述語に先行します:、。 量指定子を含む単純な式は、すぐに変換できます。

自然言語の文に、somenoneなど、一階述語論理で明示的に定義されていない量指定子が含まれている場合は、次の表を使用して変換を実現できます。

5. 論理式

次の規則に従って、項、述語、および数量詞を複合することにより、最終的に一階述語論理の論理式を定義できます。

最初のルールは、用語で構成される述語は、それ自体で有効な式であると述べています。 これは、フォームの述語がそれ自体で有効な式を構成することを意味します。

2番目のルールは、用語間の同等性は有効な式であると述べています。 これは、、、、およびがすべて有効な式であることを意味します。これは、これらが項と等号のみで構成されているためです。

3番目のルールは、数式に適用される単項論理演算子も数式を構成することを示しています。 つまり、が数式の場合、は数式でもあります。 たとえば、が式に対応する場合、に対応するのも式です。

4番目のルールは、1より大きいアリティの論理演算子に関するものです。 これらの論理演算子で接続された数式も数式です。 とが2つの式である場合、、、およびもすべて有効な式です。

最後のルールは数量詞に関連しており、が項を含む式である場合、およびは式でもあると述べています。 与えられた式に数量詞が割り当てられる変数は、その式のバインドされた項と呼ばれますが、反対の場合は自由項と呼ばれます。 バインドされた用語のみを含む式は、バインドされた用語の特定の値に依存しない真理値を1つだけ持つことができるため、特別です。

6. 一次式の例

6.1. 一部のリンゴは緑色です

これで、1次式のいくつかの例と、特定の談話領域に対するそれらの解釈を見ることができます。 これにより、自然言語から一次数式を抽出する方法、および逆に数式からそれに変換する方法を理解できます。

最初の式は、以前に調査した「一部のリンゴは緑色です」という文に対応しています。

これを一次式に変換するには、次のように定義する必要があります。

  • 変数
  • 「xはリンゴ」に対応する単項述語、および「xは緑」に対応する単項述語

次に、その文を数式に変換できます。

6.2. レストラン、映画館、ポップコーン

変換する2番目の文は、「ポップコーンを販売するレストランはありませんが、映画館は販売しています」です。

最初にこの文を次のように書き直すことができます。「xがレストランの場合、xはポップコーンを販売しません。xが映画の場合、ポップコーンを販売します。xがレストランの場合、xは映画ではなく、xが映画の場合、それはレストランではありません。」 次に、次のように定義できます。

  • 変数
  • 「xはレストラン」、「xは映画館」、「xはポップコーンを販売」をそれぞれ表す3つの単項述語、、、および

これにより、自然言語の文を次のように変換できます。

6.3. パタニティとマタニティ

3番目の式は、自然言語の「すべての人間には父親と母親がいます」という文に対応しています。

この文を一次式に変換するには、次のように定義する必要があります。

  • 3つの変数、、
  • 単項述語「xは人間です」
  • 2つのバイナリ述語と、それぞれ「の父である」と「の母である」の関係に対応する

そうすれば、最初に「すべての人間には父親と母親がいる」という文を「xが人間の場合、yは人間、zは人間、yは人間であるようなayとazが存在する」に変換できます。 xとzの父はxの母であり、xはyではなく、xはzではなく、yはzではありません。 次に、この非常に長い文をより扱いやすいものに翻訳できます

7. 結論

このチュートリアルでは、一階述語論理の概念的基礎を研究し、命題論理から一般化としてそれを導き出す方法を学びました。 また、論理式とその基本コンポーネントに加えて、それらを有効な式に接続するためのルールについても学習しました。