Expand description
Auto-generated module
🤖 Generated with SplitRS
Functions§
- apply_k
- Apply the K combinator: K x y = x.
- beta_
applicative_ order - Applicative-order beta reduction.
- beta_
equivalent - Check if two expressions are beta-equivalent.
- beta_
head_ normalize - Head beta normalization: reduce only the head of an application spine.
- beta_
normal_ order - Normal-order beta reduction.
- beta_
normalize - Perform beta reduction to normal form.
- beta_
normalize_ fueled - Perform fueled beta normalization.
- beta_
normalize_ with_ stats - Beta reduce with statistics collection.
- beta_
step - Perform one step of beta reduction.
- beta_
step_ with_ flag - Perform one step of beta reduction at the outermost position.
- beta_
under_ binder - Beta reduce under a specific variable binding.
- beta_
whnf - Reduce an expression to weak head normal form.
- collect_
app_ spine - Collect the application spine of an expression.
- count_
redexes - Count the number of redexes at the outermost position.
- count_
reduction_ steps - Count the number of beta reduction steps to normalize an expression.
- estimate_
reduction_ depth - Estimate how many steps are needed to normalize an expression.
- eta_
expand - Eta-expand an expression of a known function type.
- eta_
reduce - Eta-reduce
lambda x. f xtofwhenxis not free inf. - has_let
- Check if an expression contains any let-bindings.
- is_
beta_ normal - Check if an expression is in beta normal form.
- is_
eta_ reducible - Check if an expression is eta-reducible.
- is_whnf
- Check if an expression is in weak head normal form.
- mk_
beta_ redex - Create a beta redex (lambda application that can be reduced).
- mk_
compose - Compose two functions:
lambda x : dom. f (g x). - mk_
const_ fn - Create a constant function:
lambda _ : dom. val. - mk_
i_ combinator - Create an I combinator: lambda x. x.
- mk_
identity - Create an identity function for a given type:
lambda x : ty. x. - mk_
k_ combinator - Create a K combinator: lambda x. lambda y. x.
- mk_
multi_ beta_ redex - Create a multi-argument beta redex.
- reduce_
app_ spine - Reduce an application spine.
- reduce_
lets - Reduce all let-bindings by substitution.