summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/ce_guided_instantiation.h
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2015-01-27 14:09:32 +0100
committerajreynol <andrew.j.reynolds@gmail.com>2015-01-27 14:09:32 +0100
commitb2334221c88ba8ae6adbd27b0802aa2b02641378 (patch)
treed2f908f9fba5c58c1a5a8db1902f43c8a50e916b /src/theory/quantifiers/ce_guided_instantiation.h
parentedd8886e56c8bb84f3fd85fc6f697d870bc0a3b7 (diff)
Recognize when synthesis conjectures are in single invocation fragment.
Diffstat (limited to 'src/theory/quantifiers/ce_guided_instantiation.h')
-rw-r--r--src/theory/quantifiers/ce_guided_instantiation.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/theory/quantifiers/ce_guided_instantiation.h b/src/theory/quantifiers/ce_guided_instantiation.h
index f4449117c..8b3d56a2a 100644
--- a/src/theory/quantifiers/ce_guided_instantiation.h
+++ b/src/theory/quantifiers/ce_guided_instantiation.h
@@ -107,6 +107,18 @@ private:
/** get model term */
Node getModelTerm( Node n );
private:
+ std::map< Node, Node > d_single_inv;
+ //map from programs to variables in single invocation property
+ std::map< Node, std::map< Node, Node > > d_single_inv_map;
+ //map from programs to evaluator term representing the above variable
+ std::map< Node, std::map< Node, Node > > d_single_inv_app_map;
+private:
+ void analyzeSygusConjecture( Node q );
+ bool analyzeSygusConjunct( Node n, Node p, std::map< Node, std::vector< Node > >& children,
+ std::map< Node, std::map< Node, std::vector< Node > > >& prog_invoke,
+ std::vector< Node >& progs, std::map< Node, std::map< Node, bool > >& contains, bool pol );
+ bool analyzeSygusTerm( Node n, std::map< Node, std::vector< Node > >& prog_invoke, std::map< Node, bool >& contains );
+private:
/** print sygus term */
void printSygusTerm( std::ostream& out, Node n );
public:
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback