Можем ли мы перевести следующие логики c с
empty_class(C) ← ¬∃X(takes(X, C)) .
на
empty_class(C):-takes(not(X),C)
? мое мнение ¬∃X = ∀X Может ли кто-нибудь помочь мне с этим логи c, спасибо
Не совсем. Это переводится как
empty_class(C) :- not( takes( X, C) ).
not устарело, поэтому мы записываем это как
not
empty_class(C) :- \+ takes( _, C) .
Это уже экзистенциально.