Я пытаюсь заставить Z3 проверить некоторые формальные доказательства, использующие повторяющийся максимум в обозначениях. Например, для f функция (↑i: 0 ≤ i ‹ N: f(i)) обозначает наибольшее значение f, когда она применяется к значению между 0 и N. Ее можно красиво аксиоматизировать с помощью:
(↑i: p(i): f(i)) ≤ x ‹=> (∀i: p(i): f(i) ≤ x)
с p предикатом над типом i. Есть ли способ определить такой квантификатор в Z3?
Оно весьма удобно для формулировки моих доказательств, поэтому я хотел бы максимально приблизить его к этому определению.
Спасибо!