mirror of
https://github.com/Z3Prover/z3
synced 2025-11-01 03:57:51 +00:00
44 lines
884 B
C++
44 lines
884 B
C++
/*++
|
|
Copyright (c) 2024 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
sls_smt_solver.h
|
|
|
|
Abstract:
|
|
|
|
A Stochastic Local Search (SLS) Solver.
|
|
|
|
Author:
|
|
|
|
Nikolaj Bjorner (nbjorner) 2024-07-10
|
|
|
|
--*/
|
|
|
|
#pragma once
|
|
#include "ast/sls/sls_context.h"
|
|
#include "ast/sls/sat_ddfw.h"
|
|
|
|
|
|
namespace sls {
|
|
|
|
class smt_solver {
|
|
ast_manager& m;
|
|
class solver_ctx;
|
|
sat::ddfw m_ddfw;
|
|
solver_ctx* m_solver_ctx = nullptr;
|
|
expr_ref_vector m_assertions;
|
|
statistics m_st;
|
|
|
|
public:
|
|
smt_solver(ast_manager& m, params_ref const& p);
|
|
~smt_solver();
|
|
void assert_expr(expr* e);
|
|
lbool check();
|
|
model_ref get_model();
|
|
void updt_params(params_ref& p) {}
|
|
void collect_statistics(statistics& st);
|
|
std::ostream& display(std::ostream& out);
|
|
void reset_statistics();
|
|
};
|
|
}
|