But its complicated
Theorem: If there is a normal form for a lambda expression, then it is unique
- There isn’t always a normal form, however
Theorem: If there is a normal form, then normal-order reduction will get to it
- Applicative-order reduction might not
So, it seems pretty clear that you want to define a functional language in terms of normal-order reductions, right?