#!/usr/bin/env bash
#
# Author: Jasmin Blanchette
#
# DESCRIPTION: Nitpick for TPTP
PRG="$(basename "$0")"
function usage() {
echo
echo "Usage: isabelle $PRG TIMEOUT FILES"
echo
echo " Runs Nitpick on TPTP problems."
echo " Each problem is allocated at most TIMEOUT seconds."
echo
exit 1
}
[ "$#" -eq 0 -o "$1" = "-?" ] && usage
SCRATCH="Scratch_${PRG}_$$_${RANDOM}"
TIMEOUT=$1
shift
isabelle build -b HOL-TPTP 2>&1 | grep --line-buffered -v "elapsed time$"
for FILE in "$@"
do
echo "theory $SCRATCH imports \"$TPTP_HOME/ATP_Problem_Import\" begin \
ML \<open> ATP_Problem_Import.nitpick_tptp_file @{theory} ($TIMEOUT) \"$FILE\" \<close> end" \
> /tmp/$SCRATCH.thy
isabelle process -e "use_thy \"/tmp/$SCRATCH\"; exit 1;" -l HOL-TPTP | grep --line-buffered -v "^###\|^PROOF FAILED for depth\|^Failure node\|inferences so far. Searching to depth\|^val \|^Loading theory\|^poly.*warning: The type of\|^ monotype.$"
done