CurryInfo: property-prover-2.0.0 / ESMT.substTerm

definition:
 
substTerm :: TPSubst -> SMT.Term -> SMT.Term
substTerm sub term = case term of
  SMT.TConst _       -> term
  SMT.TComb f args   -> SMT.TComb (substQId sub f) (map (substTerm sub) args)
  SMT.Forall svs arg -> SMT.Forall (map (substSV sub) svs) (substTerm sub arg)
  SMT.Exists svs arg -> SMT.Forall (map (substSV sub) svs) (substTerm sub arg)
  SMT.Let bs e       -> SMT.Let (map (\ (v,s) -> (v, substTerm sub s)) bs)
                                (substTerm sub e)
  SMT.Match e ps     -> SMT.Match (substTerm sub e)
                                  (map (\(p,t) -> (p, substTerm sub t)) ps)
  SMT.Annot e as     -> SMT.Annot (substTerm sub e) as
demand:
 argument 2
deterministic:
 deterministic operation
documentation:
 
Applies a sort substitution to a term.
failfree:
 (_, _)
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {(_,{TConst}) |-> {TConst} || (_,{TComb}) |-> {TComb} || (_,{Forall}) |-> {Forall} || (_,{Exists}) |-> {Forall} || (_,{Let}) |-> {Let} || (_,{Match}) |-> {Match} || (_,{Annot}) |-> {Annot}}
name:
 substTerm
precedence:
 no precedence defined
result-values:
 _
signature:
 Data.Map.Map String Language.SMTLIB.Types.Sort -> Language.SMTLIB.Types.Term
-> Language.SMTLIB.Types.Term
solution-complete:
 operation might suspend on free variables
terminating:
 possibly non-terminating
totally-defined:
 possibly non-reducible on same data term