Нет правильного синтаксиса. N не может быть равно N + R (если только R не равно 0, в этом случае N будет N + R независимо от значения N). Вы не можете обновить значение переменной до чего-то нового так, как вы намереваетесь. Пролог так не работает.
В Прологе отсутствует концепция переменной, имеющей одно значение в один момент времени, а затем имеющей другое значение после выполнения данного оператора. Все, что вы можете сделать с переменной, это ограничить ее возможные значения.
Очевидно, я не знаю общую картину того, что вы пытаетесь сделать здесь, но, возможно, вы можете достичь того, что вы хотите, рекурсивно вызывая свой предикат с NPR
, являющимся новым значением N (где NPR is N + R
).