Supposons que vous ayez un programme Prolog de diagnostic des maladies qui commence avec de nombreuses relations entre les maladies et les symptômes :
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).
Comment puis-je créer une règle avec l'en-tête "has_disease(Person, Disease)" qui renverra vrai si la personne a tous les symptômes de cette maladie ? En utilisant l'exemple ci-dessus, voici un exemple de résultat :
has_disease(person1, Disease).
Disease = disease2.