Initial implementation of SygusUnifRL (#1829)
[cvc5.git] / contrib / run-script-smtcomp2017-unsat-cores
1 #!/bin/bash
2
3 cvc4=./cvc4
4 bench="$1"
5
6 logic=$(expr "$(grep -m1 '^[^;]*set-logic' "$bench")" : ' *(set-logic *\([A-Z_]*\) *) *$')
7
8 # use: finishwith [params..]
9 # to run cvc4 and let it output whatever it will to stdout.
10 function finishwith {
11 $cvc4 -L smt2.6 --no-incremental --no-checking --no-interactive "$@" $bench
12 }
13
14 case "$logic" in
15
16 QF_LRA)
17 finishwith --no-restrict-pivots --use-soi --new-prop --unconstrained-simp
18 ;;
19 QF_LIA)
20 finishwith --enable-miplib-trick --miplib-trick-subs=4 --use-approx --lemmas-on-replay-failure --replay-early-close-depth=4 --replay-lemma-reject-cut=128 --replay-reject-cut=512 --unconstrained-simp --use-soi
21 ;;
22 QF_NIA)
23 finishwith --solve-int-as-bv=32 --bitblast=eager --bv-sat-solver=cryptominisat
24 ;;
25 QF_NRA)
26 finishwith --nl-ext --nl-ext-tplanes
27 ;;
28 # all logics with UF + quantifiers should either fall under this or special cases below
29 ALIA|AUFLIA|AUFLIRA|AUFNIRA|UF|UFIDL|UFLIA|UFLRA|UFNIA|UFDT|UFDTLIA|AUFDTLIA|AUFBVDTLIA)
30 finishwith --full-saturate-quant
31 ;;
32 UFBV)
33 finishwith --finite-model-find
34 ;;
35 BV)
36 finishwith --full-saturate-quant --cbqi --decision=internal
37 ;;
38 LIA|LRA)
39 finishwith --full-saturate-quant --cbqi --cbqi-nested-qe --decision=internal
40 ;;
41 NIA|NRA)
42 finishwith --full-saturate-quant --cbqi --cbqi-nested-qe --decision=internal
43 ;;
44 QF_AUFBV)
45 finishwith --decision=justification-stoponly
46 ;;
47 QF_ABV)
48 finishwith --ite-simp --simp-with-care --arrays-weak-equiv
49 ;;
50 QF_UFBV)
51 finishwith --bitblast=eager --bv-sat-solver=cryptominisat
52 ;;
53 QF_BV)
54 finishwith --bv-div-zero-const --bv-eq-slicer=auto --no-bv-abstraction
55 ;;
56 QF_AUFLIA)
57 finishwith --no-arrays-eager-index --arrays-eager-lemmas --decision=justification
58 ;;
59 QF_AX)
60 finishwith --no-arrays-eager-index --arrays-eager-lemmas --decision=internal
61 ;;
62 QF_AUFNIA)
63 finishwith --decision=justification --no-arrays-eager-index --arrays-eager-lemmas
64 ;;
65 QF_ALIA)
66 finishwith --decision=justification-stoponly --no-arrays-eager-index --arrays-eager-lemmas
67 ;;
68 *)
69 # just run the default
70 finishwith
71 ;;
72
73 esac
74