Question: Lists can be encoded in the lambda calculus. A way to do this, is by defining a lambda term that, like a cons, inserts an

Lists can be encoded in the lambda calculus. A way to do this, is by defining a lambda term that, like a "cons", inserts an element at the head of a list, initially empty. Rather than showing the full lambda term, we introduce the defined term cons . For example, the result of reducing the encoding of the expression cons 3[7,8] will be the encoding for the list [3,7,8]. Assume that you have available the fixed-point operator Y and the terms cons , sqr and succ , respectively for list construction, square and successor functions. Which expressions will these terms define? Show your argument before the final answer.
1. Y\lambda l.(consxl)
2. Y(\lambda f.\lambda n.(cons(sqrn)(f(succn))))0

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!