Предположим, у вас есть программа Prolog для диагностики заболеваний, которая начинается с множества взаимосвязей между болезнями и симптомами:
causes_of(symptom1, Disease) :-
Disease = disease1;
Disease = disease2.
causes_of(symptom2, Disease) :-
Disease = disease2;
Disease = disease3.
causes_of(symptom3, Disease) :-
Disease = disease4.
has_symptom(person1, symptom1).
has_symptom(person1, symptom2).
Как я могу создать правило с заголовком has_disease (Person, Disease), которое вернет истину, если у человека есть все симптомы этой болезни? Используя приведенный выше пример, можно получить следующий пример вывода:
has_disease(person1, Disease).
Disease = disease2.