(>>104の続き)

以下は、SWI-Prologでの実行例です。

 為義と義朝は親子か?
  ?- 関係(親_子, 為義, 義朝).
  true .  % はい。

 為義の子は誰か?
  ?- 関係(親_子, 為義, X).
  X = '義朝' ;  % 義朝です。
  false.

 為義の子孫は誰か?
  ?- 関係(先祖_子孫, 為義, X).
  X = '義朝' ;
  X = '頼朝' ;  % 義朝と頼朝です。
  false.

 為義と義朝にはどんな関係があるか?
  ?- 関係(R, 為義, 義朝).
  R = '親_子' ;
  R = '先祖_子孫' ;  % 親-子と先祖-子孫という関係があります。
  false.

 為義と頼朝にはどんな関係があるか?
  ?- 関係(R, 義朝, 頼朝).
  R = '先祖_子孫' ;  % 先祖-子孫という関係があります。
  false.

(まだ続く。次で終わり。)