stp-mergesat-fixed

loading
details
attribute current value
name stp-mergesat-fixed
description no description
owning solver stp-mergesat-fixed
contents
#!/bin/bash
#
# Use STP to create CNF from SMT input, and use Minisat to solve it

SOLVERDIR="$(dirname "${BASH_SOURCE[0]}" )"

# clean last call
rm -f output_0.cnf
"$SOLVERDIR"/stp --SMTLIB2 --output-CNF --exit-after-CNF "$1"

# In case a file was created, call the SAT solver
if [ -f output_0.cnf ]
then
	SOLVERCODE=0
	"$SOLVERDIR"/mergesat -verb=0 output_0.cnf 1>&2 || SOLVERCODE=$?

	if [[ "$SOLVERCODE" -eq 10 ]]; then
		echo "sat"
	elif [[ "$SOLVERCODE" -eq 20 ]]; then
		echo "unsat"
	fi
fi

back to stp-mergesat-fixed