Questions tagged «lambda-calculus»

Church的形式系统用于可计算性,编程语言和证明理论,以表示有效的功能,程序及其计算和证明。

1
如何将非终止
我一直在思考以下问题: 是否存在类型一致且图灵完成的lambda演算? /cs/65003/if-%CE%BB-xxx-has-a-type-then-is-the-type-system-inconsistent 在无类型设置中已经存在一些难以回答的相关问题!更具体地说,我很想知道我们是否可以通过以下方式从非终止中恢复图灵完备性: 问题:给定一个(纯)λλ\lambda -term ttt与没有弱头正常形式,确实有总是存在一个定点组合子YtYtY_t使得 Yt (λx.x)=tYt (λx.x)=t Y_t\ (\lambda x.x) = t 等式都取模βηβη\beta\eta。 其实,我怀疑这个版本的问题是假的,那么一个可以放松的问题,以循环组合程序,其中一个循环组合子YYY被定义为一个任期,从而使每一fff Y f=f (Y′ f)Y f=f (Y′ f) Y\ f=f\ (Y'\ f) ,其中Y′Y′Y'再次需要成为循环组合器。当然,这足以照常定义递归函数。 更一般而言,即使不满足上述公式,我也有兴趣寻找一种从非终止ttt到循环组合器的“自然”方法。 我也有兴趣在较弱的版本上面的问题,例如ttt可以被视为是一个应用程序t≡t1 t2…tnt≡t1 t2…tnt\equiv t_1\ t_2\ldots t_n每个titit_i在正常的形式(虽然我不知道确实有帮助)。 到目前为止:自然的方法是在整个过程中采用f的ttt和“ pepper”应用程序,例如fff Ω:=(λx.x x)(λx.x x)Ω:=(λx.x x)(λx.x x) \Omega:=(\lambda x.x\ x)(\lambda x.x\ x) 变成平常 YΩ:=λf.(λx.f …

1
λ演算扩展中的η转换与可扩展性
η转换与可扩展性之间的关系经常使我感到困惑。 编辑:根据评论,似乎我也对延伸对等与观察对等之间的关系感到困惑。但是至少在具有函数的扩展性相等性的Agda(作为假设)和简单类型的lambda演算(如果我没有记错的话,它具有完全抽象的语义)中,指称等效性与观察性等效性相同。随时用评论或答案来纠正我;我从未在这些问题上接受过系统的教育。 在无类型的lambda演算中,如Barendregt所证明的那样(根据该问题的回答),eta规则提供与扩展性规则相同的证明系统。我理解这意味着具有等于规则的证明系统对于观察等价而言是完整的(从其他答案来看,可能需要ξ规则规则,即根据约束力IIUC进行归约;我也没有问题添加该规则) 。 但是,如果我们切换到类型化演算并添加额外的基本类型以及相应的引入和消除形式来扩展该演算,会发生什么?我们还能为观察等效性编写一个完整的证明系统吗?我将按照米切尔(Mitchell)的编程语言基础(FPL)来讨论公理语义形式的证明系统。证明系统/公理语义定义程序等效性。 问题1:Barendregt定理是否扩展到STLC?在这种情况下,η等价性等同于可扩展性吗? 我正在浏览FPL对PCF的讨论(但尚未完成本节),似乎一旦添加了对,可扩展性就需要另外一条规则,即排斥性配对:pair (Proj1 P, Proj2 P) = P。有趣的是,该规则与对的引入和消除完全相同,就像η规则与功能的引入和消除一样。 问题2:添加简单的配对公理是否足以证明简单的带对的λ微积分的可扩展性?编辑:问题2b:由于我提到的结构相似性,否定性配对η-律,如本文中提到的η-律? 现在让我们一路前往PCF。然后,我所看到的对扩展性相等的描述证明了扩展性是一种归纳证明的规则,但是他们没有说这是否足够。由于PCF是图灵完备的,所以扩展等式是不确定的。但这并不意味着没有完整的证明系统,因为证明的长度是不受限制的。更相关的是,这样的证明系统可能与哥德尔的不完备性定理相矛盾。该论点甚至适用于不带的PCF fix和Gödel的SystemT。 问题3:PCF中是否存在用于观测等效性的完整证明系统?没有PCF fix呢? 更新:完全抽象 我在这里回答关于完全抽象的评论。我认为PCF遇到两种不同类型的问题:它具有非终止(通过修复),这会导致完全抽象的丢失,但是它也具有自然数。这两个问题都使观察对等难以解决,但我认为彼此独立。 一方面,PCF失去了完全的抽象,因为并行或存在于语义域中(Plotkin 1977),这似乎与非终止有关。Ralph Loader(2000年,“最终PCF不可判定”)表明,最终PCF(无自然值,但具有非终止性)已经不确定。因此,(如果我总结正确的话),完全抽象的语义不能限制于具有可计算操作的域。 另一方面,以不带有终结符的GödelSystem T为例。(我不确定它具有完全抽象的语义,但是我猜是的,因为仅针对PCF提到了该问题;该域必须包含高阶原始递归函数)。Harper的《编程语言实用基础》讨论了该语言的观察等效性。秒 47.4的标题为“一些平等法则”,并显示了观察等效性的一些可接受的证明规则。它没有地方说出证明系统是否完整,所以我想不是,但也没有地方讨论它是否可以完成。我的最佳猜测可以追溯到哥德尔的不完全性定理。

1
在无类型的λ微积分中,最里面的约简是否是永久的?
(我已经在MathOverflow上问过这个问题,但是那里没有答案。) 背景 在无类型lambda演算,一个术语可以包含许多redexes,而不同的选择关于哪一个,以减少可能会产生非常不同的结果(例如,其在一步(β-)减小到y或自身)。减少位置的不同(顺序)选择称为减少策略。一个术语牛逼据说是正火,如果存在一个削减战略带来ŧ(λ X 。ÿ)((λ X 。X X )λ X 。X X )(λX。ÿ)((λX。XX)λX。XX)(\lambda x.y)((\lambda x.xx)\lambda x.xx)ββ\betaÿÿyŤŤtŤŤt正常形式。如果每种简化策略都将t转化为正常形式,则项将被强烈归一化。(我不担心会发生什么,但是合流保证不会有不止一种可能性。)ŤŤtŤŤt 如果每当t具有正常形式时,就可以说是一种归约策略正在规范化(从某种意义上说,这是最好的),这就是最终的结果。最左端的策略正在规范化。ŤŤt 在频谱的另一端,如果每当有t项存在无限的还原序列时,就认为该还原策略是永久的(从某种意义上讲,这是最坏的可能性),然后该策略找到了这样的序列-换句话说,我们可能无法正常化,那么我们将。ŤŤt 我知道永久减少策略和˚F b ķ分别由下式给出: ˚F b ķ(Ç [ (λ X 。小号)吨] )= c ^ [ 小号[ 吨/ X ] ] 如果 吨 强烈正火˚F b ķ(ç [ (λ X 。小号)吨] )= C ^ [F∞F∞F_\inftyFb …

1
通过融合重写规则表征不可见的等效项
针对另一个问题,lambda演算的beta理论的扩展,Evgenij提供了答案: Beta +规则{s = t | s和t是不可解的封闭条件} 如果我们可以找到一个术语序列使得M对它们的应用等于I,那么术语M是可解的。 Evgenij的答案给出了关于lambda微积分的方程式理论,但没有一个以归约系统(即汇聚的,递归的重写规则集)为特征的方程式理论。 我们称其为lambda演算的一种无形的等价形式。lambda演算的一种归约系统将一些非平凡的封闭不可解lambda项等同起来,但不添加任何涉及可解项的新方程式。 在λ演算的β理论上有无形的对等吗? 后记一个示例,描述无形的对等,但不融合。令M =(λx.xx)和N =(λx.xxx)两个不可解的项。将规则重写NN添加到MM会导致包含MM = NN的不可见等价关系,但具有坏临界对,其中NN减少为MM和MMN,其中每个都有一个可用的重写,然后重写为自身。

2
依拉类型演算的Church-Rosser属性?
这是众所周知的是,教会罗塞属性会为 -reduction在简单类型的演算。在并非所有涉及λ-项的方程都是可导数的意义上,这意味着演算是一致的:例如,K ≠ I,因为它们不共享相同的范式。βηβη\beta \etaλλ\lambda≠≠\neq 还已知可以将结果扩展到对应于产品类型的对。 但是我想知道是否可以进一步扩展具有多态类型的依存类型lambda微积分(也许)的结果,例如构造微积分? 任何参考也将很棒! 谢谢

3
用公理扩展CIC有什么负面影响?
将公理添加到CIC确实会对定义和定理的计算内容产生负面影响吗?我的理解是,在该理论的正常行为,任何封闭来看会减少它的规范形式,例如,如果是真实的,那么ñ必须降低到窗体的一个术语(S ^ ü Ç Ç 。。。(小号ü c c (0 )))。但是,当假设一个公理时(例如函数扩展性公理),我们只是向系统添加一个新常数。n:Nn:Nn : \mathbb{N}nnn(succ...(succ(0)))(succ...(succ(0)))(succ ... (succ (0)))funext funext:Πx:Af(x)=g(x)→f=gfunext:Πx:Af(x)=g(x)→f=g funext : \Pi_{x : A} f (x) = g (x) \to f = g 这将只是“神奇”产生的一个证明从任何证明Π X :一个 ˚F (X )= g ^ (X ),没有在所有任何计算的意义(在这个意义上,我们不能提取他们的任何代码?)f=gf=gf = gΠx:Af(x)=g(x)Πx:Af(x)=g(x)\Pi_{x : A} f (x) = g (x) 但是为什么这个“坏”呢? …

1
可自行归纳的Lambda-Calculus术语
在我继续尝试学习lambda演算的过程中,Hindley&Seldin的“ Lambda-Calculus and Combinators简介”中提到了以下论文(由Bruce Lercher撰写),该论文证明了唯一可还原的表达式与其自身相同(模Alpha转换)是:。(λx.xx)(λx.xx)(λx.xx)(λx.xx)(\lambda x.xx)(\lambda x.xx) 尽管我相信结果,但我完全不遵循这一论点。 它很短(少于一个段落)。任何解释将是最欢迎的。 谢谢, 查理

2
零类型的方程式定律是什么?
免责声明:虽然我很关注类型理论,但我并不认为自己是类型理论的专家。 在简单类型的lambda演算中,零类型没有构造函数,并且具有唯一的消除符: Γ⊢M:0Γ⊢initial(M):AΓ⊢M:0Γ⊢initial(M):A\frac{\Gamma \vdash M \colon 0}{\Gamma \vdash initial (M) \colon A} 从种属的观点来看,方程式 initial(M1)=initial(M2)initial(M1)=initial(M2)initial (M_1) = initial(M_2)是显而易见的(当类型有意义时)。 但是,从这个角度来看,我还可以推断出,当M,M′:0M,M′:0M,M' \colon 0,:M=M′M=M′M = M'。这种推论似乎更强,尽管显示它的特定模型使我难以理解。 (尽管我有一些证明理论上的直觉:您使用哪种矛盾来获得居民并不重要,但是可能会有不同的矛盾证明。) 所以我的问题是: 零类型的标准方程式是什么? 它们中的任何一个被归类为ηη\eta或ββ\beta定律吗?

2
Lambda微积分是一种特定类型的术语写作系统吗?
现在我们可以看到,教会 与相关的简单的类型化演算。的确,为了减少对Lambda微积分的误解,他似乎解释了Simple Typed Lambda微积分。 现在,当约翰·麦卡锡(John McCarthy)创建Lisp时,他以Lambda微积分为基础。这是他发表“符号表达式的递归函数及其由机器进行的计算,第一部分”时承认的。您可以在这里阅读。 现在我们知道Mathematica的核心是一个类似Lisp的系统,但它不是完全基于Lambda微积分,而是基于术语重写系统。 作者在此声明: Mathematica从根本上来说是一个术语重写系统,比Lisp背后的Lambda微积分更笼统。 似乎Lambda微积分只是一个更一般的类别的一小部分。(相当大的想法使人大开眼界)。我正在尝试阅读更多有关此内容的信息。 我的问题是:Lambda微积分是一种特定类型的术语写作系统吗?

1
Scheme的call / cc可以实现所有已知的控制流结构吗?
页面“高级方案:有些顽皮”指出: 延续是一个强大的控制流构造,几乎可以从 任何其他控制流结构中得出。 我以为Scheme的call/cc(*)与Peter Landin的J运算符相关,可以用于实现任何已知的控制流结构? 对于“控制流结构”,我特别考虑了Wikipedia对它们的描述,例如,异常,协程,绿色线程等。 具体来说,有没有使用不能实现的控制流结构的示例call/cc? (*)我无法挖掘出任何可以证明call/cc像J运算符一样强大的论文。 Felleisen的一篇论文(我还没有读过,并且承认很难完全理解它)对此进行了调查,似乎可以得出结论,即使它们处于不同的复杂性类别中,它们在形式上也是等效的。 (还请注意,我已根据以下评论更新了问题) 更新资料 基于下面@Neel的出色回答,我看了一些评论定界和不定界延续的网站,确实看来,尽管call/cc不定界是不够的。同时,第一级,分隔延续(像shift/reset)可以被使用,似乎表达任何控制流结构。

1
模式lambda演算中的eta展开
克洛普(Klop),范·奥斯特罗姆(van Oostrom)和德弗里耶(de Vrijer)撰写了一篇有关带模式的λ演算的论文。 http://www.sciencedirect.com/science/article/pii/S0304397508000571 从某种意义上说,模式是一棵变量树-尽管我只是将其视为变量的嵌套元组,例如((x,y),z),(t,s))。 在论文中,他们表明,如果模式是线性的,则从某种意义上说,模式中没有重复变量,则规则 (\p . m) n = m [n/p] 其中p是可变模式,n是与p形状完全相同的项的元组是合流的。 我很好奇文学中关于lambda演算的相似发展,包括模式和附加的eta规则(扩展,约简或仅相等)。 尤其是eta,我的意思是 m = \lambda p . m p 更直接地,我很好奇这样的lambda演算将具有什么性质。例如,它会合吗? 它强制关闭分类类别,因为它强制 m p = n p implies m = n 通过在两者之间使用\ xi-rule。但是也许可能出问题了?

2
Lambda演算如何精确地捕捉可计算性的直观概念?
我一直在试图绕过 -calculus 的内容,原因和方式,但是我无法理解“它为什么起作用”?λλ\lambda “直观地”,我得到了Turing Machines(TM)的可计算性模型。但是这个抽象只是让我感到困惑。λλ\lambda 让我们假设,TM不存在-那么如何才能“直观”地相信 -calculus捕获这种可计算性概念的能力。对所有事物拥有一堆功能及其可组合性如何暗示可计算性?我在这里想念什么?我读过阿隆佐·丘奇(Alonzo Church)的论文,但我仍然感到困惑,并希望对此有更“模糊的理解”。λλ\lambda


1
Barendregt证明的主题减少
我在Barendregt的主题减少证明中发现了一个问题(Lambda结石的 Thm 4.2.5 与类型有关)。 证明的最后一步(第60页)说: “因此是引理4.1.19(1)中的。”Γ,x:ρ⊢P:σ′Γ,x:ρ⊢P:σ′\quad\Gamma,x:\rho\vdash P:\sigma' 但是,根据引理4.1.19(1),它应该是,因为已进行替换在整个上下文中,不仅限于。 X :ρ 'Γ[α⃗ :=τ⃗ ],x:ρ⊢P:σ′Γ[α→:=τ→],x:ρ⊢P:σ′\Gamma[\vec{\alpha}:=\vec{\tau}],x:\rho\vdash P:\sigma'x:ρ′x:ρ′x:\rho' 我猜标准解决方案可能是以某种方式证明,但是我不确定如何。α⃗ ∉FV(Γ)α→∉FV(Γ)\vec{\alpha}\notin FV(\Gamma) 我有一个证明,可以通过放宽抽象的生成引理来简化它,但是最近我发现有一个错误,而我的证明是错误的,因此我不确定如何再解决这个问题。 有人可以告诉我我在这里想念的吗?

1
最小正常Lambda项不是最快的示例
让的被定义如下组术语:λŝ 我žËs一世žËsizeλλ\lambda ŝ 我že (x )= 1s一世žË(X)=1个size(x) = 1, ŝ 我žÈ (λ X 。吨)= 小号我že (t )+ 1s一世žË(λX。Ť)=s一世žË(Ť)+1个size(λx.t) = size(t) + 1, ŝ 我že (t s )= s i ze (t )+ s i ze (s )+ 1s一世žË(Ťs)=s一世žË(Ť)+s一世žË(s)+1个size(t s) = size(t) + size(s) + 1。 令λλ\lambda项t的复杂度ŤŤt定义为从txŤXt x到其正常形式的并行beta减少的次数(使用Levy的最佳估算器)。 我正在寻找一个相同函数的两个正常 λλ\lambda -term …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.