mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +00:00
Removed auxiliary constants created by the nnf tactic from Z3 models. Fixed model.compact parameter propagation problem.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
5b6842fbc5
commit
e0f4d870fd
6 changed files with 29 additions and 3 deletions
|
@ -67,6 +67,9 @@ struct defined_names::impl {
|
|||
void push_scope();
|
||||
void pop_scope(unsigned num_scopes);
|
||||
void reset();
|
||||
|
||||
unsigned get_num_names() const { return m_names.size(); }
|
||||
func_decl * get_name_decl(unsigned i) const { return to_app(m_names.get(i))->get_decl(); }
|
||||
};
|
||||
|
||||
struct defined_names::pos_impl : public defined_names::impl {
|
||||
|
@ -308,6 +311,16 @@ void defined_names::reset() {
|
|||
m_pos_impl->reset();
|
||||
}
|
||||
|
||||
unsigned defined_names::get_num_names() const {
|
||||
return m_impl->get_num_names() + m_pos_impl->get_num_names();
|
||||
}
|
||||
|
||||
func_decl * defined_names::get_name_decl(unsigned i) const {
|
||||
SASSERT(i < get_num_names());
|
||||
unsigned n1 = m_impl->get_num_names();
|
||||
return i < n1 ? m_impl->get_name_decl(i) : m_pos_impl->get_name_decl(i - n1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -80,6 +80,9 @@ public:
|
|||
void push();
|
||||
void pop(unsigned num_scopes);
|
||||
void reset();
|
||||
|
||||
unsigned get_num_names() const;
|
||||
func_decl * get_name_decl(unsigned i) const;
|
||||
};
|
||||
|
||||
#endif /* _DEFINED_NAMES_H_ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue