3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-16 02:45:48 +00:00

remove some non-deterministic behavior in theory_lra.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2025-10-29 21:37:05 -07:00
parent a1918c4630
commit 37c9f1c7c2
53 changed files with 217 additions and 11 deletions

View file

@ -32,6 +32,7 @@ Notes:
static tactic * mk_der_fp_tactic(ast_manager & m, params_ref const & p) {
// TODO: non-deterministic parameter evaluation
return repeat(and_then(mk_der_tactic(m), mk_simplify_tactic(m, p)), 5);
}
@ -39,22 +40,32 @@ static tactic * mk_ufbv_preprocessor_tactic(ast_manager & m, params_ref const &
params_ref no_elim_and(p);
no_elim_and.set_bool("elim_and", false);
// TODO: non-deterministic parameter evaluation
return and_then(
mk_trace_tactic("ufbv_pre"),
// TODO: non-deterministic parameter evaluation
and_then(mk_simplify_tactic(m, p),
mk_propagate_values_tactic(m, p),
and_then(if_no_proofs(if_no_unsat_cores(using_params(mk_macro_finder_tactic(m, no_elim_and), no_elim_and))),
mk_simplify_tactic(m, p)),
// TODO: non-deterministic parameter evaluation
and_then(mk_snf_tactic(m, p), mk_simplify_tactic(m, p)),
mk_elim_and_tactic(m, p),
mk_solve_eqs_tactic(m, p),
// TODO: non-deterministic parameter evaluation
and_then(mk_der_fp_tactic(m, p), mk_simplify_tactic(m, p)),
// TODO: non-deterministic parameter evaluation
and_then(mk_distribute_forall_tactic(m, p), mk_simplify_tactic(m, p))),
if_no_unsat_cores(
// TODO: non-deterministic parameter evaluation
and_then(and_then(mk_reduce_args_tactic(m, p), mk_simplify_tactic(m, p)),
// TODO: non-deterministic parameter evaluation
and_then(mk_macro_finder_tactic(m, p), mk_simplify_tactic(m, p)),
// TODO: non-deterministic parameter evaluation
and_then(mk_ufbv_rewriter_tactic(m, p), mk_simplify_tactic(m, p)),
// TODO: non-deterministic parameter evaluation
and_then(mk_quasi_macros_tactic(m, p), mk_simplify_tactic(m, p)))),
// TODO: non-deterministic parameter evaluation
and_then(mk_der_fp_tactic(m, p), mk_simplify_tactic(m, p)),
mk_simplify_tactic(m, p),
mk_trace_tactic("ufbv_post"));