mCRL2
Loading...
Searching...
No Matches
solver.h
Go to the documentation of this file.
1// Author(s): Ruud Koolen, Thomas Neele
2// Copyright: see the accompanying file COPYING or copy at
3// https://github.com/mCRL2org/mCRL2/blob/master/COPYING
4//
5// Distributed under the Boost Software License, Version 1.0.
6// (See accompanying file LICENSE_1_0.txt or copy at
7// http://www.boost.org/LICENSE_1_0.txt)
8//
10
11#ifndef MCRL2_SMT_SOLVER_H
12#define MCRL2_SMT_SOLVER_H
13
16#include "mcrl2/smt/answer.h"
17
18namespace mcrl2
19{
20namespace smt
21{
22
24{
25protected:
27 std::unordered_map<data::data_expression, std::string> m_cache;
29
30protected:
31
32 answer execute_and_check(const std::string& command, const std::chrono::microseconds& timeout) const;
33
34public:
35 smt_solver(const data::data_specification& dataspec);
36
37 answer solve(const data::variable_list& vars, const data::data_expression& expr, const std::chrono::microseconds& timeout = std::chrono::microseconds::zero());
38};
39
40} // namespace smt
41} // namespace mcrl2
42
43#endif // MCRL2_SMT_SOLVER_H
answer solve(const data::variable_list &vars, const data::data_expression &expr, const std::chrono::microseconds &timeout=std::chrono::microseconds::zero())
Definition solver.cpp:53
std::unordered_map< data::data_expression, std::string > m_cache
Definition solver.h:27
native_translations m_native
Definition solver.h:26
answer execute_and_check(const std::string &command, const std::chrono::microseconds &timeout) const
Definition solver.cpp:21
child_process z3
Definition solver.h:28
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72