Я пытаюсь добавить ограничение global_cardinality
к моей программе и в manual of SICStus Prolog написано:Как добавить переменную домена в global_cardinality?
global_cardinality (+ Xs + Vals)
global_cardinality (+ Xs + Vals, + Options)
где Xs = [X1, ..., Xd] - это список целых чисел или переменных домена, а Vals = [K1-V1, ..., Kn-Vn] - это список пар, в которых каждый ключ Ki - единственное целое число , а Vi - переменная домена или целое число. Истинно, если каждый элемент Xs равен некоторому ключу, и для каждой пары Ki-Vi, точно Vi-элементы Xs равны Ki.
Теперь я могу написать:
global_cardinality([A,B,C], [1-2, 2-1]).
сказать, что число 1
будет использоваться дважды. Номер 2
будет использоваться только один раз.
Но я хотел бы сказать, что число 1
будет использоваться: once, twice or three times
Согласно инструкции я нужна переменная домена, но что такое правильный синтаксис для этого?
Спасибо. Он работает одинаково. Моя способность отвечать на запросы Google для SICStus Prolog настолько плоха, что последуют аналогичные фиктивные вопросы :( –
Есть ли чат с людьми, заинтересованными в Prolog? Я пробовал IRC-канал ## Prolog на Freenode, и он малоактивен. –
Извините, но я не знаю, но Prolog это немного из моды, или лучше, было слишком жарко много лет назад. Тогда я думаю, что маловероятно, что вы можете поговорить об этом. – CapelliC