theory THEORY_STRINGS ::CVC4::theory::strings::TheoryStrings "theory/strings/theory_strings.h"
-properties check parametric propagate getNextDecisionRequest
+properties check parametric propagate getNextDecisionRequest presolve
rewriter ::CVC4::theory::strings::TheoryStringsRewriter "theory/strings/theory_strings_rewriter.h"
module STRINGS "theory/strings/options.h" Strings theory
-option stringCharCardinality str-alphabet-card --str-alphabet-card=N int16_t :default 256 :read-write
+option stringCharCardinality str-alphabet-card --str-alphabet-card=N int16_t :default 256 :predicate CVC4::smt::beforeSearch :predicate-include "smt/smt_engine.h"
the cardinality of the characters used by the theory of strings, default 256
option stringRegExpUnrollDepth str-regexp-depth --str-regexp-depth=N int16_t :default 10 :read-write
the depth of unrolloing regular expression used by the theory of strings, default 10
-option stringFMF fmf-strings --fmf-strings bool :default false
+option stringFMF fmf-strings --fmf-strings bool :default false :predicate CVC4::smt::beforeSearch :predicate-include "smt/smt_engine.h"
the finite model finding used by the theory of strings
endmodule
}
}
+/////////////////////////////////////////////////////////////////////////////
+// NOTIFICATIONS
+/////////////////////////////////////////////////////////////////////////////
+
+
+void TheoryStrings::presolve()
+{
+ Trace("strings-presolve") << "TheoryStrings : Presolving " << std::endl;
+}
+
+
/////////////////////////////////////////////////////////////////////////////
// MODEL GENERATION
/////////////////////////////////////////////////////////////////////////////
bool TheoryStrings::splitRegExp( Node x, Node r, Node ant ) {
x = Rewriter::rewrite( x );
if(x == d_emptyString) {
- //if(d_regexp_opr.delta() == 1) {
- //}
+ if(d_regexp_opr.delta( r ) == 1) {
+ }
return false;
} else {
CVC4::String s = getHeadConst( x );
/////////////////////////////////////////////////////////////////////////////
public:
-
+ void presolve();
void shutdown() { }
/////////////////////////////////////////////////////////////////////////////