%Schur numbers. % Domain predicates domain(1..44). range(1..4). % Assign each integer to exactly one part. %%% GASP Syntax % assignment(X,Y). %%% LPARSE SYNTAX 1{ assignment(X,P): range(P) }1 :- domain(X). % X, Y, and X+Y cannot be in the same part :- domain(X), domain(Y), domain(Z), range(P), assignment(X,P), assignment(Y,P), assignment(Z,P), X < Y+1, Z = X+Y. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%