kass(miisu). kass(liisu). kass(mari). koer(pontu). koer(muri). koer(mari). koduloom(X):- kass(X); koer(X). varv(must). varv(valge). piir(A, B):- varv(A), varv(B), A\=B. %Lisage värv. Kontrollige, kas Eestimaa maakonnad %saab värvida kolme värviga, nii et kokku puutujad %oleks eri värvi laps(toomas, jaagup). laps(paula, jaagup). laps(jaagup, pille). laps(pille, aleksander). laps(viivi, aleksander). mees(jaagup). mees(toomas). mees(aleksander). naine(pille). naine(paula). naine(viivi). vanavanem(A, B):- laps(B, X), laps(X, A). ode(A, B):- laps(A, X), laps(B, X), naine(A), A\=B. vanatadi(A, B):- ode(A, X), vanavanem(X, B). kass(X). X = miisu X = liisu koer(X). X = pontu X = muri koer(X), kass(X). X = mari koer(X); kass(X). X = pontu X = muri X = mari X = miisu X = liisu X = mari koduloom(X). X = miisu X = liisu X = mari X = pontu X = muri X = mari varv(X). X = must X = valge piir(Harjumaa, Laanemaa). Syntax error: Operator expected procedure `piir(A,B)' does not exist piir(Harjumaa, Laanemaa). Syntax error: Operator expected procedure `piir(A,B)' does not exist piir(Harjumaa, Laanemaa). Arithmetic: `must/0' is not a function In: [2] must=\=must [1] piir(must,must) at line 17 piir(Harjumaa, Laanemaa). Harjumaa = must, Laanemaa = valge Harjumaa = valge, Laanemaa = must piir(Harjumaa, Laanemaa), piir(Harjumaa, Raplamaa). Harjumaa = must, Laanemaa = Raplamaa, Raplamaa = valge piir(Harjumaa, Laanemaa), piir(Harjumaa, Raplamaa), piir(Raplamaa, Laanemaa). false piir(Harjumaa, Laanemaa), piir(Harjumaa, Raplamaa), Harjumaa=must. Harjumaa = must, Laanemaa = Raplamaa, Raplamaa = valge piir(Harjumaa, Laanemaa), piir(Harjumaa, Raplamaa), Harjumaa=valge. Harjumaa = valge, Laanemaa = Raplamaa, Raplamaa = must laps(X, jaagup). Clauses of mees/1 are not together in the source-file Earlier definition at line 26 Current predicate: naine/1 Use :- discontiguous mees/1. to suppress this message Clauses of naine/1 are not together in the source-file Earlier definition at line 27 Current predicate: mees/1 Use :- discontiguous naine/1. to suppress this message X = toomas laps(X, jaagup). X = toomas X = paula laps(X, jaagup), mees(X). X = toomas false laps(X, Lapsevanem), laps(Y, Lapsevanem). Lapsevanem = jaagup, X = Y, Y = toomas laps(X, Lapsevanem), laps(Y, Lapsevanem), X\=Y. Lapsevanem = jaagup, X = toomas, Y = paula Lapsevanem = jaagup, X = paula, Y = toomas Lapsevanem = aleksander, X = pille, Y = viivi Lapsevanem = aleksander, X = viivi, Y = pille laps(X, Lapsevanem), laps(Y, Lapsevanem), X\=Y, naine(X). X Lapsevanem Y paula jaagup toomas 1 pille aleksander viivi 2 viivi aleksander pille 3 %Kuva kõik vanavanemad vanavanem(X, Y). X Y pille toomas 1 pille paula 2 aleksander jaagup 3 %Kuva kõik vanavanemad vanavanem(X, _). X pille 1 pille 2 aleksander 3 %Kuva kõik vanavanemad ode(X, _). X paula 1 %Kuva kõik vanavanemad ode(X, _). X paula 1 paula 2 pille 3 pille 4 viivi 5 viivi 6 %Kuva kõik vanavanemad ode(X, _). X paula 1 pille 2 viivi 3 %Kuva, kes on kelle vanatädi vanatadi(X, Y). X Y viivi toomas 1 viivi paula 2 %Kuva, kes on kelle vanatädi vanatadi(X, toomas). X viivi 1 false