制約付きの 10 個の変数が必要ですが、Prolog は 9 にしかラベルを付けません。私のコードは次のとおりです。
:- use_module(library(clpfd)).
colour(Regions) :-
Regions = [A,B,C,D,E,F,G,H,I,J],
Regions ins 1..10,
all_distinct(Regions),
labeling([], Regions).
%%% Output:
?-colour(X).
A = [1, 2, 3, 4, 5, 7, 6, 10, 8|...] ; % only 9 variables labelled.
注:ins 1..9
変数が 9 つある場合は
問題なく動作します。