summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/inst_match.h
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2016-02-17 17:35:56 -0600
committerajreynol <andrew.j.reynolds@gmail.com>2016-02-17 17:35:56 -0600
commitb0d7ac44fb7be5c56cd0c743114e792a985bb3b7 (patch)
tree4d5e8de3b66de4af0fe225d594edd78726b8bb1d /src/theory/quantifiers/inst_match.h
parentc603a047ac534ed4caafb128b5d333e05e1fd191 (diff)
Refactor quantifiers attributes. Make quantifier elimination robust to preprocessing, implement get-qe-disjunct.
Diffstat (limited to 'src/theory/quantifiers/inst_match.h')
-rw-r--r--src/theory/quantifiers/inst_match.h24
1 files changed, 8 insertions, 16 deletions
diff --git a/src/theory/quantifiers/inst_match.h b/src/theory/quantifiers/inst_match.h
index abe31b48d..35353863c 100644
--- a/src/theory/quantifiers/inst_match.h
+++ b/src/theory/quantifiers/inst_match.h
@@ -101,7 +101,7 @@ public:
std::map< Node, InstMatchTrie > d_data;
private:
void print( std::ostream& out, Node q, std::vector< TNode >& terms ) const;
- void getInstantiations( std::vector< Node >& insts, Node q, std::vector< TNode >& vars, std::vector< TNode >& terms ) const;
+ void getInstantiations( std::vector< Node >& insts, Node q, std::vector< Node >& terms, QuantifiersEngine * qe ) const;
public:
InstMatchTrie(){}
~InstMatchTrie(){}
@@ -132,13 +132,9 @@ public:
std::vector< TNode > terms;
print( out, q, terms );
}
- void getInstantiations( std::vector< Node >& insts, Node q ) {
- std::vector< TNode > terms;
- std::vector< TNode > vars;
- for( unsigned i=0; i<q[0].getNumChildren(); i++ ){
- vars.push_back( q[0][i] );
- }
- getInstantiations( insts, q, vars, terms );
+ void getInstantiations( std::vector< Node >& insts, Node q, QuantifiersEngine * qe ) {
+ std::vector< Node > terms;
+ getInstantiations( insts, q, terms, qe );
}
void clear() { d_data.clear(); }
};/* class InstMatchTrie */
@@ -152,7 +148,7 @@ public:
context::CDO< bool > d_valid;
private:
void print( std::ostream& out, Node q, std::vector< TNode >& terms ) const;
- void getInstantiations( std::vector< Node >& insts, Node q, std::vector< TNode >& vars, std::vector< TNode >& terms ) const;
+ void getInstantiations( std::vector< Node >& insts, Node q, std::vector< Node >& terms, QuantifiersEngine * qe ) const;
public:
CDInstMatchTrie( context::Context* c ) : d_valid( c, false ){}
~CDInstMatchTrie(){}
@@ -183,13 +179,9 @@ public:
std::vector< TNode > terms;
print( out, q, terms );
}
- void getInstantiations( std::vector< Node >& insts, Node q ) {
- std::vector< TNode > terms;
- std::vector< TNode > vars;
- for( unsigned i=0; i<q[0].getNumChildren(); i++ ){
- vars.push_back( q[0][i] );
- }
- getInstantiations( insts, q, vars, terms );
+ void getInstantiations( std::vector< Node >& insts, Node q, QuantifiersEngine * qe ) {
+ std::vector< Node > terms;
+ getInstantiations( insts, q, terms, qe );
}
};/* class CDInstMatchTrie */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback