3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-15 23:35:26 +00:00

Add a sharp throttle to lia2card tactic to control overhead in default tactic mode

lia2card was added to qfuflia tactic based on a user scenario, but it overshot: lia2card is by default harmful. It is here tamed to only convert binary variables and throttle on nested ite terms
This commit is contained in:
Nikolaj Bjorner 2025-02-02 13:58:51 -08:00
parent fd2a8a554d
commit 99cbfa715c
3 changed files with 24 additions and 10 deletions

View file

@ -9,6 +9,8 @@ def_module_params('tactic',
('blast_term_ite.max_inflation', UINT, UINT_MAX, "multiplicative factor of initial term size."),
('blast_term_ite.max_steps', UINT, UINT_MAX, "maximal number of steps allowed for tactic."),
('propagate_values.max_rounds', UINT, 4, "maximal number of rounds to propagate values."),
('lia2card.max_range', UINT, 100, "maximal range of integers to compilation into Booleans"),
('lia2card.max_ite_nesting', UINT, 4, "maximal nesting depth for ite expressions to be compiled into PB constraints"),
('default_tactic', SYMBOL, '', "overwrite default tactic in strategic solver"),
# ('aig.per_assertion', BOOL, True, "process one assertion at a time"),