CurryInfo: contract-prover-4.0.0 / ContractProver.checkImplication

definition:
 
checkImplication :: Options -> IORef VState -> String -> [(Int,TypeExpr)]
                 -> Term -> Term -> Term -> IO (Maybe String)
checkImplication opts vstref scripttitle vartypes assertion impbindings imp =
  if optVerify opts
    then checkImplicationWithSMT opts vstref scripttitle vartypes
                                 assertion impbindings imp
    else return Nothing
demand:
 argument 1
deterministic:
 deterministic operation
documentation:
 
------------------------------------------------------------------------
failfree:
 <FAILING>
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {(_,_,_,_,_,_,_) |-> _}
name:
 checkImplication
precedence:
 no precedence defined
result-values:
 _
signature:
 ToolOptions.Options -> Data.IORef.IORef VerifierState.VState -> String
-> [(Prelude.Int, FlatCurry.Types.TypeExpr)] -> ESMT.Term -> ESMT.Term
-> ESMT.Term -> Prelude.IO (Prelude.Maybe String)
solution-complete:
 operation might suspend on free variables
terminating:
 possibly non-terminating
totally-defined:
 possibly non-reducible on same data term