Beta normal form
https://en.wikipedia.org/wiki/Beta_normal_form
A lambda term is in
beta normal form if no beta reduction is possible
beta-eta normal form if neither β or η reduction is possible
head normal form if there is no beta-redex in head position
Head Normal Form (HNF) describes a lambda expression whose top level is either a variable, a data value, a partially applied built-in function, or a lambda abstraction whose body is not reducible. That is, the top level lambda expr is neither a redex nor a lambda abstraction with a reducible body. An expression in HNF may contain redexes in argument postions whereas a normal form may not.
A lambda expression is in weak head normal form (WHNF) if it is a head normal form (HNF) or any lambda abstraction; i.e. the top level is not a redex. The term was coined by Simon Peyton Jones to make explicit the difference between head normal form (HNF) and what graph reduction systems produce in practice. A lambda abstraction with a reducible body, e.g. \ x -> ((\ y -> y+x) 2)
is in WHNF but not HNF. To reduce this expression to HNF would require reduction of the lambda body: (\ y -> y+x) 2
~~> 2+x
https://en.wikipedia.org/wiki/Church-Rosser_theorem
Last updated
Was this helpful?