After reading the previous questions Getting a "good" unsat core and getting new unsat core, I know that it is impossible to get multiple different unsat cores with z3 at present.
Do you have some suggestions to make the unsat core smaller? I am using z3 c++ api to check the satisfiability of a constraints on linear real arithmetic. I found that when adding this line of code p.set(":auto-config",false)
as suggested in Getting a "good" unsat core, the size of unsat core becomes smaller.
Another question is about the simplex-based algorithm of z3. I have used CPLEX to solve my application before using z3. CPLEX supports extracting the IIS (irreducible infeasible set) which is like unsat core in z3. We can set the solving algorithm to 'auto', 'primal', 'dual' in CPLEX. I found when switching the solving algorithm the IIS CPLEX gives may be different. Does z3 support setting different solving algorithms when the logic is set to QF_LRA?