src/HOL/TPTP/lib/Tools/tptp_isabelle
author blanchet
Fri, 24 May 2013 11:08:25 +0200
changeset 52124 c54170ee898b
parent 52096 7e9cd79e25b3
child 54434 e275d520f49d
permissions -rwxr-xr-x
pass noninteractive flag -- necessary to run under CASC's "runsolver" program

#!/usr/bin/env bash
#
# Author: Jasmin Blanchette
#
# DESCRIPTION: Isabelle tactics for TPTP competitive division


PRG="$(basename "$0")"

function usage() {
  echo
  echo "Usage: isabelle $PRG TIMEOUT FILES"
  echo
  echo "  Runs a combination of Isabelle tactics 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

for FILE in "$@"
do
  echo "theory $SCRATCH imports \"$TPTP_HOME/ATP_Problem_Import\" begin \
ML {* ATP_Problem_Import.isabelle_tptp_file @{theory} ($TIMEOUT) \"$FILE\" *} end;" \
    > /tmp/$SCRATCH.thy
  "$ISABELLE_PROCESS" -q -e "use_thy \"/tmp/$SCRATCH\"; exit 1;" HOL-TPTP | grep --line-buffered -v "^###\|^PROOF FAILED for depth\|^Failure node\|inferences so far.  Searching to depth\|^val it = (): unit"
done