mirror of
https://github.com/Z3Prover/z3
synced 2025-05-15 03:34:44 +00:00
avoid rechecking whether equality explanations are already logged
This commit is contained in:
parent
a0f6447a33
commit
547fbd4764
4 changed files with 29 additions and 34 deletions
|
@ -38,15 +38,6 @@ namespace smt {
|
|||
}
|
||||
};
|
||||
|
||||
/**
|
||||
\brief Indicates whether the proof for membership in an equivalence class is already logged.
|
||||
*/
|
||||
enum logged_status {
|
||||
NOT_LOGGED, //!< Proof is not logged or logged information is not up-to-date.
|
||||
BEING_LOGGED, //!< We are currently in the process of logging all relevant information. This is used to prevent looping when logging congruence steps.
|
||||
LOGGED //!< Proof is logged and logged information is still up-to-date.
|
||||
};
|
||||
|
||||
/** \ brief Use sparse maps in SMT solver.
|
||||
|
||||
Define this to use hash maps rather than vectors over ast
|
||||
|
@ -114,7 +105,7 @@ namespace smt {
|
|||
enode_vector m_parents; //!< Parent enodes of the equivalence class.
|
||||
theory_var_list m_th_var_list; //!< List of theories that 'care' about this enode.
|
||||
trans_justification m_trans; //!< A justification for the enode being equal to its root.
|
||||
logged_status m_proof_logged_status; //!< Indicates that the proof for the enode being equal to its root is in the log.
|
||||
bool m_proof_is_logged; //!< Indicates that the proof for the enode being equal to its root is in the log.
|
||||
signed char m_lbl_hash; //!< It is different from -1, if enode is used in a pattern
|
||||
approx_set m_lbls;
|
||||
approx_set m_plbls;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue