Как применить универсальный квантор в Прологе?

Предположим, у вас есть программа 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.
5
задан false 2 February 2014 в 23:38
поделиться