diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2014-10-28 17:23:22 +0100 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2014-10-28 17:23:22 +0100 |
commit | db982d9329981683c8d791aadba7e97fa98b0bd3 (patch) | |
tree | 09e4d6a472789322a43b5443f2276d38e11a956b /src/theory/quantifiers/fun_def_process.h | |
parent | 55323fd7283d758caf31e637be237d2416b86167 (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.h | 11 |
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(){} |