論理プログラミング
述語記号の項に、制約(英語版)も含めるようにしている。制約(constraint)とは値(元・要素・個体)を”関係性”で表現したものであり、決定変数の集合で定義される計算対象である。
B-Prolog(英語版)、Ciao(英語版)、ECLiPSe(英語版)、Fril(英語版)
論理プログラミング(Logic Programming)とは、数理論理学(記号論理学)を基礎にしたプログラミングパラダイム、または数理論理学のコンピュータプログラミングへの応用である。形式論理の論理式をソースコードの書式に投影することが基本になる。プログラミングに適用するための幅広い解釈が加えられており、研究対象としての論理プログラミングは非常に多様である。
より一般的に受け入れられている論理プログラミングは、述語論理を基礎にし、問題領域の事実と規則を論理式モデル書式で表現して(ロジック)非決定性の演繹の導出原理を用いる(コントロール)というものである。このアルゴリズムスタイルで最も普及した論理プログラミング言語は「Prolog」である。