I am reading the article "Introduction to Type Theory" by Herman Geuvers, the chapter explaining the Fitch style of natural inference. I stuck at the exercise 1.3 (first two are simple):
Construct a term of type ((α→β)→α)→(α→α→β)→α
Only abstraction and application rules are allowed.
This math.stackexchange article suggest that to get a term of type α I should assume
| x : (α→β)→α
|-----------------
| | y: α→(α→β)
| |-------------
I have no idea what next.
UPD:
The full answer is:
| x : (α→β)→α
|-----------------
| | y : α→(α→β)
| |-------------
| | | z : α
| | |-----------
| | | yz : α→β
| | | yzz : β
| | λz.yzz : α→β
| | x(λz.yzz) : α
| λy.x(λz.yzz) : α→(α→β)→α
λx.λy.x(λz.yzz) : ((α→β)→α)→(α→(α→β))→α
Thank you Rob