CurryInfo: verify-non-fail-2.0.0 / Verify.WithSMT.replaceHigherOrderInExp

definition: Info
 
replaceHigherOrderInExp :: Expr -> Expr
replaceHigherOrderInExp =
  trExpr Var Lit updComb FC.Let Free Or Case Branch Typed
 where
  updComb ct qn args = case ct of
    FuncPartCall _ -> fcFailed
    ConsPartCall _ -> fcFailed
    FuncCall | qn == pre "apply" -> fcFailed
    _              -> Comb ct qn args
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Replace higher-order features, like occurrences of `Prelude.apply` and
partial applications, by `Prelude.failed` in an expression since they
cannot be handled by SMT. Later, occurrences of `Prelude.failed` in
SMT terms are replaced by fresh variables so that they are unspecified
values.
failfree: Info
 ()
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {() |-> {trExpr}}
name: Info
 replaceHigherOrderInExp
precedence: Info
 no precedence defined
result-values: Info
 {trExpr}
signature: Info
 FlatCurry.Types.Expr -> FlatCurry.Types.Expr
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 reducible on all ground data terms