Lambda演算减少表达

时间:2013-12-01 00:28:58

标签: lambda lambda-calculus operator-precedence

我有以下表达式,需要帮助进行缩减。左手表达式必须等于右手表达式。

  1. (λn。(λs。(s(λx.λy.y))n)λx.x)(λx.λy.y)=λx.x
  2. (λn。(λs。(s(λxy.y))n)λx.x)(λxy.y)=λx.x

1 个答案:

答案 0 :(得分:0)

以下是每个的缩减步骤:

(λn.(λs.(s (λx.λy.y))n) λx.x)(λx.λy.y)
(λs.(s (λx.λy.y)) λx.x)(λx.λy.y)
(λx.x (λx.λy.y))(λx.λy.y)
(λx.λy.y)(λx.λy.y)
λy.y

(λn.(λs.(s (λxy.y))n) λx.x)(λxy.y) 
(λs.(s (λxy.y)) λx.x)(λxy.y)
(λx.x (λxy.y))(λxy.y)
λxy.y (λxy.y) 
λy.y

旁注:1和2是等价的,因为(λx.λy.y)=(λxy.y)