По сути, я хочу попросить Z3 дать мне произвольное целое число, значение которого больше 10. Поэтому я пишу следующие операторы:
(declare-const x (Int))
(assert (forall ((i Int)) (> i 10)))
(check-sat)
(get-value(x))
Как я могу применить этот квантификатор к моей модели? Я знаю, что для этого можно написать (assert (> x 10))
, но я имею в виду, что мне нужен квантификатор в моей модели, поэтому каждый раз, когда я объявляю целочисленную константу, значение которой гарантированно больше 10, чтобы мне не приходилось вставлять оператор (assert (> x 10))
для каждого целочисленная константа, которую я объявил. Если мне приходится использовать макросы для предотвращения повторения кода, то каково фактическое использование квантификаторов?