Polymorphic lemmas and definitions in Lambda Prolog and Twelf
Lambda Prolog非常适合表达和实现逻辑和推理系统。我们表明,在这样的逻辑引理和定义可以实现一个伟大的经济的表达。我们使用将对象逻辑(高阶逻辑)的术语和类型映射到元语言(Lambda Prolog)的术语的编码来编码高阶逻辑。我们将讨论Lambda Prolog的Terzo和Teyjus实现。我们还编码相同的逻辑在BJLF和比较这两个元语言的功能,为我们的目的。
2004-03-09 cs.LO cs.PL
A Note on Confluence in Typed Probabilistic Lambda Calculi
关于概率重写的主题,有几个研究不同系统的终止和汇合的作品。在用λ演算模拟量子计算时,我们发现了一个具有概率重写规则和强归一化项的系统。我们研究的影响,在概率重写,仿射变量和战略的整体融合,在这个强规范化的概率演算的小修改。
2022-04-08 cs.LO
A Finite Semantics of Simply-Typed Lambda Terms for Infinite Runs of<br> Automata
模型检验特性通常用有限自动机来描述。任何特定的这样的自动机将无限树的集合划分为许多类,根据哪个状态具有无限运行。在基类型的这种解释上构建完整的类型层次结构,为简单类型的树提供了有限的语义。基于这种语义的演算被证明是健全和完整的。特别是,对于规则的无限树,一个给定的自动机是否有运行是可判定的。由于正则的递归树是精确的递归方案,所以这个可判定性结果对任意层次的任意递归方案都成立,而不受任何语法限制。
2007-11-01 cs.LO
Typed lambda-terms in categorical attributed graph transformation
本文讨论了基于属性图重写的模型转换。我们的贡献调查一个单一的推出方法应用重写规则。图的属性的计算是通过使用归纳类型的类型化演算来实现的。在本文中,我们提出了解决方案,以应付单推出建设的图形结构和计算功能。由于该重写系统使用归纳类型,属性计算的表达性得到了促进,并且比基于Sigma代数的重写系统更有效。本文描述了一些例子,显示我们的计算方法的兴趣。
2011-06-30 cs.LO
Full Abstraction for a Recursively Typed Lambda Calculus with Parallel Conditional
我们定义了一个递归类型的λ演算的语法和约简关系,并给出了一个并行的条件函数。减少显示为融合性。我们将递归类型解释为受限形式的信息系统,我们称之为素系统。一个指称语义定义与此解释。定义了项的语法范式逼近,证明了逼近定理:项的语义等于其逼近的语义的极限。证明使用包含谓词(逻辑关系)。对于布尔值的观察,语义是足够的。在平行格功能的存在下,它也是完全抽象的。
2008-06-11 cs.LO
Almost Every Simply Typed Lambda-Term Has a Long Beta-Reduction Sequence
本文证明在函数元数和变量数有界时,渐近几乎每个阶为k的简单类型化λ项都有长度达(k-1)重指数的β-归约序列,通过推广无限猴子定理实现,服务于高阶模型检测的定量分析。
2019-02-21 cs.LO
Reasoning about Polymorphic Manifest Contracts
清单契约演算,它集成了基于铸造的动态契约检查和精化类型的系统,已被研究作为混合契约检查的基础。在这篇文章中,我们研究了多态清单合约演算的推理技术,包括一些与静态合约验证相关的程序转换。我们首先定义了一个多态的清单合同演算$\mathrm{F}_{H}$,这是比以前研究的一个简单得多的延迟替换,和它的逻辑关系,并证明该逻辑关系是健全的上下文等价。接下来,我们表明,上投消除属性,这已被研究为基于子类型的静态转换验证的正确性,持有$\mathrm{F}_{H}$。更具体地说,我们给出了一个子类型关系(这不是演算的一部分)的$\mathrm{F}_{H}$类型,并证明了一个术语通过消除向上转换-从一个类型到它的超类型的转换-是逻辑相关的,所以上下文等价于原来的。我们还证明了其他两个程序转换转换:自固定和静态转换分解,这有助于上转换消除。一个挑战是,由于包含自由的方法来显式合同,这些程序转换并不总是保持良好的类型的条款。为了解决这个问题,本文中的逻辑关系和上下文等价被定义为类型化关系:只需要关系的一方是好类型的,另一方可能是坏类型的。
2018-06-19 cs.LO cs.PL
Redundancies in Dependently Typed Lambda Calculi and Their Relevance to Proof Search
依赖类型的lambda演算,如逻辑框架(LF),能够通过类型表示术语之间的关系。通过利用“公式作为类型”的概念,这种演算也可以在类型判断中编码公式及其证明之间的对应关系。因此,这些演算提供了一个自然而强大的手段来指定各种形式系统。这样的规范可以被转换成更直接的形式,该形式在简单键入的非线性项上使用谓词公式,从而使用传统的逻辑编程技术为它们的动画提供基础。然而,这种想法的天真使用充满了效率低下的事实,依赖类型的表达式通常包含大量冗余的类型信息。我们研究的句法标准识别,因此,消除这种冗余。特别是,我们确定了LF类型中的绑定变量的属性,称为“刚性”,并正式表明,检查这些变量的实例化遵守类型限制是不必要的,以确保整体表达是良好的。我们将展示如何利用这一属性在一个基于翻译的方法来执行规范的BMPF语言。识别冗余也与设计依赖类型表达式的紧凑表示有关。我们强调我们工作的这一方面,并讨论它与在这方面提出的其他方法的联系。
2010-07-05 cs.LO
Strong Typed Böhm Theorem and Functional Completeness on the Linear Lambda Calculus
本文证明了线性λ演算上的类型化Böhm定理的一个版本,即对于任意给定的类型A和B,当给定A的两个不同的闭项s1和s2以及B的任意闭项u1和u2时,存在一个项t使得ts1可转换为u1,ts2可转换为u2.几年前,这个定理的一个较弱的版本被证明,但更强的版本是开放的。作为这个定理的推论,我们证明了:如果A有两个不同的闭项s1和s2,则A关于s1和s2是函数完备的。到目前为止,只知道有几种类型的功能是完整的。
2016-04-05 cs.LO
Finite Vector Spaces as Model of Simply-Typed Lambda-Calculi
在本文中,我们使用有限向量空间(有限维,在有限域上)作为线性逻辑的非标准计算模型。我们首先定义了一个简单的,有限的PCF类布尔演算,然后我们讨论了两个有限的模型,一个基于有限集,另一个基于有限向量空间。第一个模型被证明是完全完整的操作语义的语言。第二个模型是不完整的,但我们开发了一个代数扩展的有限λ演算,恢复完整性。描述了这两种语义之间的关系,并给出了几个基于Church数词的例子。
2014-06-05 cs.LO
Definable functions in the simply typed lambda-calculus
简单型λ演算中可定义的整数函数都是扩张多项式,这是一个常识。当我们在类型(p->p)->p->p上解释整数时确实是这种情况,其中p是基本类型和/或相等被视为beta转换。通常认为,这同样适用于beta-eta等式和表示在任何固定类型的形式(t->t)->t->t上的整数。在本文中,我们表明,这种意见是不完全正确的。本文证明了在简单型λ演算中严格可定义的函数类比广义多项式大得多。也就是说,我们定义F为严格可定义函数的类,G为包含扩展多项式和两个附加函数的类,或者更准确地说,两个函数模式,并且在复合下是封闭的。我们证明了G是F的一个子集。我们猜想G精确地刻画了严格可定义的函数,即G=F,并且我们为这个猜想收集了一些证据,例如,证明了每个可斜表示的有限值域函数在(t->t)->t->t上对某些t是严格可表示的。
2007-01-04 cs.LO
Encoding Monomorphic and Polymorphic Types
许多自动定理证明器被限制在非类型化逻辑,并且现有的从类型化逻辑的翻译是庞大的或不健全的。最近的研究提出单调性作为一种手段,以消除一些混乱时,翻译单态无类型的一阶逻辑。在这里,我们系统地追求这种方法,正式分析了各种编码,进一步提高效率,同时保持健全性和完整性。我们扩展的方法秩-1多态性,并提出替代方案,减轻翻译的多态符号的基础上的新概念的“封面”。新的编码在Isabelle/HOL中实现,作为Sledgehammer工具的一部分。我们包括非正式的证明的合理性和正确性,并已正式的单形部分这项工作在伊莎贝尔/HOL。我们的评估发现,新的编码大大优于以前的计划。
2016-12-30 cs.LO
Polymorphic type inference for the relational algebra
给出了关系代数的多态性解释。我们介绍了一种专门为关系代数表达式调整的“类型公式”的形式主义,并提出了一种算法,用于计算给定表达式的“主要”类型。表达式的主类型是一个公式,它以清晰简洁的方式指定所有类型(属性集)到关系名称的赋值,在此条件下,给定的关系代数表达式是良好类型的,以及表达式在每个赋值下的输出类型。讨论的主题包括复杂性和多态表达能力。
2001-06-14 cs.DB cs.LO
Concerning Olga, the Beautiful Little Street Dancer (Adjectives as Higher-Order Polymorphic Functions)
American Institutes for Research(美国研究院)
在本文中,我们提出了一个类型化的复合语义的形式[形容词名词],模型形容词作为高阶多态功能,并在类型被假定为代表概念的本体,反映了我们的常识世界观和我们谈论它的方式在ordinary语言。除了[Adj Noun]复合词之外,我们的建议似乎也为众所周知的形容词排序限制提出了一个合理的解释。
2008-02-10 cs.CL cs.LO
Two Decreasing Measures for Simply Typed Lambda-Terms (Extended Version)
本文针对简单类型λ演算提出W-测度与Tm-测度两种构造性递减测度,借助非擦除的m-演算辅助系统,基于归约式度数不升高的性质,分别用自然数和嵌套多重集刻画,为强规范化提供了新的构造性证明途径。
2023-04-29 cs.LO
On Encoding LF in a Predicate Logic over Simply-Typed Lambda Terms
Festival和Miller描述了他们声称是遗传Harrop公式逻辑中依赖类型化的λ演算LF的忠实编码,这是Church简单类型论的直觉变体的子逻辑。它们的编码大致基于将LF中的对象表达式转换为简单类型的λ演算中的项,方法是在类型化中擦除依赖关系,然后通过使用谓词重新捕获擦除的依赖关系。不幸的是,这个想法并不完全奏效。特别是,我们提供了一个反例,声称所描述的编码是忠实的。这种说法错误的根本原因是,从依赖类型的lambda项到简单类型的lambda项的映射不是一对一的,因此逆变换是模糊的。这一观察对其他相关编码有广泛的影响。
2021-08-24 cs.LO cs.PL
Polymorphic Types in ACL2
本文介绍了一个工具套件的ACL 2程序设计语言,其中包括某些想法从欣德利-米尔纳范式的函数式编程(如流行的语言,如ML和Haskell),包括一个“类型化”的编程风格的能力,定义多态类型。这些思想通过宏引入到ACL 2语言中,利用ACL 2的保护检查机制对函数定义和定理进行类型检查。最后,我们将讨论如何使用这些宏来实现Specware,软件规范和实现系统的功能。
2014-06-06 cs.LO cs.PL
A Hiking Trip Through the Orders of Magnitude: Deriving Efficient Generators for Closed Simply-Typed Lambda Terms and Normal Forms
与其他几个lambda项家族相反,没有封闭公式或生成函数是已知的,并且在分析组合学中设计的复杂技术目前都不能帮助计数或生成给定大小的{ \em简单类型封闭lambda项}的集合。此外,它们在闭lambda项集合中的渐近稀缺性使得通过蛮力生成和类型推断来计数它们变得非常困难,以前发表的工作显示它们的计数仅达到10。通过利用逻辑变量之间的协同作用,统一与发生检查和有效的回溯,在今天的Prolog系统,我们爬4个数量级以上的先前已知的计数,通过推导出越来越快的霍恩子句程序,生成和/或计数的一组封闭的简单类型的lambda项的大小高达14。对于{ \em闭简单类型范式}的类似计数也被导出到大小14。{ \em { \bf Keywords:}逻辑编程转换、类型推断、lambda项的组合学、简单类型λ演算、简单类型范式。}
2016-08-12 cs.LO cs.PL
Translating Specifications in a Dependently Typed Lambda Calculus into a Predicate Logic Form
依赖类型的lambda演算(英语:Lambda calculi),如Edinburgh逻辑框架(英语:Edinburgh Logical Framework)(LF),是一种流行的方式,用于编码关于正式语法对象的基于规则的规范。在这些框架中,通过使用类型的依赖结构,自然地捕获了表示形式对象的术语上的关系。我们在这里考虑在简单类型的λ-项上将以这种风格编写的规范保持意义地翻译成谓词逻辑。这样的翻译可以为高效的实现和推理规范的复杂能力提供基础。我们开始与先前描述的翻译LF规范的公式在逻辑的高阶遗传Harrop(hohh)公式。我们展示了如何通过识别和消除其中包含的冗余类型检查信息来改进这种翻译。这既有利于翻译公式的清晰度,又减少了执行过程中必须花费在类型检查上的精力。为了允许这种翻译被用来执行LF规范,我们描述了一个逆变换从hohh项LF表达式,因此可以使用翻译的形式进行计算,然后可以将结果导出回LF。基于LF规范的执行还可能涉及某些形式的类型重构。我们讨论的可能性,支持这样的能力,使用翻译的结构规范的一些合理的限制。
2013-10-31 cs.LO
Inhabitation in Simply-Typed Lambda-Calculus through a Lambda-Calculus for Proof Search
一个新的,全面的方法来解决居住问题的简单类型的λ演算,处理决策和计数问题。这种方法的工作原理是利用一个表示的搜索空间所产生的一个给定的居住问题,这是在一个证明搜索,作者最近开发的微积分。这种表示可以被看作是通过类元项扩展证明的Curry-Howard表示,保持在λ演算和类型系统的方法内。我们的方法揭示了归纳描述的决策问题,由证明搜索表达式的语法驱动,最终产品是简单的,递归的决策程序和计数功能。
2017-03-11 cs.LO math.LO
A Typed Lambda-Calculus for Establishing Trust in Probabilistic Programs
针对概率程序无法用传统正确性衡量的问题,提出一种类型化λ演算框架,通过运行时实验算子和静态置信度概念,形式化输出频率与预期分布一致的信任概念,证明其符合概率论原理。
2025-02-14 cs.LO
Weak Typed Boehm Theorem on IMLL
在克里特岛的Boehm定理研讨会上,Zoran Petric称Statman的“典型模糊性定理”为Boehm定理。此外,他还基于简单类型的λ演算的集合理论模型给出了该定理的新证明。在本文中,我们研究的线性版本的类型Boehm定理的直觉线性逻辑的一个片段。证明了在不含乘法单位1的直觉线性逻辑的乘法片段(简称IMLL)中弱型Boehm定理成立。IMLL系统完全对应于线性λ演算没有指数,添加剂和逻辑常数。IMLL系统也恰好对应于没有单位对象的自由对称monoidal闭范畴。据我们所知,我们的分离结果是第一个关于这些系统在一个纯粹的语法方式。
2005-04-16 cs.LO
Typed lambda-calculi and superclasses of regular functions
我们建议在类型化的布尔代数演算中使用Church编码作为隐式计算复杂性的自动机理论对应物的基础,就像一元二阶逻辑提供了描述复杂性的对应物一样。具体来说,我们研究转换,即串到串(或树到树)函数-特别是那些具有超线性增长的函数,如多正则函数,HDT 0 L转换和Sénizergues的“k-可计算映射”。我们对这一目标的第一个结果包括显示列入一些转导类在某些类定义的Alzoda-calculi。特别是,这揭示了一个基本的开放式问题的表现力的简单类型的Alzida演算。我们还编码正规函数(并通过改变考虑的程序类型,我们得到一个更大的子类的多正则函数)在基本仿射代数演算,一个变量的线性逻辑最初设计的隐式计算复杂性。
2019-06-30 cs.FL cs.LO
The Formal System lambda-delta
形式化系统lambda-delta是一种类型化的λ演算,它以术语、类型、环境和上下文的统一为主要目标。lambda-delta从Automath相关的lambda演算和纯类型系统中获得了一些功能,但与两者不同的是,它不包括Pi结构,而在术语级别提供了缩写机制。Delta-delta具有一些重要的理想性质,如归约的汇合性、类型的正确性、转换前类型的唯一性、类型赋值的主体归约性、类型化项的强规范性以及作为推论的类型推断问题的可判定性。
2008-09-25 cs.LO
Semantic Analysis of Normalisation by Evaluation for Typed Lambda Calculus
本文从范畴和代数的角度研究了类型化λ演算的赋值正规化问题。本文的第一部分通过Kripke逻辑关系分析了Jung和Tiuryn的lambda可定义性结果,并展示了它如何适用于统一可定义性和规范化,产生一个扩展的规范化结果。在第二部分的文件的分析进一步细化考虑内涵Kripke关系(在阿丁胶合的形式),并显示提供一个功能的规范化条款,铸造规范化的范畴胶合的背景下进行评估。技术发展包括类型化λ演算的语法和语义的代数处理,其允许在简单类型化元理论内给出规范化函数的定义。合成依赖类型的函数式程序设计语言中的求值规范化程序。
2022-08-18 cs.LO math.CT
One or Nothing: Anti-unification over the Simply-Typed Lambda Calculus
该研究针对简单类型λ演算的反合一问题,突破现有研究仅关注禁止泛化变量嵌套的幺正变体的局限,证明含嵌套泛化变量时该问题为零元,为泛化方法的扩展应用提供理论支撑。
2024-03-15 cs.LO
Nominal Henkin Semantics: simply-typed lambda-calculus models in nominal sets
我们研究了一类简单类型的λ演算的名义代数Henkin式模型,其中变量映射到表示中的名称,而λ演算抽象映射到(非功能性的)名称抽象操作。由此产生的表示更小,更好的行为,在我们精确的方式,比基于函数值的模型。使用这些新的模型,我们然后开发了一个概括的λ-长期语法丰富他们的存在元变量,从而产生一个理论的不完整的功能。这种不完备性与函数抽象和应用给出的不完备性的通常概念是正交的,并且对应于洞和不完备对象。
2011-11-01 cs.LO cs.PL
Short proofs of strong normalization
本文给出了简单类型的Algida演算和多态Algida演算(系统F)的简单的、句法上强规范化的证明,证明了Algida演算和多态Algida演算具有完整的逻辑连接词集合和所有的置换约简。规范化证明使用术语和类型到系统的翻译,其强规范化属性是已知的。
2008-04-16 cs.LO
Well-Typed Logic Programs Are not Wrong
我们考虑逻辑程序的规定类型系统(如Goedel或Mercury)。在这样的系统中,类型是静态的,但它保证了一个操作属性:如果一个程序是“良好类型的”,那么所有在“良好类型的”查询中开始的派生都是“良好类型的”。这个特性被称为主体还原。我们表明,这个属性也可以被措辞为一个属性的证明理论的语义的逻辑程序,从而抽象通常的操作(自上而下)的语义。这种证明论的观点使我们质疑一个条件,这通常被认为是必要的主题还原,即头部条件。它声明每个子句的头部必须有一个类型,该类型是声明类型的变体(而不是正确的实例)。我们提供了一个更一般的条件,从而在头原子和体原子之间重新建立了某种对称性。这个条件确保在一个推导中,两个统一项的类型本身是可统一的。我们讨论了这一结果的可能影响。我们还讨论了头条件和多态递归之间的关系,这是函数式编程中的一个已知概念。
2001-01-18 cs.LO
On Polymorphic Sessions and Functions: A Tale of Two (Fully Abstract) Encodings
这项工作利用会话类型的逻辑基础,以确定什么样的类型纪律的π演算可以准确地捕获,并被捕获,π演算的行为。利用证明理论的内容的可靠性和完整性的微积分和自然演绎呈现的线性逻辑,我们开发了第一个相互逆和完全抽象的进程作为函数和函数作为进程编码之间的多态会话π演算和系统F的线性制定。然后,我们能够从会话演算的理论推导出会话演算的结果:(1)我们通过系统F中的代数表示获得归纳和共归纳会话类型的特征;(2)我们将结果扩展到值和进程传递,需要强规范化。
2018-01-25 cs.LO cs.PL
A call-by-value lambda-calculus with lists and control
微积分与控制运营商已被研究的原因控制程序设计语言和解释经典证明的计算内容。为了使这些演算成为真正的程序设计语言,还应该包括数据类型。作为向这个方向迈出的一步,本文定义了一个简单类型的按值调用λ演算,它具有控制操作符catch和throw、列表的数据类型和用于原语递归的操作符(类似于Goedel的T)。我们证明了我们的系统满足主题减少,进步,合流无类型的条款,以及良好的类型条款的强规范化。
2012-10-11 cs.LO
A concrete model for a typed linear algebraic lambda calculus
本文为带测量的类型化线性代数 lambda 演算 Lambda-S 构造了基于集合与复向量空间范畴伴随关系的具体模型,用隐藏的遗忘函子解释叠加类型 S。
2023-10-11 cs.LO math.LO
Meaning and identity of proofs in a bilateralist setting: A two-sorted typed lambda-calculus for proofs and refutations
本文为Wansing双直觉主义逻辑2Int构建双类类型化λ演算λ-2Int,建立带项标注的证明系统并证明对偶化定理,从而从双边主义视角探讨证明的意义、指称与同一性问题。
2024-02-23 cs.LO math.LO
Generating Code with Polymorphic let: A Ballad of Value Restriction, Copying and Sharing
让多态性和突变等效应在同一种语言中共存是一个值得讲述的故事,在复制与共享的反复出现的情况下。我们在故事中添加了新的章节,关于生成具有多态性和效果的代码的考验,并确保它进行了类型检查。在Hindley-Milner类型系统中,生成良好类型的构造多态let表达式是不可能的:甚至作者也相信这一点。polymorphic-let generator是存在的。我们提出了它的推导和应用程序的轻量级实现报价通过一个新的和出乎意料的简单的源代码到源代码的转换生成组合子。然而,用多态函数生成let表达式需要的甚至比放松的值限制所能提供的更多。我们需要一个新的处理ML中的let多态性。我们推测较弱的限制,并实现它在一个实用的代码生成库。它的形式论证被表述为研究纲领。
2017-02-08 cs.LO cs.PL
Light types for polynomial time computation in lambda-calculus
本文提出了一种新的类型系统:对偶轻仿射逻辑(DLAL),它保证了类型良好的程序可以在多项式时间内执行。DLAL有一个简单的类型语言,带有线性和直观的类型箭头,以及一个模态。它对应于光仿射逻辑(LAL)的一个片段。我们表明,相反的LAL,DLAL确保良好的性能上的主题减少是满意的,一个良好的类型的长期承认多项式约束的减少任何策略。我们建立,作为LAL,DLAL允许代表所有的多时间功能。最后给出了命题DLAL的一个类型推断过程。
2004-05-11 cs.LO
On Generalized Metric Spaces for the Simply Typed Lambda-Calculus (Extended Version)
广义度量,从Lawvere的度量空间丰富的范畴的观点,已被广泛应用于指称语义作为一种方式来衡量在何种程度上两个程序的行为相似,但不等价的方式。然而,到目前为止,将广义度量应用于高阶语言(如简单类型的λ演算)并不令人满意。本文研究了广义度量空间的Carnival闭范畴的一种新的构造方法。我们的出发点是一个定量语义学的基础上,一般的逻辑关系。在这种情况下,我们表明,几个家庭的广义度量提供的方法来扩展欧几里德度量的所有高阶类型。
2021-04-27 cs.LO cs.PL math.LO
Session Types in a Linearly Typed Multi-Threaded Lambda-Calculus
我们提出了一个形式化的会话类型在多线程λ演算(MTLC)配备了一个线性类型系统,建立MTLC类型保存和全球的进步。后者(全局进度)意味着在MTLC中对良好类型程序的评估永远不会陷入死锁。由于这个制定的MTLC可以很容易地嵌入到ATS,一个成熟的语言与功能的编程核心,支持依赖类型(的DML风格)和线性类型,我们得到了一个直接实现的会话类型在ATS。此外,我们获得了直接支持的依赖会话类型的基础上,这种嵌入到ATS的形式。与现有的各种会话类型的形式化相比,我们看到本文给出的形式化在其接近具体实现方面是独特的。特别是,我们报告这样一个实现准备实际使用,生成Erlang代码从良好类型的ATS源(利用会话类型),从而充分利用的基础设施支持分布式计算在Erlang。
2016-03-11 cs.LO cs.PL
On the Simply-Typed Functional Machine Calculus: Categorical Semantics and Strong Normalisation
本文研究函数机器演算(FMC)的范畴语义与强正规化,证明其在适当等式理论下对应自由笛卡尔闭范畴,并扩展 Gandy 证明以确立带类型 FMC 项的强正规化性质。
2023-05-25 cs.LO
An Embedding of the BSS Model of Computation in Light Affine Lambda-Calculus
本文汇集了两条线的研究:隐式表征的复杂性类的线性逻辑(LL)的一方面,计算在一个任意的环上的Blum-Shub-Smale(BSS)模型的另一方面。给定一个固定的环结构K,我们定义了一个扩展的Terui的轻仿射λ演算类型的LAL(轻仿射逻辑)与K的基本类型。我们表明,这种演算捕获的多项式时间函数类FP(K):每个类型的长期可以评估在多项式时间,相反,每一个多项式时间BSS机在K可以模拟在这种演算。
2006-08-08 cs.LO
Simply-typed constant-domain modal lambda calculus I: distanced beta reduction and combinatory logic
UCLA Department of Philosophy(加州大学洛杉矶分校哲学系)
本文提出结合模态逻辑与简单类型λ演算的参数化系统λ_θ,通过组合逻辑给出其模型刻画,并证明λ_θ与最大系统λ_ω之间的语义守恒与可表达性结果。
2026-07-14 cs.LO math.LO
Subtyping on Nested Polymorphic Session Types
子类型对于支持更广泛的良好类型程序的重要性是不可否认的。然而,子类型、递归和多态之间的相互作用还没有完全理解。在这项工作中,我们探讨子类型的嵌套,递归和多态类型的系统与共归纳的解释,我们证明了这个问题是不可判定的。我们的结果将是广泛适用的,但保持我们的研究扎根在一个具体的设置,我们的工作与显式多态性,参数类型构造函数,嵌套类型的会话类型的扩展。我们证明了子类型是不可判定的,即使是只有内部选择和嵌套的一元递归类型构造函数的片段。尽管这个负面的结果,我们提出了一个子类型算法,我们的系统,并证明其可靠性。我们通过使程序员能够用子类型声明(由算法验证)来播种算法,从而最大限度地减少不可避免的不完整性的影响。我们已经在Rast中实现了该算法,并在各种示例程序中证明了其有效性。
2021-03-28 cs.LO cs.PL
Typed compositional quantum computation with lenses
Nagoya University(名古屋大学)
本文提出一种基于类型理论的框架,用于描述和证明量子计算的性质,特别是以量子电路形式呈现的计算。通过引入离散的透镜概念,将电路结构的组合学与门操作的计算内容分离,并递归定义量子电路并证明其正确性。
2026-05-11 cs.LO cs.PL
A Theory of a Two-Dimensional Typed Lambda Calculus
Universidad Militar Nueva Granada (UMNG)(新格兰达军事大学);Microsoft(微软);Universidade Federal de Pernambuco (UFPE)(伯南布哥联邦大学)
提出一个二维类型化λ演算,以计算性路径作为相等性证据,通过递归证明性质,引入高阶相干律和路径类型,并用奇偶不变量证明系统一致且真正内涵,在Idris 2中完全形式化。
2026-09-18 cs.LO
Lecture notes on the lambda calculus
这是一组课堂讲稿,是我2001年在渥太华大学,2007年和2013年在达尔豪西大学教授的λ演算课程的基础上发展起来的。这些笔记涵盖的主题包括无类型λ演算、Church-Rosser定理、组合代数、简单类型λ演算、Curry-Howard同构、弱规范化和强规范化、多态性、类型推断、指称语义、完全偏序和PCF语言。
2013-12-26 cs.LO
Typed Answer Set Programming and Inverse Lambda Algorithms
Arizona State University(亚利桑那州立大学)
我们更广泛的目标是将英语句子自动翻译成适当的知识表示语言中的公式,作为理解和回答英语文本问题的一步。本文的重点是回答集编程语言(ASP)。我们的方法来翻译句子ASP规则的启发蒙塔古的使用λ演算公式的单词和短语的意义。以ASP为目标语言,单词和短语的含义是ASP-lambda公式。在早期的工作中,我们通过手动开发单词字典及其ASP lambda公式来说明我们的方法。然而,这种方法是不可扩展的。在本文中,我们的重点是两个算法,允许一个以逆的方式构建ASP-lambda公式。特别地,这两个算法将两个微积分表达式G和H作为输入,并且计算微积分表达式F,使得输入为G的F(由F@G表示)等于H;并且类似地G@F = H。我们目前的正确性和复杂性的结果,这些算法。为了做到这一点,我们开发了类型化ASP-λ演算理论及其顺序的概念,并将其用于开发完备性结果。(To《逻辑程序设计的理论与实践》(Theory and Practice of Logic Programming)
2012-10-21 cs.AI cs.LO cs.PL
Verification of Ptime reducibility for system F terms via Dual Light Affine Logic
在以前的工作中,我们介绍了双轻仿射逻辑(DLAL)([BaillotTerui04])作为轻线性逻辑的一个变体,适用于保证复杂性的性质上的微积分条款:所有类型的条款可以评估在多项式时间和所有Ptime函数可以表示。在目前的工作中,我们解决的问题,在二阶DLAL的类型的DLDA项。为此,我们给出了一个过程,从系统F中的一个项开始,找到所有可能的方法将其装饰成DLAL类型的项。我们表明,我们的程序可以运行在时间多项式的大小,原来的教会类型的系统F项。
2006-03-27 cs.LO
A Meta-Programming Approach to Realizing Dependently Typed Logic Programming
依赖类型的lambda演算(如逻辑框架(LF))可以编码类型中术语之间的关系,并且可以自然地捕获公式及其证明之间的对应关系。这样的演算也可以给出一个逻辑编程的解释:LLF系统就是基于这样一个LF的解释。我们在这里考虑是否一个传统的逻辑程序设计语言可以提供一个类似的系统编码类型和证明和公式依赖的好处。特别是,我们提出了一个简单的映射从LF规范的一组公式在高阶遗传Harrop(hohh)语言,涉及推导和证明搜索之间的两个框架。然后,我们表明,这种编码可以通过利用知识的原始LF规范的良好形式,以消除大量冗余的类型检查信息。所得到的逻辑程序具有与原始规范非常相似的结构,从而允许将LF规范视为hohh元程序。使用Teyjus实现的PrologaProlog,我们表明,我们的翻译提供了一个有效的手段执行LF规范,补充的能力,PrologaProlog系统提供的推理。
2010-05-24 cs.LO
Categories with Families: Unityped, Simply Typed, and Dependently Typed
我们展示了无类型的,简单类型的和依赖类型的λ演算的范畴逻辑如何可以围绕具有家族的范畴(cwf)的概念来构造。为此,我们引入简单类型的cwfs(scwfs)的子类别,其中类型不依赖于变量,和unityped cwfs(ucwfs),其中只有一个类型。我们证明了几个等价和双等价定理之间的cwf为基础的概念和基本概念的范畴逻辑,如carniveroperads,Lawvere理论,范畴有限的产品和限制,carniver-closed范畴,局部carniver-closed范畴。这些定理中的一些依赖于上下文(在Cartmell的意义上)或民主(由Clairambault和Dybjer用于他们的双等价定理)的限制。有些定理是严格保持所选结构的概念之间的等价。另一些是概念之间的双等价,其中属性只保留到同构。除此之外,我们还讨论了初始ucwfs,scwfs和具有额外结构的cwfs的各种构造。
2020-07-07 cs.LO
Simply typed convertibility is TOWER-complete even for safe lambda-terms
本文证明 Blum–Ong 安全 λ-演算中的 β-及 βη-可转换性仍为 TOWER 完全,将此前 PSPACE 难的下界提升至塔层完全。
2024-09-04 cs.LO cs.PL
On Decidable and Undecidable Extensions of Simply Typed Lambda Calculus
本文证明了有限PCF在加入异常、代数效应和引用等副作用后的四种扩展的不可判定性,并针对带引用的扩展提出了首个包含引用单元的高阶递归函数的非平凡可判定片段。
2025-02-10 cs.LO cs.PL
An Infinitary Lambda Calculus with Global Trace Condition (Extended Abstract)
Turin University(都灵大学);Toho University(东海大学)
提出一种带有零、后继和条件算子的无穷Lambda演算,通过全局迹条件确保良类型项的任何无穷归约都强收敛,并证明其与哥德尔系统T等价。
2026-06-24 cs.LO
Intersection Types for the Computational lambda-Calculus
我们研究多态类型分配系统的非类型的的影响,基于Moggi的单子方法。从单子的抽象定义出发,我们引入了一个基于Wadler的变体的按值调用的计算型微积分,该变体具有单元和绑定组合子,并且没有let。我们定义了一个概念,减少演算,并证明它是合流的,我们也涉及到我们的演算的原始工作的莫吉表明,他的无类型的元语言可以解释和模拟在我们的演算。然后,我们介绍了一个交集型系统启发Barendregt,Coppo和Dezani系统的普通λ演算,建立转换下的类型不变性,并通过逆极限和过滤器模型的构造提供了演算的模型,并将它们联系起来。我们证明了类型系统的可靠性和完备性,以及主题缩减和扩展属性。最后,我们引入了一个收敛的概念,这是完全相关的减少,并通过其类型的收敛项的特征。
2020-02-07 cs.LO
Backpropagation in the Simply Typed Lambda-calculus with Linear Negation
Deepomatic;CNRS(法国国家科学研究中心);Université Sorbonne Paris Nord(索邦巴黎北大学);Université de Paris(巴黎大学)
反向传播是一种经典的自动微分算法,用于计算由某类简单的一阶程序(称为计算图)指定的函数的梯度。它是多个领域的基本工具,最值得注意的是机器学习,它是有效训练(深度)神经网络的关键。近年来,一个名为可微程序设计的研究领域迅速发展,其目的是通过求助于实际的程序设计语言,赋予控制流算子和高阶组合子,如map和fold,更综合和模块化地表达计算图。在本文中,我们将反向传播算法扩展到这样的一个程序设计语言的一个范例:我们定义了一个组合程序转换从简单类型的λ演算本身增加了一个概念的线性否定,并证明了这计算梯度的源程序具有相同的效率作为一阶反向传播。转换是完全无效果的,因此提供了对反向传播动态的纯逻辑理解。
2019-11-06 cs.LG cs.LO cs.PL
The Vectorial Lambda Calculus Revisited
我们重新讨论向量λ演算,它是线性的类型化版本。向量(以及线性)最初是为量子计算设计的,作为系统F的扩展,其中lambda项的线性组合也是项,类型的线性组合也是类型。在其第一个演示中,Vectorial只提供了Subject Reduction属性的弱化版本。我们证明了我们修改后的向量λ演算支持标准版本的属性,回答了一个长期存在的问题。此外,我们还引入了类型权和项权的概念,并证明了项权与其类型权之间的关系。
2021-05-14 cs.LO