Questions tagged «typed-lambda-calculus»

3
输入的lambda演算可以在给定的复杂度以下表示所有*算法吗?
我知道,大多数没有Y组合器原语的类型化的λ演算的复杂度是有界的,即只能表达有界复杂度的函数,随着类型系统表达能力的增强,界界也会变大。我记得例如,构造微积分最多可以表达双倍的指数复杂性。 我的问题是有关输入的lambda演算是否可以表示某个复杂度以下的所有算法,或者仅表示某些算法?例如,在Lambda Cube中是否存在任何形式主义无法表达的指数时间算法?被多维数据集的不同顶点完全覆盖的复杂性空间的“形状”是什么?

2
您如何从Lambda多维数据集的其他方面获得构造微积分?
据说CoC是Lambda Cube的所有三个维度的顶点。这一点对我来说一点都不明显。我想我了解各个方面,并且任何两个方面的结合似乎都导致相对简单的结合(也许我缺少了什么?)。但是,当我看CoC时,与其看起来像是这三者的结合,不如说是完全不同的事情。类型,属性和小型/大型字体来自哪个维度?依赖产品消失在哪里?为何为什么只关注命题和证明而不是类型和程序呢?是否有一些针对类型和程序的等效项? 编辑:如果不清楚,我要求解释CoC如何等效于Lambda Cube尺寸的直接结合。在我可以研究的某个地方是否存在所有这三个方面的实际结合(就程序和类型而言,而不是证明和命题)?这是对问题的评论,而不是当前的答案。

2
是否存在一致且图灵完成的类型化lambda演算?
是否存在类型化的Lambda演算,其中Curry-Howard对应关系下的相应逻辑是一致的,并且每个可计算函数都有可键入的Lambda表达式? 公认地,这是一个不精确的问题,缺少“类型化λ演算”的精确定义。我基本上想知道是否有(a)此方面的已知示例,或(b)该领域中某些事物的已知不可能证明。 编辑:@cody在下面的回答中给出了此问题的精确版本:是否存在一个逻辑上纯的类型系统(LPTS),该系统是一致的并且图灵完整的(在下面定义的意义上)?

1
类型Lambda演算与Lisp之间的历史关系?
我最近正在和一位朋友(他是强类型语言的提倡者)进行讨论。他发表了评论: Lambda微积分的发明者始终希望将其键入。 现在我们可以看到,教会 与相关的简单的类型化演算。的确,为了减少对Lambda微积分的误解,他似乎解释了Simple Typed Lambda微积分。 现在,当约翰·麦卡锡(John McCarthy)创建Lisp时,他以Lambda微积分为基础。这是他发表“符号表达式的递归函数及其由机器进行的计算,第一部分”时承认的。您可以在这里阅读。 麦卡锡似乎没有解决简单类型Lambda微积分问题。这似乎是由支配罗宾米尔纳与ML。 有Lisp和演算之间的关系进行了一些讨论在这里,但他们并不真正得到的,为什么麦卡锡选择了离开它无类型的底部。 我的问题是- 如果McCarthy承认他了解Lambda微积分-为什么他不理会Typed Lambda微积分?(即-Lambda演算是否真的打算输入?这似乎不是那样)

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。但是也许可能出问题了?

3
结构演算:将表达压缩到最小形式
我知道构造演算正在高度规范化,这意味着每个表达式都具有不能被beta,eta进一步简化的法线。因此,实际上,这是计算与原始表达式相同值的最有效表达式。 但是在某些情况下,规范化可能会将一个小表达式缩减为一个大表达式(就大小而言)。 有最小形式的表达式吗?以最小的尺寸计算相同值的表单。 换句话说,代替了节省时间的范式,而是节省了空间的范式。

1
简单输入的lambda演算和高阶逻辑
简单类型的lambda演算与高阶逻辑之间有什么关系? 在库里-霍华德看来,简单键入的λ演算似乎对应于命题逻辑。它与高阶逻辑有什么关系?根据Geuvers的本教程:http ://typessummerschool07.cs.unibo.it/courses/geuvers-1.pdf,HOL 的语言似乎是STT。不应该是PROP吗?那是什么意思? 在定义STT时,Church是否考虑过HOL?

