diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2015-12-15 12:37:23 +0100 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2015-12-15 12:37:23 +0100 |
commit | e600773f0e189d22c5f28ee1d443ba38e5fa72e8 (patch) | |
tree | 6c12ccb1a9a633a3ae7c6ce11091fde41a7bfc49 /src/theory/sort_inference.h | |
parent | 90e3b73fbd1b2eb262a7a7e2e72d701c8f9e3600 (diff) |
Add option uf-ss-fair-monotone. Minor cleanup and improvement of sort inference.
Diffstat (limited to 'src/theory/sort_inference.h')
-rw-r--r-- | src/theory/sort_inference.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/theory/sort_inference.h b/src/theory/sort_inference.h index 4bb1a072e..f926776de 100644 --- a/src/theory/sort_inference.h +++ b/src/theory/sort_inference.h @@ -71,7 +71,7 @@ private: int process( Node n, std::map< Node, Node >& var_bound ); //for monotonicity inference private: - void processMonotonic( Node n, bool pol, bool hasPol, std::map< Node, Node >& var_bound ); + void processMonotonic( Node n, bool pol, bool hasPol, std::map< Node, Node >& var_bound, bool typeMode = false ); //for rewriting private: @@ -93,7 +93,7 @@ public: SortInference() : sortCount( 1 ){} ~SortInference(){} - bool simplify( std::vector< Node >& assertions ); + void simplify( std::vector< Node >& assertions, bool doSortInference, bool doMonotonicyInference ); //get sort id for term n int getSortId( Node n ); //get sort id for variable of quantified formula f @@ -109,6 +109,13 @@ public: public: //list of all functions and the uninterpreted symbols they were replaced with std::map< Node, Node > d_model_replace_f; + +private: + // store monotonicity for original sorts as well + std::map< TypeNode, bool > d_non_monotonic_sorts_orig; +public: + //is monotonic + bool isMonotonic( TypeNode tn ); }; } |