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

definition:
 
addInstancesOfSigs :: [QIdent] -> [FunSigTerm] -> ([QIdent], [FunSigTerm])
addInstancesOfSigs qids allsigs = addInstsOfSigs qids allsigs
 where
  addInstsOfSigs qids0 []         = (qids0,[])
  addInstsOfSigs qids0 (fts:ftss) =
    let (qids1,fts1) = addInstancesOfSig qids0 allsigs fts
        (qids2,fts2) = addInstsOfSigs qids1 ftss
    in (qids2, fts1 ++ fts2)
demand:
 argument 2
deterministic:
 deterministic operation
documentation:
 
Adds to given (polymorphic) define-sig elements all its type instances
required by qualified identifiers occurring in the first argument
provided that it does not already occur in the sig elements.
The list of unused qualified identifiers is also returned.
failfree:
 <FAILING>
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {(_,_) |-> {(,)}}
name:
 addInstancesOfSigs
precedence:
 no precedence defined
result-values:
 {(,)}
signature:
 [QIdent] -> [([String], FunSig, Term)] -> ([QIdent], [([String], FunSig, Term)])
solution-complete:
 operation might suspend on free variables
terminating:
 possibly non-terminating
totally-defined:
 possibly non-reducible on same data term