#!/bin/bash cvc4=cvc4 bench="$1" let "to = $2 - 85" 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 30 --full-saturate-quant trywith 10 --decision=internal --full-saturate-quant trywith 30 --finite-model-find --fmf-inst-engine --mbqi=gen-ev trywith 15 --finite-model-find --decision=justification-stoponly trywith $to --quant-cf --full-saturate-quant echo "% SZS status" "GaveUp for $filename"