CurryInfo: verify-non-fail-2.0.0 / Verify.ESMT.sortsOfTerm

definition: Info
 
sortsOfTerm :: Term -> [Sort]
sortsOfTerm (TConst _)    = []
sortsOfTerm (TSVar  _)    = []
sortsOfTerm (Let bs t)    = concatMap (sortsOfTerm . snd) bs ++ sortsOfTerm t
sortsOfTerm (Match t ps)  = sortsOfTerm t ++ concatMap (sortsOfTerm . snd) ps
sortsOfTerm (Forall vs t) = map sortOfSortedVar vs ++ sortsOfTerm t
sortsOfTerm (Exists vs t) = map sortOfSortedVar vs ++ sortsOfTerm t
sortsOfTerm (TComb f ts)  = sortsOfQIdent f ++ concatMap sortsOfTerm ts
 where
  sortsOfQIdent (Id _)   = []
  sortsOfQIdent (As _ s) = [s]
demand: Info
 argument 1
deterministic: Info
 deterministic operation
documentation: Info
 
Get all sorts occurring in a term.
failfree: Info
 _
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {({TConst}) |-> {[]} || ({TSVar}) |-> {[]} || ({Let}) |-> _ || ({Match}) |-> _ || ({Forall}) |-> _ || ({Exists}) |-> _ || ({TComb}) |-> _}
name: Info
 sortsOfTerm
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 Term -> [Sort]
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 reducible on all ground data terms