Question: Implement a function funPower, which takes a function f, an integer n and returns the function f^n. For example, ((funPower squareroot 2) 16) should return

Implement a function funPower, which takes a function f, an integer n and returns the function f^n. For example, ((funPower squareroot 2) 16) should return 2. Implement a function encode, which takes a natural number n and returns the church encoding of n. For example, (encode 2) should return 2 (i.e., the function lambda f. lambda z. f(f z)). Implement a function decode, which takes n (the church encoding of some natural number n) and returns n. For example, (decode (encode 2)) should return 2. Implement a function MULT, which takes two church numbers n_1, n_2 and returns the church number of n_1 times n_2 (i.e., n_1 times n_2). For example, (decode (MULT (encode 2) (encode 3)) should be 6
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
