Для задания мне необходимо создать систему, основанную на правилах, для проверки соответствия fire_code.
roomHasFastExit — это мой тестовый пункт, в то время как остальные являются частью плана строительства.
Rm в этом случае равен wotl1
roomHasFastExit(Rm):- hasDoor(Rm, Door), isa(Door, outsideDoor).
hasDoor(wolt1, wodoorlt1c).
hasDoor(wolt1, wodoorlt1exit).
hasDoor(wolt1, wodoor115lt1).
isa(wodoor115lt1, door).
isa(wodoorlt1c, door).
isa(wodoorlt1exit, outsideDoor).
Проблема, с которой я сталкиваюсь, заключается в том, что если я обнаружу, что дверь, которую я запросил, не соответствует требованиям, мне нужно проверить следующую дверь, если я рекурсивно вызову пункт, я просто получу ту же дверь. Итак, как мне пройти через каждую дверь, проверяя, если это соответствует.