mirror of
https://github.com/Z3Prover/z3
synced 2025-08-15 15:25:26 +00:00
interpolation fix and improving duality quantifier handling
This commit is contained in:
parent
732035bf63
commit
6c9483c70a
5 changed files with 86 additions and 19 deletions
|
@ -466,6 +466,11 @@ namespace Duality {
|
|||
bool is_label (bool &pos,std::vector<symbol> &names) const ;
|
||||
bool is_ground() const {return to_app(raw())->is_ground();}
|
||||
bool has_quantifiers() const {return to_app(raw())->has_quantifiers();}
|
||||
bool has_free(int idx) const {
|
||||
used_vars proc;
|
||||
proc.process(to_expr(raw()));
|
||||
return proc.contains(idx);
|
||||
}
|
||||
|
||||
// operator Z3_app() const { assert(is_app()); return reinterpret_cast<Z3_app>(m_ast); }
|
||||
func_decl decl() const {return func_decl(ctx(),to_app(raw())->get_decl());}
|
||||
|
@ -573,6 +578,8 @@ namespace Duality {
|
|||
|
||||
friend expr clone_quantifier(const expr &q, const expr &b, const std::vector<expr> &patterns);
|
||||
|
||||
friend expr clone_quantifier(decl_kind, const expr &, const expr &);
|
||||
|
||||
friend std::ostream & operator<<(std::ostream & out, expr const & m){
|
||||
m.ctx().print_expr(out,m);
|
||||
return out;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue