lambda calculus nesting order

216 Views Asked by At

I don't understand if there is a proper ordering to nested functions in lambda calculus and, if so, what that is. Regardless of the order in which they are nested, if the same reduction strategy is used (e.g. normal order) for all permutations it seems they should evaluate the same.

For example, it seems the conditional function could be defined in six different ways

  1. $\lambda$a.$\lambda$b.$\lambda$c.((a b) c)
  2. $\lambda$a.$\lambda$c.$\lambda$b.((a b) c)
  3. $\lambda$b.$\lambda$a.$\lambda$c.((a b) c)
  4. $\lambda$b.$\lambda$c.$\lambda$a.((a b) c)
  5. $\lambda$c.$\lambda$a.$\lambda$b.((a b) c)
  6. $\lambda$c.$\lambda$b.$\lambda$a.((a b) c)

Please refer to the numbers to tell me which orderings may be inappropriate. Does the order of nesting matter for any nested functions? Or is it always a matter of convenience?