|
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 |