Prolog(プロログ)は論理プログラミング言語の一つであり、該当分野で最もよく知られている論理型言語の代表格である。主に人工知能研究や計算言語学との関連性を持つ。定理証明、エキスパートシステム、自動計画、自然言語処理とも繋がりが深い。一階述語論理と形式論理を基礎にして、事実群と規則群の表現および関係の観点に立った宣言型パラダイムに準拠しており、その関係に則った質問によって計算が開始されるという性質を持つ。
Prologは、1972年にマルセイユ大学のアラン・カルメラウアーとフィリップ・ラッセルによって開発された。フランス語の「programmation en logique」がその名の由来である。Prologの誕生にはエディンバラ大学のロバート・コワルスキが考案したホーン節が大きく寄与している。カルメラウアーによる元祖版はマルセイユPrologと呼ばれている。その後、コワルスキの門弟のデヴィッド・ワーレンが1977年に改訂開発したエディンバラProlog(DEC-10 Prolog)が標準になってPrologは広く普及した。
概要
1972年ごろにフランスのアラン・カルメラウアーとフィリップ・ルーセルによって考案された。
成立の事情から、Prolog プログラムは論理式とみなされ、その実行は述語論理によって述語が定義された環境における定理証明に擬して解釈されることが多い。利用者は論理プログラミングの枠組みを、取り分け述語論理を学習することで、この枠組みに極めて忠実なこの言語の基礎的な構造のほとんどを理解できる。その言語仕様はこの枠組み以外には考案者たちも含めてそれ以上の拡張をほとんど行っていないため、他のプログラム言語とは異なり、学習しなくてはならない概念や用語もまた、述語論理のものだけでこと足りる。基本的に計算機科学の新しい概念や新しい手法とは無縁である。ただし、SWI-Prolog等の処理系では様々な機能拡張の試みが行われている。一階述語論理は型理論や操作的意味論の研究論文で多数用いられており、今後、再注目される可能性がある。
…