λ演算公式举例 变量、公式、表达式 (λx.((y)x)) 函数,体内嵌入应用。 (λz.(y(λz.x))函数,体内嵌入应用 再次嵌入函数。 ((λz.(zy)x)应用表达式。 λx.Ay.λz.(xλx.(uv)w)复杂表达式
λ演算公式举例 x 变量、公式、表达式。 (λx.((y)x)) 函数, 体内嵌入应用。 (λz.(y(λz.x))) 函数, 体内嵌入应用, 再次嵌入函数。 ((λz.(z y))x) 应用表达式。 λx.λy.λz.(x λx.(u v)w) 复杂表达式
(4)简略表示 缩写与变形表达下例各表达均等效 λa.λb.λC.λZ.E=abCz.E n(abc).E λ(a,b,c,z).E λa.(λb.(λc.(λz.E))
(4) 简略表示 • 缩写与变形表达 下例各表达均等效: λa.λb.λc.λz.E = λabcz.E = λ(abcz).E = λ(a,b,c,z).E =λa.(λb.(λc.(λz.E)))
·命名:以大写单字符或标识符命名其入表达式 G=(λx.(y(yx) ((Ax. y(yx))(Ax(y(x)))=(GG=H
• 命名:以大写单字符或标识符命名其λ表达式 G = (λx.(y(yx))) ((λx.(y(yx)))(λx.(y(yx)))) = (G G) = H
由于λ演算中一切语义概念均用λ表达式表 达。为了清晰采用命名替换使之更易读。 λx.Ay.x //逻辑真值 TF12 入 Ⅹ.Ny.y //逻辑假值 λx.y.xy //数1 入x.y.x(xy //数2 zerop=n.n(λx.F)T/判零函数 注: zerop中的F、T可以用λ表达式展开
由于λ演算中一切语义概念均用λ表达式表 达。 为了清晰采用命名替换使之更易读。 T = λx.λy.x //逻辑真值 F = λx.λy.y //逻辑假值 1 = λx.λy.x y //数1 2 = λx.λy.x(x y) //数2 zerop = λn.n(λx.F)T //判零函数 注:zerop中的F、T可以用λ表达式展开
形式语法 核心的λ演算没有类型,没有顺序控制等概念 程序和数据没有区分。语法极简单 λ-表达式〉:∴:=<变量> λ<变量>.〈λ-表达式> (<λ-表达式X-表达式>) (<λ-表达式>) 变量〉 <字母
形式语法 核心的λ演算没有类型, 没有顺序控制等概念 , 程序和数据没有区分。 语法极简单: <λ-表达式> :: = <变量> | λ<变量>.<λ-表达式> | (<λ-表达式><λ-表达式>) | (<λ-表达式>) <变量> :: =<字母>