Ответ в теме: Проверка числа на простоту (Prolog)

      Комментарии к записи Ответ в теме: Проверка числа на простоту (Prolog) отключены
#2876

Первое правило предиката simple у вас проверяет что число X делится на I без остатка. Если первое правило не сработает, то второе инициирует рекурсивную проверку с числом I+1. Перебор чисел продолжится до тех пор, пока X не станет больше I*I. Квадрат тут используется потому, что достаточно проверить делители от двойки до корня квадратного из числа.

Предикат simple1 завершается удачей если его аргумент — единица или двойка, или если simple для этого аргумента завершится неудачей.