function trywith {
limit=$1; shift;
echo "--- Run $@ at $limit...";
- (ulimit -t "$limit";$cvc4 --no-checking --no-interactive --dump-models --produce-models --force-no-limit-cpu-while-dump "$@" $bench) 2>/dev/null |
+ (ulimit -S -t "$limit";$cvc4 --no-checking --no-interactive --dump-models --produce-models --force-no-limit-cpu-while-dump "$@" $bench) 2>/dev/null |
(read w1 w2 w3 result w4 w5;
case "$result" in
Satisfiable) echo "$w1 $w2 $w3 $result $w4 $w5";cat;exit 0;;
function trywith {
limit=$1; shift;
echo "--- Run $@ at $limit...";
- (ulimit -t "$limit";$cvc4 --no-checking --no-interactive --dump-instantiations --inst-format=szs --force-no-limit-cpu-while-dump "$@" $bench) 2>/dev/null |
+ (ulimit -S -t "$limit";$cvc4 --no-checking --no-interactive --dump-instantiations --inst-format=szs --force-no-limit-cpu-while-dump "$@" $bench) 2>/dev/null |
(read w1 w2 w3 result w4 w5;
case "$result" in
Unsatisfiable) echo "$w1 $w2 $w3 $result $w4 $w5";cat;exit 0;;
}
function finishwith {
echo "--- Run $@...";
- $cvc4 --no-checking --no-interactive --dump-instantiations --inst-format=szs "$@" $bench
+ $cvc4 --no-checking --no-interactive "$@" $bench
}
trywith 15 --cbqi-recurse --full-saturate-quant
trywith 15 --decision=internal --full-saturate-quant
trywith 30 --quant-cf --qcf-tconstraint --full-saturate-quant
trywith 20 --finite-model-find
-trywith 30 --full-saturate-quant
+trywith 30 --fmf-bound-int
trywith 60 --quant-cf --full-saturate-quant
finishwith --cbqi-recurse --full-saturate-quant --pre-skolem-quant
# echo "% SZS status" "GaveUp for $filename"
}
}
}
- if( options::recurseCbqi() && !options::preSkolemQuant() && d_setIncomplete ){
+ if( d_setIncomplete ){
Debug("quantifiers-sat") << "Cannot conclude SAT with nested quantifiers in recursive strategy." << std::endl;
//TODO : only when existentials with inst constants
d_quantEngine->getOutputChannel().setIncomplete();