2799N/ADescription : Interface to the Isabelle theorem prover.
2799N/ACopyright : (c) Jonathan von Schroeder, DFKI Bremen 2012
248N/AMaintainer : Jonathan von Schroeder <jonathan.von_schroeder@dfki.de>
248N/AIsabelle theorem prover for THF0
2799N/A refuteProver, sledgehammerProver ) where
2799N/Apfun :: String -> ProverFuncs
2799N/A cfgTimeout = maybe 20 (+ 10) . timeLimit,
2799N/A proverCommand = \ tout tmpFile _ ->
2799N/A return ("time", ["isabelle", tool, show (tout - 10), tmpFile]),
2799N/A getMessage = \ res' pout _ ->
2799N/A if null res' then concat $ filter (isPrefixOf "*** ") (lines pout)
2799N/A getTimeUsed = \ line -> case fromMaybe "" $ stripPrefix "real\t" line of
2799N/A s -> let sp p str = case dropWhile p str of
2799N/A where (w, s'') = break p s'
2799N/A (m : secs : _) = sp (== 'm') s
2799N/A in Just $ read m * 60 + read secs }
2799N/AcreateIsaSZSProver :: String -> String -> ProverFuncs -> ProverType
2799N/AcreateIsaSZSProver = createSZSProver "isabelle"
248N/AisaProver = createIsaSZSProver "Isabelle (automated)"
2799N/A "Automated Isabelle calling all tools available"
2799N/A $ pfun "tptp_isabelle_demo"
2799N/AnitpickProver = createIsaSZSProver "Isabelle (nitpick)"
248N/A "Nitpick for TPTP problems"
2799N/ArefuteProver = createIsaSZSProver "Isabelle (refute)"
2799N/AsledgehammerProver :: ProverType
2799N/AsledgehammerProver = createIsaSZSProver "Isabelle (sledgehammer)"
2799N/A "sledgehammer for TPTP problems"
248N/A $ pfun "tptp_sledgehammer"