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

definition: Info
 
matchSorts :: [Sort] -> [Sort] -> Maybe TPSubst
matchSorts []       []       = Just emptyTPSubst
matchSorts []       (_:_)    = Nothing
matchSorts (_:_)    []       = Nothing
matchSorts (t1:ts1) (t2:ts2) = do
  s <- matchSort t1 t2
  t <- matchSorts (map (substSort s) ts1) ts2
  return (FM.union s t)
demand: Info
 arguments 1 2
deterministic: Info
 deterministic operation
failfree: Info
 <FAILING>
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {({[]},{[]}) |-> {Just} || ({[]},{:}) |-> {Nothing} || ({:},{[]}) |-> {Nothing} || ({:},{:}) |-> _}
name: Info
 matchSorts
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 [Sort] -> [Sort] -> Prelude.Maybe (Data.Map.Map String Sort)
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term