summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/fun_def_process.h
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2014-10-28 17:23:22 +0100
committerajreynol <andrew.j.reynolds@gmail.com>2014-10-28 17:23:22 +0100
commitdb982d9329981683c8d791aadba7e97fa98b0bd3 (patch)
tree09e4d6a472789322a43b5443f2276d38e11a956b /src/theory/quantifiers/fun_def_process.h
parent55323fd7283d758caf31e637be237d2416b86167 (diff)
Preprocessing step for finding finite runs of well-defined function definitions using FMF.
Diffstat (limited to 'src/theory/quantifiers/fun_def_process.h')
-rw-r--r--src/theory/quantifiers/fun_def_process.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/theory/quantifiers/fun_def_process.h b/src/theory/quantifiers/fun_def_process.h
index c2d8aeb65..22adf427d 100644
--- a/src/theory/quantifiers/fun_def_process.h
+++ b/src/theory/quantifiers/fun_def_process.h
@@ -30,6 +30,17 @@ namespace quantifiers {
//find finite models for well-defined functions
class FunDefFmf {
+private:
+ //defined functions to input sort
+ std::map< Node, TypeNode > d_sorts;
+ //defined functions to injections input -> argument elements
+ std::map< Node, std::vector< Node > > d_input_arg_inj;
+ //flatten ITE
+ void flattenITE( Node lhs, Node n, std::vector< std::vector< Node > >& conds, std::vector< Node >& terms );
+ //simplify
+ Node simplify( Node n, bool pol, bool hasPol, std::vector< Node >& constraints, bool is_fun_def = false );
+ //simplify term
+ void simplifyTerm( Node n, std::vector< Node >& constraints );
public:
FunDefFmf(){}
~FunDefFmf(){}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback