#!/bin/bash cvc4=cvc4 bench="$1" let "to = $2 - 170" file=${bench##*/} filename=${file%.*} # use: trywith [params..] # to attempt a run. Only thing printed on stdout is "sat" or "unsat", in # which case this run script terminates immediately. Otherwise, this # function returns normally. function trywith { limit=$1; shift; echo "--- Run $@ at $limit..."; (ulimit -t "$limit";$cvc4 --no-checking --no-interactive --dump-instantiations "$@" $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;; Theorem) echo "$w1 $w2 $w3 $result $w4 $w5";cat;exit 0;; esac; exit 1) if [ ${PIPESTATUS[1]} -eq 0 ]; then exit 0; fi } 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 90 --full-saturate-quant trywith $to --cbqi-recurse --full-saturate-quant --pre-skolem-quant echo "% SZS status" "GaveUp for $filename"