diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2017-07-10 14:06:52 -0500 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2017-07-10 14:07:11 -0500 |
commit | f3590092818d9eab9d961ea602093029ff472a85 (patch) | |
tree | 1401f00df0d9659ba2321ea2088fe0c3f4de9f52 /src/theory/quantifiers/quant_util.h | |
parent | d598a9644862d176632071bca8448765d9cc3cc1 (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.h | 18 |
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 ); +}; + } } |