У меня есть конструкция "все для фактов" с логическими условиями для фильтрации только некоторых фактов:
(do-for-all-facts ((?hotel albergo))
(eq ?hotel:localita ?current-city)
(>= ?hotel:disponibilita (/ ?number-of-people 2))
(<= (* ?hotel:prezzo ?current-days) ?budget-for-locality)
(printout t (>= ?hotel:disponibilita (/ ?number-of-people 2)) crlf)
(if (> ?hotel:disponibilita ?max)
then
(bind ?most-available-hotel ?hotel)
(bind ?max ?hotel:disponibilita)
)
)
Кажется, что не фильтруется должным образом, потому что
(printout t (>= ?hotel:disponibilita (/ ?number-of-people 2)) crlf)
линия печатает ЛОЖЬ.Как я могу оценить в логическом И все условия в do-for-all-facts
конструкции?