これは、論理プログラミングを実証するPrologで書かれたプログラムの基本的な例です。

`` `prolog
/ * facts */
親（ボブ、アリス）。
親（ボブ、ジョン）。
親（ジェーン、アリス）。
親（ジェーン、ジョン）。

/ *ルール */
兄弟（x、y）： - 親（z、x）、親（z、y）、x \ = y。

/ * query */
？ - 兄弟（アリス、ジョン）。
`` `

この例では、個人間の親子関係を指定する事実を使用して家系図を定義します。次に、2人の個人が共通の親を共有する場合に真実である「兄弟」と呼ばれるルールを定義します。最後に、「アリス」と「ジョン」が兄弟であるかどうかを照会します。これは、同じ親「ボブ」と「ジェーン」を共有するときに「真の」を返すべきです。

このプログラムは、論理ルールの観点から個人間の関係を定義しているため、論理プログラミングを実証しており、これらのルールに基づいて新しい関係を推測するプログラムを照会できます。言い換えれば、私たちは論理的な声明の観点から世界の知識を表明しており、Prologの通訳者はその知識を使用して論理的な控除と回答の質問をしています。
Here's a basic example of a program written in Prolog that demonstrates logical programming:

```prolog
/* Facts */
parent(bob, alice).
parent(bob, john).
parent(jane, alice).
parent(jane, john).

/* Rules */
sibling(X, Y) :- parent(Z, X), parent(Z, Y), X \= Y.

/* Query */
?- sibling(alice, john).
```

In this example, we define a family tree using facts that specify the parent-child relationships between individuals. Then, we define a rule called "sibling" which is true if two individuals share a common parent. Finally, we query whether "alice" and "john" are siblings, which should return "true" as they share the same parents "bob" and "jane".

This program demonstrates logical programming because we're defining relationships between individuals in terms of logical rules, and we can query the program to infer new relationships based on those rules. In other words, we're expressing our knowledge of the world in terms of logical statements, and the Prolog interpreter is using that knowledge to make logical deductions and answer queries.