0

The correct way of configuring tactics in z3.py is using "With". E.g.

t = With(Tactic('simplify'), som=True)

However, some option names contain a "." in it, such as "arith.solver" in tactic "qflia". If we code in the same way

t = With(Tactic('qflia'), arith.solver=1)

The system gives an error "SyntaxError: keyword can't be an expression". I guess this is against the syntax rule for keyword in python.

How should I configure the options whose names contain "."? Or I am referring to a wrong list of tactics configuration options? The one I was using is output by command "(help-tactic)" on z3 not z3.py.

Mark Jin
  • 2,616
  • 3
  • 25
  • 37

1 Answers1

0

The trick is instead of using "With", we should use "set_param" or "set_option". E.g. set_param('smt.phase_selection',5)

Mark Jin
  • 2,616
  • 3
  • 25
  • 37