Сделайте правило из подсказки в прологе

У меня есть переводчики и языки.

interpreter(fran,french).
interpreter(geraldine,german).
interpreter(dudley,dutch).
interpreter(spike,spanish).
interpreter(polly,polish).
interpreter(ron,romanian).

language(french).
language(german).
language(dutch).
language(spanish).
language(polish).
language(romanian).

и правило: ни один переводчик не говорит на одном языке.

Любая помощь?

1 ответ

Решение

Один из способов решения этой проблемы - сначала проверить, говорят ли любые два переводчика на одном языке, а затем проверить, верно ли отрицание этого правила.

rule2 :- not(nrule2(X, Y)).
nrule2(X, Y) :- interpreter(X, L1), interpreter(Y, L2), X \= Y, L1 = L2.

Правило2 верно только в том случае, если два переводчика не говорят на одном языке.

Другие вопросы по тегам