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

definition: Info
 
addAllInstancesOfSigs :: [QIdent] -> [FunSigTerm] -> ([QIdent], [FunSigTerm])
addAllInstancesOfSigs allqids = addAllInsts allqids
 where
  addAllInsts qids fts =
    let (qids1,fts1) = addInstancesOfSigs qids fts
    in if null fts1
         then (qids1,fts)
         else let (qids2,fts2) = addAllInsts
                                   (union qids1 (allQIdsOfSigs fts1 \\ allqids))
                                   (fts ++ fts1)
              in (qids2, fts2)
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Transforms a list of signatures into all its instances required by
sorted identifiers (second argument) and also required by sorted
identifiers in the added instances. Returns also the list of
remaining identifiers.
failfree: Info
 <FAILING>
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_) |-> {addAllInstancesOfSigs.addAllInsts.331}}
name: Info
 addAllInstancesOfSigs
precedence: Info
 no precedence defined
result-values: Info
 {addAllInstancesOfSigs.addAllInsts.331}
signature: Info
 [QIdent] -> [([String], FunSig, Term)] -> ([QIdent], [([String], FunSig, Term)])
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term