mirror of
https://github.com/Z3Prover/z3
synced 2025-05-08 16:25:48 +00:00
checkpoint
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
4722fdfca5
commit
add684d8e9
377 changed files with 204 additions and 62 deletions
57
src/smt/smt_checker.h
Normal file
57
src/smt/smt_checker.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*++
|
||||
Copyright (c) 2006 Microsoft Corporation
|
||||
|
||||
Module Name:
|
||||
|
||||
smt_checker.h
|
||||
|
||||
Abstract:
|
||||
|
||||
<abstract>
|
||||
|
||||
Author:
|
||||
|
||||
Leonardo de Moura (leonardo) 2008-06-20.
|
||||
|
||||
Revision History:
|
||||
|
||||
--*/
|
||||
#ifndef _SMT_CHECKER_H_
|
||||
#define _SMT_CHECKER_H_
|
||||
|
||||
#include"ast.h"
|
||||
#include"obj_hashtable.h"
|
||||
|
||||
namespace smt {
|
||||
|
||||
class context;
|
||||
|
||||
class checker {
|
||||
|
||||
typedef obj_map<expr, bool> expr2bool;
|
||||
typedef obj_map<expr, enode *> expr2enode;
|
||||
|
||||
context & m_context;
|
||||
ast_manager & m_manager;
|
||||
expr2bool m_is_true_cache[2];
|
||||
expr2enode m_to_enode_cache;
|
||||
unsigned m_num_bindings;
|
||||
enode * const * m_bindings;
|
||||
|
||||
bool all_args(app * a, bool is_true);
|
||||
bool any_arg(app * a, bool is_true);
|
||||
bool check_core(expr * n, bool is_true);
|
||||
bool check(expr * n, bool is_true);
|
||||
enode * get_enode_eq_to_core(app * n);
|
||||
enode * get_enode_eq_to(expr * n);
|
||||
|
||||
public:
|
||||
checker(context & c);
|
||||
bool is_sat(expr * n, unsigned num_bindings = 0, enode * const * bindings = 0);
|
||||
bool is_unsat(expr * n, unsigned num_bindings = 0, enode * const * bindings = 0);
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif /* _SMT_CHECKER_H_ */
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue