Pass 'verbose' flag through to SBV for :prove and :sat

This addresses issue #17.
This commit is contained in:
Brian Huffman 2014-09-26 11:56:32 -07:00
parent e9642e5809
commit 840e99f563

View File

@ -86,12 +86,13 @@ satProve isSat (proverName, useSolverIte, verbose) edecls mfile (expr, schema) =
case proverName of
"any" -> SBV.sbvAvailableSolvers
_ -> return [(lookupProver proverName) { smtFile = mfile }]
let provers' = [ p { SBV.timing = verbose, SBV.verbose = verbose } | p <- provers ]
let tyFn = if isSat then existsFinType else forallFinType
let runProver fn tag e = do
when verbose $ liftIO $
putStrLn $ "Trying proof with " ++
intercalate ", " (map show provers)
(firstProver, res) <- fn provers e
(firstProver, res) <- fn provers' e
when verbose $ liftIO $
putStrLn $ "Got result from " ++ show firstProver
return (tag res)