У меня есть проблема с этим:
:-use_module(library(clpfd)).
sudoku(R) :-
length(R,9), /*red je duzine 9*/
maplist(same_length(R),R), /*svi redovi su iste duzine*/
append(R,E), /*elemente svih redova gurnem u jednu listu*/
E ins 1..9, /* svi elementi te liste su veci od 1 i manji od 9*/
maplist(all_distinct,R), /*svi elementi po redovimasu medjusobno razliciti*/
transpose(R,C), /*rotira matricu 90 stepeni u desno i time kolone postaju redovi*/
maplist(all_distinct, C),
R = [A,B,C,D,E,F,G,H,I], /*svaki red dobije ime*/
kvadratic(A,B,C), /* predkat kvadratic ce se pobrinuti da*/
kvadratic(D,E,F), /* kvadrati 3 x 3 unutar matrice takodje*/
kvadratic(G,H,I). /* sadrze medjusobno razlicite elemente*/
kvadratic([],[],[]). /* ako smo dosli do praznih lista stane */
kvadratic([E1,E2,E3|T1],[E4,E5,E6|T2],[E7,E8,E9|T3]) :-
all_distinct([E1,E2,E3,E4,E5,E6,E7,E8,E9]),
kvadratic(T1,T2,T3). /* pozovemo za ostatak listi */
Как вы можете видеть, это мой код (с некоторыми комментариями, такой же, как и на веб-сайте пролога SWI), и когда я запускаю его, я получаю просто "ложный". Может кто-нибудь, пожалуйста, помогите мне? Спасибо!