Я хочу использовать такую функцию:
function int: nextr(var int: n)
if n <= 1
2
elseif n <= 8
n + 5
elseif n <= 68
n + 13
elseif n <= 509
n + 34
elseif n <= 3611
n + 89
else n + 233
в ограничении эта переменная должна удовлетворять любому значению в nextr (n), nextr (nextr (n)), nextr (next (nextr (n))) и т. д.
Есть ли способ указать такое ограничение в minizinc? Если это вообще невозможно, я в порядке с явным ограничением рекурсии, но без утомительного перечисления всех шагов?