CurryInfo: rewriting-3.0.0 / Rewriting.Strategy.reduction

definition:
reduction :: Eq f => RStrategy f -> TRS f -> Term f -> Reduction f
reduction s trs t = case s trs t of
  []       -> NormalForm t
  ps@(_:_) -> RStep t ps (reduction s trs (reduceAtL trs ps t))
demand:
argument 2
deterministic:
deterministic operation
documentation:
--- Returns the reduction of a term with the given strategy and term rewriting
--- system.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_,_,_) |-> {NormalForm,RStep}}
name:
reduction
precedence:
no precedence defined
result-values:
{NormalForm,RStep}
signature:
Prelude.Eq a => ([(Rewriting.Term.Term a, Rewriting.Term.Term a)]
-> Rewriting.Term.Term a -> [[Prelude.Int]])
-> [(Rewriting.Term.Term a, Rewriting.Term.Term a)] -> Rewriting.Term.Term a
-> Reduction a
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term