Имея набор фактов в форме is_member(country, organisation)
, я должен записать в журнал данных следующий запрос:
Вернуть все страны, которые принадлежат ко всем организациям, членом которых является Дания.
Я хочу сделать что-то вроде
member_all_Denmarks_organisations(Country):-
¬( is_member('Denmark', Organization),
¬is_member(Country, Organization)
).
Другими словами, «для каждой организации, членом которой является Дания, страна также является ее членом». Но журнал данных не допускает отрицательных предикатов, содержащих неэкземплярные переменные, так что это не работает.
Как я могу продолжить? И вообще, когда вы хотите выразить утверждение «для всех», как это сделать в журнале данных?