diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2016-07-20 13:28:01 -0500 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2016-07-20 13:28:01 -0500 |
commit | f827fb06c949d421fb32f6629c2c353ca7bd026e (patch) | |
tree | 04b3563aa2467784517193dd22ef95f2ce1e612a /src/theory/theory_model.h | |
parent | daf2eca9a4bb32680cbf35945bb09cfd13be76a7 (diff) |
Infrastructure for storing and printing heap models for separation logic. Ensure value of sep.nil is correct in models. Print instantiations as sexprs.
Diffstat (limited to 'src/theory/theory_model.h')
-rw-r--r-- | src/theory/theory_model.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/theory/theory_model.h b/src/theory/theory_model.h index 3ee1be530..7157433f9 100644 --- a/src/theory/theory_model.h +++ b/src/theory/theory_model.h @@ -53,10 +53,18 @@ public: Node d_true; Node d_false; mutable std::hash_map<Node, Node, NodeHashFunction> d_modelCache; +public: /** comment stream to include in printing */ std::stringstream d_comment_str; /** get comments */ void getComments(std::ostream& out) const; +private: + /** information for separation logic */ + Node d_sep_heap; + Node d_sep_nil_eq; +public: + void setHeapModel( Node h, Node neq ); + bool getHeapModel( Expr& h, Expr& neq ) const; protected: /** reset the model */ virtual void reset(); |