CurryInfo: contract-prover-4.0.0 / Curry2SMT.pat2SMT

definition:
 
pat2SMT :: TAPattern -> Term
pat2SMT (ALPattern _ l)    = lit2SMT l
pat2SMT (APattern ty (qf,_) ps)
  | qf == pre "[]" && null ps
  = sortedConst "nil" (polytype2sort ty)
  | otherwise
  = tComb (transOpName qf) (map (TSVar . fst) ps)
demand:
 argument 1
deterministic:
 deterministic operation
documentation:
 
Translates a pattern into an SMT expression.
failfree:
 _
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {({ALPattern}) |-> {TConst} || ({APattern}) |-> {TComb}}
name:
 pat2SMT
precedence:
 no precedence defined
result-values:
 {TComb,TConst}
signature:
 FlatCurry.Annotated.Types.APattern FlatCurry.Types.TypeExpr -> ESMT.Term
solution-complete:
 operation might suspend on free variables
terminating:
 possibly non-terminating
totally-defined:
 possibly non-reducible on same data term