1
证明依赖类型检查是可判定的证明技术
我处于一种情况下,我需要证明对于我正在研究的依赖类型演算,类型检查是可以决定的。到目前为止,我已经能够证明该系统正在高度规范化,因此定义相等性是可判定的。 在我阅读的许多参考文献中,类型检查的可判定性被列为强规范化的必然结果,我相信在这种情况下会如此,但是我想知道如何才能真正显示出这一点。 特别是,我坚持以下几点: 仅仅因为类型良好的术语会高度归一化,并不意味着该算法不会在非类型良好的输入上永远循环 由于逻辑关系通常用于显示强规范化,因此在进行类型检查术语时,没有方便的递减度量。因此,即使我的类型规则是针对语法的,也无法保证应用规则最终会终止。 我想知道,有没有人能很好地证明依赖类型语言的类型检查可判定性证明?如果是小的核心演算,那很好。任何讨论证明可判定性的证明技术的东西都将是很棒的。

1
高阶程序的程序反转算法
程序反转一词 具有多种含义,但可能始于麦卡锡(J. McCarthy)1956年的著作《图灵机在AI中定义的功能反转》。到目前为止,已经发现了程序反转和其他领域之间的许多联系,例如可逆编程(物理和逻辑),部分评估,验证,双向编程,逻辑编程和机器学习。 什么是程序反转?在第一个近似中,它是这样的:给定程序接受类型参数 并返回类型结果,产生一个程序,它“某种程度上”是的逆。我故意在这里含糊不清,因为可以用多种方式(和已经)阐明这个概念:例如,必须是内射的?是否应 返回所有或部分,使得?P:A → BP:一个→乙P : A \rightarrow BB P − 1 P P P − 1(b )a P (a )= b一个一个A乙乙BP− 1P-1个P^{-1}PPPPPPP− 1(b )P-1个(b)P^{-1}(b)一个一个aP(a )= bP(一个)=bP(a) = b 有一些通用的方法可以使程序求逆,例如使用麦卡锡已经指出的对角化或使用部分评估,但它们往往效率不高。同样,我熟悉的大多数程序反转工作似乎都无法处理完整的高阶编程语言(即 -calculi)。λλ\lambda 参考要求。用于 -calculi的程序求逆的显式算法的最新技术是什么(不限制高阶)?λλ\lambda

1
了解构造演算的强规范化证明
我很难理解构造演算的强归一化证明。我尝试遵循Herman Geuvers论文中的证明“构造微积分的强规范化的简短而灵活的证明”。 我可以很好地遵循推理的主线。每种类型的Geuvers构造TTT 解释 [[T]]ξ[[T]]ξ[\![T]\!]_\xi 基于对类型变量的一些评估 ξ(α)ξ(α)\xi(\alpha)。然后他构造一些术语解释(|M|)ρ(|M|)ρ(\!|M|\!)_\rho 基于对术语变量的一些评估 ρ(x)ρ(x)\rho(x) 并证明对于有效评估,该断言 (|M|)ρ∈[[T]]ξ(|M|)ρ∈[[T]]ξ(\!|M|\!)_\rho \in [\![T]\!]_\xi 对所有人 Γ⊢M:TΓ⊢M:T\Gamma\vdash M:T 持有。 我的问题:对于简单类型(如系统F类型),类型解释 [[T]]ξ[[T]]ξ[\![T]\!]_\xi 确实是一组术语,所以断言 (| 中号|)ρ∈ [[ T]]ξ(|M|)ρ∈[[T]]ξ(\!|M|\!)_\rho \in [\![T]\!]_\xi说得通。但是对于更复杂的类型,解释[[ T]]ξ[[T]]ξ[\![T]\!]_\xi不是一组术语,而是一些适当功能空间的一组功能。我认为,我几乎了解函数空间的构造,但是它不能为(| 中号|)ρ∈ [[ T]]ξ(|M|)ρ∈[[T]]ξ(\!|M|\!)_\rho \in [\![T]\!]_\xi 对于更复杂的类型 ŤTT。 任何人都可以解释或给出一些更易于理解的证明表示的链接吗? 编辑:让我尝试使问题更清楚。上下文ΓΓ\Gamma 有类型变量的声明 α :Aα:A\alpha:A和对象变量。如果适用于所有类型,则类型评估有效(α :甲)∈ Γ(α:A)∈Γ(\alpha:A) \in \Gamma 与 Γ ⊢ 甲:□Γ⊢A:◻\Gamma\vdash A:\square 然后 ξ(α …
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.