В конце, когда программа должна распечатать процент уверенности, программа зависает. Что может быть не так? Это должно быть правило вычисления процента, поскольку при его удалении печатаются непроцентные данные.
(defmodule PRINT-RESULTS (import MAIN ?ALL))
(defrule PRINT-RESULTS::calculate-percentages
?var <- (religion (name ?religion) (aspects $?aspects) (certainty ?certainty))
=>
(modify ?var (certainty =(*(/ ?certainty 700)100))))
(defrule PRINT-RESULTS::print-religion
?rel <- (religion (name ?religion) (aspects $?aspects) (certainty ?certainty))
=>
(retract ?rel)
(printout t crlf RELIGION: " "
?religion crlf ASPECTS: " "
?aspects crlf CERTAINTY: " "
?certainty crlf))