Prolog で簡単な述語を書き、CLP(FD) とその連立方程式を解く能力を試してみました。
problem(A, B) :-
A-B #= 320,
A #= 21*B.
SWI で呼び出すと、次のようになります。
?- problem(A,B).
320+B#=A,
21*B#=A.
一方、GNUでは、次の正しい答えが得られます。
| ?- problem(A,B).
A = 336
B = 16
何が起きてる?理想的には、より堅牢な環境である SWI で正しい結果を得たいと考えています。