def replicateSolver(solver, num_consumers): solvers = [] for _ in range(num_consumers): newSolver = BaseSolver.getSolver() for j in solver.assertions(): newSolver.addRaw(j) solvers.append(newSolver) return solvers
def __init__(self, module): Common.reset() #resets variables if in test mode self.EMPTYSTRING = SMTLib.SMT_Int("EMPTYSTRING") self.module = module self.smt_bracketed_constraints = [] self.cfr_sorts = {} self.solver = BaseSolver.getSolver() self.setOptions() self.clock = Clock.Clock() self.objectives = [] self.delimeter_count = 0 """ Create simple objects used to store Z3 constraints. """ self.join_constraints = Constraints.GenericConstraints("ClaferModel") """ Used to map constraints in the UNSAT core to Boolean variables. """ self.unsat_core_trackers = [] self.low_level_unsat_core_trackers = {} self.unsat_map = {} self.join_cache = {} # cache to store join expression (asil optimization) self.translate()