У меня есть быстрый вопрос, который я пытался выяснить на Прологе. Есть ли способ проверить хотя бы X ошибок (или прохождения) в предикате?
Например, здесь я мог бы проверить, меньше или равно ли одно из значений 20, но я пытаюсь проверить их все одновременно, если хотя бы одно из них меньше или равно 20, без необходимости указать 3 разных предиката, проверяющих первую оценку, затем вторую и третью по отдельности.
scores(score1, 14, 60, 45).
# Checks to see if at least one of the scores is less than or equal to 20
at_least_one_fail(X):- scores(X, Y), Y > 20, scores(X, Z), Z > 20, scores(X, J), J =< 20.
at_least_one_fail(X):- scores(X, Y), Y > 20, scores(X, Z), Z =< 20, scores(X, J), J > 20.
at_least_one_fail(X):- scores(X, Y), Y =< 20, scores(X, Z), Z > 20, scores(X, J), J > 20.
(Действительно плохой пример кода, но, надеюсь, он понял суть моего вопроса).
Любые мысли оценены, спасибо.