[[option]]
name = "extRewPrep"
category = "regular"
- long = "ext-rew-prep"
- type = "bool"
- default = "false"
- help = "use extended rewriter as a preprocessing pass"
-
-[[option]]
- name = "extRewPrepAgg"
- category = "regular"
- long = "ext-rew-prep-agg"
- type = "bool"
- default = "false"
- help = "use aggressive extended rewriter as a preprocessing pass"
+ long = "ext-rew-prep=MODE"
+ type = "ExtRewPrepMode"
+ default = "OFF"
+ help = "mode for using extended rewriter as a preprocessing pass, see --ext-rew-prep=help"
+ help_mode = "extended rewriter preprocessing pass modes."
+[[option.mode.OFF]]
+ name = "off"
+ help = "do not use extended rewriter as a preprocessing pass."
+[[option.mode.USE]]
+ name = "use"
+ help = "use extended rewriter as a preprocessing pass."
+[[option.mode.AGG]]
+ name = "agg"
+ help = "use aggressive extended rewriter as a preprocessing pass."
[[option]]
name = "simplifyWithCareEnabled"
{
assertionsToPreprocess->replace(
i,
- extendedRewrite((*assertionsToPreprocess)[i],
- options().smt.extRewPrepAgg));
+ extendedRewrite(
+ (*assertionsToPreprocess)[i],
+ options().smt.extRewPrep == options::ExtRewPrepMode::AGG));
}
return PreprocessingPassResult::NO_CONFLICT;
}
bool noConflict = true;
- if (options().smt.extRewPrep)
+ if (options().smt.extRewPrep != options::ExtRewPrepMode::OFF)
{
applyPass("ext-rew-pre", as);
}
-; COMMAND-LINE: --ext-rew-prep --ext-rew-prep-agg
+; COMMAND-LINE: --ext-rew-prep=agg
; EXPECT: unsat
(set-info :smt-lib-version 2.6)
(set-logic QF_FP)
-; COMMAND-LINE: --ext-rew-prep -q
+; COMMAND-LINE: --ext-rew-prep=use -q
; EXPECT: sat
(set-logic ALL)
(set-info :status sat)
-; COMMAND-LINE: --ext-rew-prep --ext-rew-prep-agg
+; COMMAND-LINE: --ext-rew-prep=agg
; EXPECT: sat
(set-logic ALL)
(declare-sort Atom 0)
-; COMMAND-LINE: --ext-rew-prep
+; COMMAND-LINE: --ext-rew-prep=use
(set-logic QF_SLIA)
(declare-fun a () String)
(declare-fun b () String)
-; COMMAND-LINE: --ext-rew-prep
+; COMMAND-LINE: --ext-rew-prep=use
; EXPECT: sat
(set-logic QF_BV)
(declare-fun a () (_ BitVec 4))
(declare-fun _substvar_3545_ () Bool)
(declare-fun _substvar_3627_ () Bool)
(set-option :ext-rewrite-quant true)
-(set-option :ext-rew-prep true)
+(set-option :ext-rew-prep use)
(declare-const v0 Bool)
(declare-const i2 Int)
(declare-const i3 Int)
-; COMMAND-LINE: --ext-rew-prep --ext-rew-prep-agg --no-new-prop --nl-ext-tplanes
+; COMMAND-LINE: --ext-rew-prep=agg --no-new-prop --nl-ext-tplanes
; EXPECT: sat
(set-info :smt-lib-version 2.6)
(set-logic QF_NIA)
-; COMMAND-LINE: --ext-rew-prep
+; COMMAND-LINE: --ext-rew-prep=use
; EXPECT: sat
(set-logic QF_NRA)
(set-info :status sat)
-; COMMAND-LINE: --ext-rew-prep -q
+; COMMAND-LINE: --ext-rew-prep=use -q
; EXPECT: sat
(set-logic ALL)
(set-info :status sat)