Given a set of constraints (assertions) in Z3 I am wondering what is the most efficient way of checking if a model that I already have fulfills these assertions. The model was obtained from similar set of constraints. I require a yes/no answer, not a soft constraint as in Specifying initial model values for Z3.
I am operating on bit vectors using x64 version of Z3 3.2, using C# API on Windows 7 x64. I am multi-threading by instantiating multiple Z3 Context objects, one per thread. I am not using Z3 4.0 due to lack of support for multi-threading.
My current approach is just to assert the model as an additional set of constraints using Context.AssertCnstr(Term) and then simply calling Context.Check().
Contextobjects in different threads without synchronization. Z3 4.0 fixes this problem. BTW, why do you say Z3 4.0 lacks support for multi-threading. - Leonardo de Moura