summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/quant_util.h
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2017-07-10 14:06:52 -0500
committerajreynol <andrew.j.reynolds@gmail.com>2017-07-10 14:07:11 -0500
commitf3590092818d9eab9d961ea602093029ff472a85 (patch)
tree1401f00df0d9659ba2321ea2088fe0c3f4de9f52 /src/theory/quantifiers/quant_util.h
parentd598a9644862d176632071bca8448765d9cc3cc1 (diff)
Merge datatype shared selectors/sygus comp 2017 branch. Modify the datatypes decision procedure to share selectors of the same type across multiple constructors. Major rewrite of the SyGuS solver. Adds several new strategies for I/O example problems (PBE) and invariant synthesis. Major simplifications to sygus parsing and synthesis conjecture representation. Do not support check-synth in portfolio. Add sygus regressions.
Diffstat (limited to 'src/theory/quantifiers/quant_util.h')
-rw-r--r--src/theory/quantifiers/quant_util.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/theory/quantifiers/quant_util.h b/src/theory/quantifiers/quant_util.h
index 42fb7381c..40a5b5849 100644
--- a/src/theory/quantifiers/quant_util.h
+++ b/src/theory/quantifiers/quant_util.h
@@ -207,6 +207,24 @@ public:
bool hasEPRAxiom( TypeNode tn ) const { return d_epr_axiom.find( tn )!=d_epr_axiom.end(); }
};
+class TermRecBuild {
+private:
+ std::vector< Node > d_term;
+ std::vector< std::vector< Node > > d_children;
+ std::vector< Kind > d_kind;
+ std::vector< bool > d_has_op;
+ std::vector< unsigned > d_pos;
+ void addTerm( Node n );
+public:
+ TermRecBuild(){}
+ void init( Node n );
+ void push( unsigned p );
+ void pop();
+ void replaceChild( unsigned i, Node n );
+ Node getChild( unsigned i );
+ Node build( unsigned p=0 );
+};
+
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback