В настоящее время я работаю над разделом SICP по логическому программированию, но я застрял в примерах относительно логических вычетов, особенно правил добавления в форму. Как они работают? Я не совсем понимаю, как второе правило cdr-down первый список. Например, учитывая:Как работает append-to-form? (Раздел SICP по логическому программированию)
(правило (добавление к форме() у у)?)
(правило (добавление к форме (и у) у (и?.???. ? г)) (присоединять к форме V у г))
а) Как мы достигаем из:?
;;; Query input:
(append-to-form (a b) (c d) ?z)
to
;;; Query results:
(append-to-form (a b) (c d) (a b c d))
б) А что бой этот:
;;; Query input:
(append-to-form (a b) ?y (a b c d))
to
;;; Query results:
(append-to-form (a b) (c d) (a b c d))
с) И наконец:
;;; Query input:
(append-to-form ?x ?y (a b c d))
to
;;; Query results:
(append-to-form() (a b c d) (a b c d))
(append-to-form (a) (b c d) (a b c d))
(append-to-form (a b) (c d) (a b c d))
(append-to-form (a b c) (d) (a b c d))
(append-to-form (a b c d)() (a b c d))
я был бы заинтересован в конкретных умственных действий, необходимых для выполнения согласования правил.
Заранее спасибо.
Благодарим за отзыв, говядина. Фактически, я боролся с этим, потому что функционирование оценщика объясняется далее в этой главе. Я должен был предварительно прочитать раздел, следующий за этими примерами. – motxilo 2011-01-05 14:47:28