λ-calculus是函数定义,函数应用和递归的形式系统,它构成了函数式编程的数学基础。
我正在尝试使用定点组合器在 lambda 演算中定义堆栈数据结构。我试图定义两个操作,插入和删除元素,所以,推和弹出,但唯一...
我目前正在学习 Church 编码,并且正在尝试实现 mul(乘)函数。 这是正确的实现 mul cn cm = x -> cn (cm f) x 这(我的实现)...
假 = λxy.y 真 = λxy.x 我们可以将 NOT 运算定义如下: NOT = λx.x 假 真 我可以通过这样做来证明 NOT FALSE: `非假 = λx.x (λxy.y) (λxy.x) (λxy.y) - x = x - M = x (λxy....
给定一个列表,例如(f: f FALSE (g: g FALSE (h: h TRUE FALSE))),编写一个运算符,删除所有前导 FALSE 并仅返回以 TRUE 开头的尾部。对于此示例,操作员应该
我的任务是展示这一点 S(KK)I = K 现在由于 S 需要三个参数,所以我一开始就陷入困境,不知道如何解决这个问题。我看到两个论点,即(KK)和我,但有......
我在wiki上看到了这个: Y' = SSK(S(K(SS(S(SSK))))K) 我明白为什么它对应于这个 lambda 表达式 Y' = (λab.aba) (λab.a(bab)) 但我不知道这怎么能与 X = λa.(λx.xx)(λx.a(...
如何仅对“λy.(λx.λy.yx)yz”应用一次 beta 约简?
如何对 λy.(λx.λy.yx)yz 应用一次 beta 约简? 正确答案是 λy.(λw.wy)z。 仅在必要时才允许重命名,从答案中可以明显看出使用了重命名。
我正在使用这套 lambda 演算重写规则: 在评估“INC 0”时,我执行了以下步骤: 随后,我对“INC 1”进行了这样的评估: 这些是评价吗...
我正在学习 lambda 演算,但我似乎无法理解数字 0 的编码。 “接受一个函数和第二个值并在
是否可以使用 PHOAS 将术语评估为范式,然后将其字符串化?
从这篇 Haskell Cafe 帖子中,并借用 jyp 的一些代码示例,我们可以在 Haskell 中构造一个简单的 PHOAS 求值器,如下所示: {-# 语言 GADT #-} {-# 语言排名N类型 #-} 导入数据.Char...
我有两个关于 lambda 表达式有效性的问题。 首先,变量本身是否是有效的 lambda 表达式(例如:λx) 其次,以这两个 lambda 表达式(λx.fxya 和 λz.
nxt = λp。对(加上(TIMES 2(fst p))(snd p))(fst p) f = λn。 fst (n nxt (对 1 0)) f5 评估什么? 如果我替换 (pair 1 0) -> p,会得到 nxt = pair (plus (TIMES 2 (1)) 0) (1) ...
我对 lambda 演算如何编码 pair 数据结构背后的逻辑感到困惑。 在 lambda 演算中,PAIR 被编码为 一对:=λx.λy.λf。 fxy . 为什么我不能把它编码为 一对:=λ...
给出术语 t1, t2, . . . , t5 使得以下推导在多态 lambda 演算中有意义,其中 Γ = f : X → Y → Y, g : ∀Z.(Z → Z) → Z, x : X 和 X 和 Y 是类型。 这是...
lambda x.yz 应该读作 (lambda x.y) z 减少到 z 或者 λx。 (yz) 这似乎是不可约的?
我对 SKI-Combinators 有疑问。 异或(异或)只能用 S 和 K 组合子来表示吗? 我有 真 = 取消 假=(交换取消) 在哪里 取消 x y = K x y = x 交换:f...
Haskell Lambda help - 从lambda-term输入中拆分术语。
我试图创建一个函数,在这个函数中,给定一个lambda术语将返回输入的lambda术语中的所有独立术语。我的术语数据定义如下: type Var = String data Term = ...
我试图用Haskell在纯lambda微积分中实现各种事情。一切都很好 type List a = forall b. (a -> b -> b) -> b empty :: List a empty = const id cons :...。
[遵循此书,Haskell中的所有内容都是λ微积分:f(x)= x + 1的函数可以在Haskell中写为f = \ x-> x + 1和,在λ表达式中写为λx.x+ 1。更高的λ表达式是什么...
((λw。w)(λu。λv。u)(λu。λv。v)(λu。λv。u)有人可以逐步介绍此示例的Beta减少吗?我真的很困惑