CurryInfo: property-prover-2.0.0 / Inference.Simplification.rnBranchExpr

definition:
rnBranchExpr :: [(VarIndex, VarIndex)] -> Renaming (ABranchExpr a)
rnBranchExpr ren ys (ABranch (APattern a p zs) be)
  = let (ys1, zs') = takeVars ys zs
        zsNoAnn    = map fst zs
        ren1       = zip zsNoAnn zs' ++ filter ((`notElem` zsNoAnn) . fst) ren
        (ys2, be') = rnExpr ren1 ys1 be
    in (ys2, ABranch (APattern a p (swapAnn zs' zs)) be')
rnBranchExpr ren ys (ABranch l@(ALPattern _ _) be)
  = let (ys1, be') = rnExpr ren ys be
    in (ys1, ABranch l be')
demand:
argument 3
deterministic:
deterministic operation
failfree:
(_, _, _)
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_,{ABranch}) |-> {(,)}}
name:
rnBranchExpr
precedence:
no precedence defined
result-values:
{(,)}
signature:
[(Prelude.Int, Prelude.Int)] -> [Prelude.Int]
-> FlatCurry.Annotated.Types.ABranchExpr a
-> ([Prelude.Int], FlatCurry.Annotated.Types.ABranchExpr a)
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term