2014年11月10日月曜日

開発環境

計算機プログラムの構造と解釈[第2版](ハロルド エイブルソン (著)、ジュリー サスマン (著)、ジェラルド・ジェイ サスマン (著)、Harold Abelson (原著)、Julie Sussman (原著)、Gerald Jay Sussman (原著)、和田 英一 (翻訳)、翔泳社、原書: Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)(SICP))の4(超言語的抽象)、4.4(論理型プログラミング)、4.4.3(論理型プログラミングは数学的論理か)、無限ループ、notに関する問題、問題 4.69.を解いてみる。

その他参考書籍

問題 4.69.

(rule (grandson ?g ?s)
      (and (son ?f ?s)
           (son ?g ?f)))

(rule (son ?m ?s)
      (or (son ?m ?s)
          (and (wife ?m ?w)
               (son ?w ?s))))

(rule (last-is-grandson (grandson)))

(rule (last-is-grandson (?u . ?v))
      (last-is-grandson ?v))

(rule ((grandson) ?x ?y)
      (grandson ?x ?y))

(rule ((great . ?rel) ?x ?y)
      (and (last-is-grandson ?rel)
           (son ?x ?z)
           (?rel ?z ?y)))
            
;; ((great grandson) ?g ?ggs)について
((great grandson) ?g ?ggs)

((great grandson) Adam ?ggs)
(son Adam Cain)
((grandson) Cain ?y)
(grandson Cain ?s)
(son Cain Enoch)
(son Enoch Irad)

((great grandson) Adam Irad)

0 コメント:

コメントを投稿