λ-calculus是函数定义,函数应用和递归的形式系统,它构成了函数式编程的数学基础。
我正在使用这套 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减少吗?我真的很困惑
我们可以通过以下方式由YCombinator定义一个递归函数,例如阶乘; elisp ;;;此代码有效。谢谢 ;;; https://www.diegoberrocal.com/blog/2015/10/12/y-combinator-in-emacs -...
Haskell帮助:用新变量替换lambda项中的项! (简单的错误需要修复…)
我正在尝试编写一个函数,当传递的变量VX = [“ v1”,...“ vn”]和一个术语时,将分别用VX中的变量替换传递的术语中的所有术语。我的函数适用于...
((λy.xz)c我认为关于这个问题的答案是x z。如果正确,为什么(λy.xz)c = x c不正确?在这种情况下,我指的是(λy.xz)=(λy.x)z = x。因此,我首先在括号中进行计算。...
我想在不应用函数的情况下将其求值为标准形式,例如,\ n-> n + sum [1..100]应求值为\ n-> n + 5050,但是没有NFData实例...
如何在字符串的布尔等式上进行模式匹配,并同时在Coq的证明中获得所需的命题等式?
我在尝试证明SF中的substi_correct定理时陷入困境,因为我不知道如何分解布尔相等性,同时又将其断言为命题相等性。定理...
我正在尝试学习lambda演算,但是我很难做到这一点。因此,如果有人可以解释一下,我将不胜感激! (λj.λx.f(j x))(λy.fy)