Что было бы предпочтительным способом создания длинной дизъюнкции с переменным количеством дизъюнкций?Создайте длинную дизъюнкцию, используя C++ api Z3?
Я думаю, что что-то подобное должно быть возможным с помощью expr_vector
на первый динамически push_back
все дизъюнктов, а затем каким-то образом использовать Z3_mk_or
строить свою дизъюнкции.
Но как я могу получить массив Z3_ast
с expr_vector
, чтобы передать третий аргумент Z3_mk_or
?
Btw, есть ли штраф эффективности, если вы создаете длинную последовательность двоичных дизъюнкций, а не одну длинную n-арную дизъюнкцию?
Я только догадываюсь, но это, по-видимому, относится к проекту Microsoft Research [Z3 project] (http://research.microsoft.com/en-us/um/redmond/projects/z3/). –