Следующие правила могут представлять , если число не превышает A, тогда A является максимальным .
non_max(X) :- p(X), p(Y), Y > X.
max(X) :- p(X), not non_max(X).
По сути, правило, которое вы представляете, является правилом с универсальный квантор, т.е.
∈b ∈ p (b), если a> b, то a является максимумом. (1)
Если a - максимум, то ∀b ∈ p (b), a> b. (2)
Преобразовать (2) в его противоположное, имеем
Если ∈b ∈ p (b), a
соответствующее правило (3) равно non_max(X) :- p(X), p(Y), Y > X.
Поскольку max и non_max являются взаимоисключающими, то имеем max(X) :- p(X), not non_max(X).