Question 1: How could I use Z3 Python API in order to add constraints with unique labels? I was trying something like:
... self.solver.add(self.vm[i] >= 0, 'labelIdx'+str(self.idx)) ...
where self.idx is an integer number which increases for each i, but I get:
z3.z3types.Z3Exception: True, False or Z3 Boolean expression expected. Received labelIdx0
Which means that the arguments of add can not be Strings.
Question 2: Function unsat_core() works only with Solver() objects or also with Optimize() ones. Should I set some option before adding the constraints. Apparently, here [1] this is the procedure.
Thanks!