CurryInfo: property-prover-2.0.0 / CheckSMT.checkPreCon

definition: Info
 
checkPreCon :: String -> SMT.Term -> SMT.Term -> SMT.Term -> String -> [Int]
            -> TransStateM (Maybe Bool)
checkPreCon scripttitle assertion impbindings imp mname mvars = do
  optcontract <- lift $ getOption optContract
  if optcontract > 1
    then
      generateSMT scripttitle assertion impbindings imp
        >>= checkSMT evalPreCon mvars (\name args margs -> "Call"
          ++ printCall mname margs ++ "violates " ++ toPreCondName name
          ++ " due to calling" ++ printCall name args)
    else return $ Just False
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Checks the satisfiability of the given assertion and checks the pre
condition if the assertion is satisfiable.
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_,_,_,_,_) |-> _}
name: Info
 checkPreCon
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 String -> Language.SMTLIB.Types.Term -> Language.SMTLIB.Types.Term
-> Language.SMTLIB.Types.Term -> String -> [Prelude.Int]
-> Control.Monad.Trans.State.StateT TransState.TransState (Control.Monad.Trans.State.StateT VerifierState.VState Prelude.IO) (Prelude.Maybe Prelude.Bool)
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term