#pragma once
#include "util/params.h"
#include "ast/ast.h"
#include "util/obj_hashtable.h"
#include "tactic/goal.h"
#include "tactic/tactic.h"
class tactic;
tactic * mk_smt_tactic_core(ast_manager& m, params_ref const & p = params_ref(), symbol const& logic = symbol::null);
tactic * mk_smt_tactic_core_using(ast_manager& m, bool auto_config = true, params_ref const & p = params_ref());
tactic * mk_parallel_smt_tactic(ast_manager& m, params_ref const& p);
Z3_ADD_TACTIC(psmt, "psmt", "builtin strategy for SMT tactic in parallel.", mk_parallel_smt_tactic(m, p));