（プロログ）は論理プログラミング言語の一つであり、該当分野で最もよく知られている論理型言語の代表格である。主に人工知能研究や計算言語学との関連性を持つ。定理証明、エキスパートシステム、自動計画、自然言語処理とも繋がりが深い。形式論理である一階述語論理を基礎にして、事実群と規則群の表現および関係の観点に立った宣言型パラダイムに準拠しており、その関係に則った質問によって計算が開始されるという性質を持つ。
概要.
述語論理と論理プログラミング.
 のプログラムは一階述語論理に基づいてデータ間の関係を示す命題として記述され、処理系がそれらに単一化(ユニフィケーション)と呼ばれるパターンマッチングを施しながら、与えられた命題が成立するか再帰的手続きによって探索している。
プログラムの実行は述語集合が定義された環境の元で、質問することによってなされるが、これは反駁という述語論理的な証明過程を模して、処理系が用意する導出木と呼ばれるグラフをたどって解を得る過程である。
述語論理を論理的な背景に持つことによって、Prolog のプログラムはその正しさを確認することが比較的容易である。同時に、プログラマは でプログラミングすることが何を意味するかを明確に理解した上で、プログラムを書いていくことができる。
非述語論理的な立場.
上記は の一つの解釈である。一方、 というプログラム言語を述語論理という枠にはめないで捉える立場もある。導出、単一化、非決定性、双方向性、関係データベースといったこの言語に独特の機能とその表現力、記述力に着目し、そのプログラム言語としての可能性を率直に評価しようとするものだ。
新たに を学びたいと思う人は、他のプログラム言語を全く知らなくても、ソフトウェア科学的な予備知識や概念に不通であっても、単一化という単純なルールをほとんど唯一の基軸として、パズル的な、あるいはゲーム的な感覚にだけ導かれて、プログラムを簡単に書き進むことができる。さらに、どの言語にも比して平坦で、平明な言語構造を持つ はラベル名（アトム、関数名、述語名）に適切な意味性を付与することにより、自然言語の領域にも接近したプログラミングが期待できるほとんど唯一の言語でもある。