if not retstatus: break else: # gentrace for i in range(step, last_check_step+1): smt.write("(assert (|%s_a| s%d))" % (topmod, i)) smt.write("(assert %s)" % get_constr_expr(constr_asserts, i)) print_msg("Solving for step %d.." % (last_check_step)) if smt.check_sat() != "sat": print("%s No solution found!" % smt.timestamp()) retstatus = False break elif dumpall: print_anyconsts(0) write_trace(0, last_check_step+1, "%d" % step) step += step_size if gentrace: print_anyconsts(0) write_trace(0, num_steps, '%') smt.write("(exit)") smt.wait() print_msg("Status: %s" % ("PASSED" if retstatus else "FAILED (!)")) sys.exit(0 if retstatus else 1)