Clones and Genoids in Lambda Calculus and First Order Logic
基因型是两个对象的范畴,其中一个是自身与另一个的产物。一个genoid可以看作是一个抽象的置换代数。这是一个值得注意的事实,这样一个简单的概念,可以用来提供一个统一的代数方法,λ演算和一阶逻辑。
2012-09-07 cs.LO cs.PL
The Difference Lambda-Calculus: A Language for Difference Categories
笛卡尔差分范畴是笛卡尔微分范畴的一个最近的推广,它引入了满足类似于科克-劳弗尔公理的“无穷小”箭头的概念,笛卡尔微分范畴的公理仅在“无穷小扰动”下满足。在这项工作中,我们构建了一个简单类型的微积分的精神,配备了语法无穷小的微分λ演算,并显示其模型如何对应于不同的微分范畴,一个家庭的笛卡尔差分范畴配备了适当的表现良好的指数。
2020-11-30 cs.LO cs.PL
Expressibility in the Lambda Calculus with mu
我们解决一个问题,连接到功能性程序设计语言的展开语义:给一个有用的表征,这些无限的PDMANDA-条款是lambda_{letrec} -可表达的意义上说,它们出现在lambda_{letrec},与letrec的PDMANDA演算的无限展开的条款。我们提供了两个特征,使用的概念,我们介绍了无限的非线性项:正则性,强正则性,和绑定捕获链。证明了lambda_{letrec} -可表示的无穷多项构成正则无穷多项的一个真子类。在本文中,我们建立这些特征只在lambda_{mu},显式μ-递归的代数演算的可表达性。我们证明了对于所有的无穷多项T,下列条件是等价的:(i):T是lambda_{mu} -可表示的;(ii):T是强正则的;(iii):T是正则的,并且它只有有限的结合-捕获链.我们定义的正则性和强正则性的无穷大项作为两个不同的推广的正则性的无穷大的一阶项:作为存在的只有1000多个子项被定义为约简的两个重写关系分解的无穷大项。这些重写关系作用于无限的可重写项,这些可重写项配备有用于收集分解的可重写项抽象的标记前缀,并且在分解下保持项闭合。它们的不同之处在于如何去除前缀中的空洞抽象。本报告与RTA 2013会议论文集的相同标题的文章一起发布,主要区别在于提供了结合-捕获链表征lambda_{mu} -可表达性的证据。
2013-05-27 cs.PL
Milner's Lambda-Calculus with Partial Substitutions
研究 Milner 的带部分替换的 lambda 演算,证明其合流性、强规范化保持性,并借助交集类型刻画强可规范化项,且与相关演算及证明网建立联系。
2023-12-20 cs.LO cs.PL
Elementary affine $lambda$-calculus with multithreading and side effects
线性逻辑提供了一个框架来控制高阶函数程序的复杂性。我们提出了一个扩展这个框架的程序与多线程和副作用的情况下,小学时间为重点。我们的主要贡献如下。首先,我们提供了一个新的组合证明终止在初等时间的功能的情况下。其次,我们开发了一个扩展的方法,以调用的值$lambda$-演算多线程和副作用。第三,我们引入了一个基本的仿射型系统,保证标准的主题约简和进步属性。最后,我们说明了规划的迭代函数的副作用所提出的形式主义。
2011-06-10 cs.PL
On Constructor Rewrite Systems and the Lambda Calculus
我们证明了正交构造函数项重写系统和弱(即,在可编程抽象的范围内不允许减少)按值调用减少可以用线性开销来相互模拟。特别地,弱按值调用beta归约可以通过正交构造器项重写系统以相同数量的归约步骤来模拟。相反,术语重写系统中的每个约简可以通过恒定数量的β约简步骤来模拟。这与隐式计算复杂性有关,因为在弱按值调用约简下,规范形式的beta步骤的数量与规范化的实际成本(即,在图灵机上执行的)多项式相关。因此,正交构造函数项重写系统和代数演算都与图灵机多项式相关,将其自然参数作为成本的概念。
2012-08-11 cs.PL
Proof nets and the call-by-value lambda-calculus
本文详细介绍了按值调用λ演算(的一种变体)与线性逻辑证明网之间的关系。为了实现两个系统之间的强互模拟,我们对演示进行了仔细的调整:微积分上的每一个重写步骤都映射到网络上的单步的,反之亦然。通过这种方式,我们得到了证明网的代数重构。此外,我们为我们的证明网提供了一个简单的正确性标准,它以一种不寻常的方式使用盒子。
2013-03-29 cs.LO cs.PL
From Semantics to Types: the Case of the Imperative lambda-Calculus
我们提出了一个交叉型系统的一个强制性的基于状态单子和代数运算的演算读取和写入存储。该系统是通过求解一个合适的域方程的欧米茄代数格的范畴;该解决方案包括一个过滤器模型推广了著名的建设普通的λ演算。然后,类型系统从过滤器模型本身的术语解释中获得。这样得到的类型系统满足“类型语义”属性,并且通过构造它是可靠的和完备的。
2021-12-28 cs.LO cs.PL
Decomposing Probabilistic Lambda-calculi
概率演算的概念通常带有一个规定的归约策略,通常是按名称调用或按值调用,因为演算是非融合的,这些策略会产生不同的结果。这是一个突破的主要优势之一,微积分:融合,这意味着结果是独立于战略的选择。我们提出了一个概率的概率运算符分解成两个语法结构:一个发电机,它代表一个概率事件;和消费者,它的行为取决于一个给定的事件的条款。由此产生的演算,概率事件Lambda演算,是融合的,并解释调用的名称和调用的值策略,通过不同的解释概率运算符到我们的生成器和消费者结构。我们提出了两个概念的减少,一个通过细粒度的本地重写步骤,和一个通过生成和消费的概率事件。演算的简单类型基本上是标准的,它们传达了强规范化。我们演示了如何编码按名称调用和按值调用的概率评估。
2020-02-19 cs.LO cs.PL
Probabilistic Operational Semantics for the Lambda Calculus
研究了纯λ演算的非确定性扩展的概率操作语义.在这种语义中,一个项计算为(有限或无限)值分布。小步和大步语义都是归纳和共归纳定义的。此外,小步和大步语义产生相同的结果,无论是在调用的值和调用的名称。Plotkin的CPS翻译进行了扩展,以适应选择操作符和正确的操作语义。最后,所得到的系统的表达能力进行了研究:微积分是健全的和完整的可计算的概率分布。
2011-06-27 cs.LO cs.PL
A Lambda-Calculus Foundation for Universal Probabilistic Programming
我们开发的操作语义的无类型的连续分布的概率λ演算,通用概率程序设计语言,如教会,圣公会,和风险的基础。我们的第一个贡献是适应经典的操作语义的连续设置,通过创建一个测量空间的条款和定义步骤索引的近似。我们证明了这种基于分布的语义的大步和小步配方的等价性。为了更接近推理技术,我们还将术语的基于采样的语义定义为从随机样本的轨迹到值的函数。我们表明,通过整合所有的痕迹,导致的分布等于基于分布的语义。我们的第二个贡献是形式化的跟踪马尔可夫链蒙特卡罗(MCMC)的实现技术,我们的演算,并显示其正确性。一个关键的步骤是定义充分条件的分布引起的跟踪MCMC收敛到基于分布的语义。据我们所知,这是高阶函数式语言的跟踪MCMC的第一个严格正确性证明。
2017-01-23 cs.PL
Formal Small-step Verification of a Call-by-value Lambda Calculus Machine
我们正式验证一个抽象的机器调用的值的alcuda演算与de Bruijn条款,简单的替代,和小步语义。我们遵循逐步改进的方法,从一个带有替换的朴素堆栈机器开始。然后,我们细化到一个具有闭包的机器,最后是一个具有为闭包提供结构共享的堆的机器。我们证明了三个细化步骤的正确性与组成小步自下而上的模拟。有一个附带的Coq开发验证所有结果。
2019-01-02 cs.LO cs.PL
On the confluence of lambda-calculus with conditional rewriting
无类型λ演算与无条件重写的融合已经在各个方向上进行了研究。本文研究了λ演算与条件重写的融合问题,并给出了两个方向的一般结果。首先,当条件规则是代数的时候。这扩展了Muller和Doughnard关于无条件重写的结果。考虑两种情况,在条件评估中是否允许β-还原。同时,将Doughnard的结果从强正规化β-约简的假设改进为弱正规化β-约简的假设.我们还提供的例子表明,在这些条件之外,模块化的融合是难以实现的。其次,我们超越了代数框架,并得到新的汇合结果,使用扩展的概念,利用重写规则的条件部分的正交性。
2006-09-11 cs.LO cs.PL
The dagger lambda calculus
我们提出了一种新的λ演算,将量子协议的分类方法引入到丰富而完善的类型论传统中。我们的构造扩展了线性类型的λ演算与线性否定的“trivialised”德摩根对偶。减少是通过明确的替代实现的,基于全局范围的绑定的对称概念,规则作用于整个类型判断,而不是特定的子项。证明的主题减少,汇合,强规范化和一致性,语言是一个内部语言匕首紧凑类。
2014-12-30 cs.LO cs.PL math.CT
Higher-Order Pattern Complement and the Strict Lambda-Calculus
我们解决的问题,补充高阶模式没有重复的存在变量。与一阶情形不同,模式的补集一般不能用模式来描述,甚至不能用有限的模式集来描述。因此,我们推广了简单类型的类λ演算,使其包含严格函数的内部概念,这样我们就可以直接表示一个项必须依赖于给定的变量。我们表明,在这个更有表现力的演算,有限集的模式,没有重复的变量是封闭的补充和交叉。我们的主要应用是高阶逻辑程序中的否定变换方法。
2001-09-24 cs.LO cs.PL
Nominal Henkin Semantics: simply-typed lambda-calculus models in nominal sets
我们研究了一类简单类型的λ演算的名义代数Henkin式模型,其中变量映射到表示中的名称,而λ演算抽象映射到(非功能性的)名称抽象操作。由此产生的表示更小,更好的行为,在我们精确的方式,比基于函数值的模型。使用这些新的模型,我们然后开发了一个概括的λ-长期语法丰富他们的存在元变量,从而产生一个理论的不完整的功能。这种不完备性与函数抽象和应用给出的不完备性的通常概念是正交的,并且对应于洞和不完备对象。
2011-11-01 cs.LO cs.PL
On Constructor Rewrite Systems and the Lambda-Calculus (Long Version)
我们证明了正交构造函数项重写系统和弱(即,在可编程抽象的范围内不允许减少)按值调用减少可以用线性开销来相互模拟。特别地,弱按值调用beta归约可以通过正交构造器项重写系统以相同数量的归约步骤来模拟。相反,术语重写系统中的每个约简可以通过恒定数量的β约简步骤来模拟。这与隐式计算复杂性有关,因为在弱按值调用约简下,范式的beta步骤的数量与规范化的实际成本(即,在图灵机上执行的)多项式相关。因此,正交构造函数项重写系统和λ演算都与图灵机多项式相关,将其自然参数作为成本的概念。
2012-08-02 cs.LO cs.PL
The Guarded Lambda-Calculus: Programming and Reasoning with Guarded Recursion for Coinductive Types
我们提出了守护的Alguda演算,简单类型的Alguda演算与守护递归和共归纳类型的扩展。保护递归类型的使用确保了良好类型程序的生产力。受模态逻辑和Atkey-McBride时钟量化启发的类型生成器可以将受保护的递归类型转换为共归纳类型,从而允许非因果函数的类型化。我们给出了演算的按名调用操作语义,并在树的拓扑中定义了适当的指称语义。充分性证明意味着程序的评估总是终止的。我们介绍了一个程序逻辑与Löb归纳推理的上下文等价的程序。我们展示了表现力的演算显示的可定义性的解决方案Rutten的行为微分方程。
2016-09-05 cs.LO cs.PL
Proving Noninterference by a Fully Complete Translation to the Simply Typed lambda-calculus
Tse和Zdancewic已经正式确定了Abadi等人的不干涉概念。的DCC的逻辑关系,并通过系统F的参数化证明了系统F的不干涉性。不幸的是,他们的证明在一个关键引理中包含错误,即他们从DCC到系统F的翻译保留了为两个演算定义的逻辑关系。事实上,我们已经找到了一个反例,在这篇文章中,我们证明了密封演算的不干涉性,而不是DCC,密封演算是DCC的一个新变体,通过还原到简单类型λ演算的逻辑关系的基本引理,使用简单类型λ演算的完全完全翻译。完全完备性在显示翻译过程中两种逻辑关系的保持方面起着重要的作用。此外,我们调查之间的关系密封演算,DCC和DCC的Tse和Zdancewic的扩展,并表明第一个和最后三个是等价的。
2008-09-20 cs.CR cs.PL
Introducing a Calculus of Effects and Handlers for Natural Language Semantics
LORIA, UMR 7503, Université de Lorraine, CNRS, Inria(洛林大学洛林计算机科学实验室(LORIA),UMR 7503,洛林大学,法国国家科学研究中心,法国国家信息与自动化研究所)
在组合模型论语义学中,研究人员使用λ演算组合真值条件或其他类型的表示。以前观察到,lambda项和/或所研究的表示倾向于遵循相同的模式:它们是单子的实例。在本文中,我们提出了一个扩展的简单类型的λ演算,利用这种一致性,使用最近发现的效果处理程序的技术。我们证明,我们的演算表现出一些关键的正式属性的λ演算,我们用它来构建一个模块化的语义小片段,涉及多个不同的语义现象。
2016-07-08 cs.CL cs.PL
Uniform Memory and Serialization for Lambda Calculus
本文介绍了一种特殊类型的系统,定义了它们的性质,并证明了纯无类型可拓λ演算的归约机可以实现为所介绍类型的系统。具体地说,我们讨论了作为一种特殊的图形的均匀记忆和实时的操作的状态机,使用均匀记忆作为他们的状态。此外,我们考虑一种特殊的串行化情况,后者对于在计算期间比较结果的机制很有用,而不是在计算完成之后。然而,我们首先详细解释我们这项工作的动机。
2010-11-16 cs.LO cs.PL math.LO
Relational Parametricity and Control
我们研究了Parigot的二阶微积分的方程理论,并将其转换为二阶微积分的一个片段。据观察,目标演算上的关系参数诱导一个自然的概念等价的-条款。另一方面,无约束的关系parametricity的演算原来是不一致的CPS语义。根据这些事实,我们建议以一种受约束的方式在微积分上制定关系参数,这可能被称为“焦点参数”。
2006-07-27 cs.LO cs.PL
Enriching a Linear/Non-linear Lambda Calculus: A Programming Language for String Diagrams
线性/非线性(LNL)模型,如Benton所描述的,合理地建模了与直觉线性逻辑密切相关的LNL项演算和LNL逻辑。每一个这样的模型诱导一个典型的丰富,我们显示健全模型的LNL λ演算弦图,介绍了里奥斯和塞林格(主要应用于量子计算)。我们对这种语言的抽象处理导致了比迄今为止提出的更简单的具体模型。我们还扩展了一般递归的语言,并证明合理性。最后,我们提出了一个充分的结果,对应于修改后的版本的本顿和Wadler的伴随演算与递归的语言的无干扰片段。
2018-04-25 cs.LO cs.PL math.CT
Normalization by Evaluation for Call-by-Push-Value and Polarized Lambda-Calculus
我们观察到,标准化评估简单类型的λ演算与弱余积可以进行在一个弱双carbohydrate封闭范畴的预层配备了单子,使我们能够执行的情况下区分中性条款的总和类型。单子的位置影响我们得到的范式:例如,把单子放在余积上,我们得到η长的β-π范式,其中π是指排除位置之外的格区别的排列。我们进一步观察到,将单子放在每一个联积上是相当浪费的,单子的最佳放置可以通过考虑受聚焦启发的极化简单类型来确定。极化将类型分为正类型和负类型,将正类型嵌入负类型时放置单子就足够了。我们考虑两个基于极化类型的演算:纯推值调用(CBPV)和极化的λ演算,自然演绎演算对应于聚焦递归演算。对于这两个结石,我们提出的算法进行规范化的评价。我们进一步讨论了不同的实现单子和它们的关系,现有的规范化证明的λ演算和。我们的发展已部分正式在阿格达证明助手。
2019-02-16 cs.LO cs.PL math.LO
Intersection Types for a Computational Lambda-Calculus with Global State
本文研究带全局存储读写操作的无类型 lambda 演算,利用 monad 建模副作用,建立操作语义、指称语义与交集类型系统,并证明类型不变性及收敛项的类型刻画。
2025-08-27 cs.LO cs.PL
A Proposal for an Interactive Shell Based on a Typed Lambda Calculus
The Open University of Japan(日本开放大学)
本文介绍了Favalon,一个功能性的程序设计语言的前提下建立的λ演算作为一个交互式的外壳更换。Favalon使用类型推断、灵活的运行时类型元数据以及shell用来将命令链接在一起的相同技术,与现有库和命令的类型化版本无缝集成。Favalon的大部分语法都可以通过用户定义函数进行自定义,允许任何熟悉命令行shell的人对其进行扩展。此外,Favalon的类型推断引擎可以从其运行时库中分离出来,并且可以很容易地重新用于其他应用程序。
2021-04-08 cs.CL cs.PL
Case Studies in Formal Reasoning About Lambda-Calculus: Semantics, Church-Rosser, Standardization and HOAS
我们以前已经出版了Isabelle/HOL形式化的一般理论的语法绑定。在这篇配套文件中,我们实例化的一般理论,以语法的λ演算和形式化的发展,导致几个基本的结构和结果:健全的语义解释,教会罗瑟和标准化定理,高阶抽象语法(HOAS)编码。对于Church-Rosser和标准化,我们的工作涵盖了微积分的按名称调用和按值调用版本,遵循Takahashi和Plotkin的经典论文。在形式化过程中,我们能够专注于开发的高级思想-感谢我们的一般理论提供的武器库:关于替换,交换和新鲜度操作符的丰富基本事实,以及递归定义和推理原则,包括语法语义解释的专业化。
2021-07-24 cs.LO cs.PL
Maximal Sharing in the Lambda Calculus with letrec
增加程序中的共享对于压缩代码是可取的,并且避免在运行时重复的归约工作,从而加速执行。我们展示了如何最大程度的共享,可以获得表示为在λ演算与letrec的条款的程序。我们引入了一个概念的“最大紧性”之间的所有条款相同的无限展开的EQUIDA-LETREC-条款。而不是纯粹的语法定义,这个概念是基于图语义。将非线性项解释为一阶项图,从而通过项图解释的双相似性来保留和反映项之间的展开等价性。项图的紧性可以通过函数互模拟来比较。我们描述了以下两个问题的实用和有效的方法:转换成一个最大的紧凑形式的一个apenda-letrec-长期,并决定是否两个apenda-letrec-长期展开等价。将一个双列项$L$转换成最大紧凑形式$L_0$分三步进行:(i)将L转换成它的项图$G = [[ L ]]$ ;(ii)计算$G$的最大共享形式作为它的互模拟塌陷$G_0$ ;(iii)从具有属性$[[ L_0 ]] = G_0$的项图$G_0$中读回一个双列项$L_0$。这保证了$L_0$和$L$具有相同的展开,并且$L_0$表现出最大共享。用于判定两个给定的双列词项$L_1$和$L_2$是否展开等价的过程计算它们的词项图解释$[[ L_1 ]]$和$[[ L_2 ]]$,并检查这些词项图是否双相似。为了说明,我们还提供了一个易于使用的实现。
2014-06-23 cs.PL
A Lambda-Calculus with letrec, case, constructors and non-determinism
研究了一个基于重写规则的非确定性按需调用λ演算\calc,该演算包含case、构造函数、letrec和一个(非确定性的)不规则选择.标准归约被定义为最左最外归约的变体。语义由表达式的上下文等价而不是使用$αβ(η)$ -等价来定义。它表明,几个程序转换是正确的,例如所有(确定性)的规则的演算,以及除了规则的垃圾回收,消除间接和唯一的副本。这表明,上下文引理和元重写的组合约简使用完整的交换集(分叉,分别)。图是用于提供函数式程序设计语言的语义和证明程序变换的正确性的有用且成功的方法。
2000-11-06 cs.AI cs.PL cs.SC
Call-by-value Termination in the Untyped lambda-calculus
一个全自动的算法开发能够显示,一个给定的无类型的可扩展表达式的评估将终止CBV(按值调用)。本文分两步将一阶程序中的“变长原理”推广到任意无类型的可达表达式。第一步足以显示单个独立lambda;-表达式的CBV终止。第二个足以显示CBV终止的任何成员的一个正规的一组的Adjuda表达式,定义了一个树语法。(一个简单的例子是最小函数,当应用于任意的丘奇数时。该算法是合理的,并在本文中证明。停机问题的不可判定性意味着任何合理的算法都必然是不完整的:某些可达表达式实际上可能在CBV求值下终止,但不被认为是终止的。终止算法的强度相当高。它证明了许多有趣和有用的通用递归算法,包括相互递归和参数交换的程序,以及Colson的“最小值”算法。此外,我们的无类型方法允许使用Y组合子,因此可以识别为终止PCF的大量子集。
2008-03-17 cs.PL
Expressibility in the Lambda Calculus with Letrec
我们调查之间的关系,有限项的Lenda-letrec,与letrec的λ演算,和无限的lambda条款,他们表示。由于有一些简单的例子,λ-项,直观上,是不是展开的条款在λ-letrec,我们考虑的问题:如何可以这些无限的lambda条款的特点是λ-letrec-表达的意义上,他们可以获得无限展开的条款在λ-letrec?为了通过在项的头部进行的重复“实验”来“观察”无限的子项,我们引入了两个重写系统(具有重写关系)-reg->和-reg+->,它们分解项,并在两个概念中产生“生成的子项”。因此,可以观察步骤的种类以及其目标,生成的子项。在这两个系统中,都有四种分解步骤:-lambda-> steps(分解一个抽象),-@0>和-@1> steps(将应用程序分解为它的函数和参数),以及-del-> steps(定义抽象的作用域,对于-reg->)和-S->(定义作用域,对于-reg+->)。这些步骤发生在无限的抽象项上,这些抽象项带有一个前导前缀,用于收集以前遇到的抽象项,并保持生成的子项关闭。我们称一个无限的可达项为“正则”/“强正则”,如果它的-reg-> -reachable / -reg-> -reachable生成子项的集合是有限的。此外,我们还用“结合-捕获链”的概念分析了非线性项的结合结构。使用这些概念,我们回答了上面的问题,提供两个特征的可表达性。对所有无穷多项M…
2013-05-02 cs.LO cs.PL
Program Equivalence in an Untyped, Call-by-value Lambda Calculus with Uncurried Recursive Functions
我们的目标是推理Erlang程序的行为保持转换的正确性。行为保留的特点是语义等价。基于我们现有的形式语义的核心Erlang,我们调查合适的等价关系的潜在定义。特别是,我们适应了一些现有的表达等价的方法,一个简单的功能程序设计语言,进行顺序核心Erlang的主要特点,然后我们检查的等价关系的属性,并正式建立它们之间的连接。本文的结果,包括所有定理及其证明,已使用Coq证明助手进行了机器检查。
2022-08-30 cs.PL
On Generalized Metric Spaces for the Simply Typed Lambda-Calculus (Extended Version)
广义度量,从Lawvere的度量空间丰富的范畴的观点,已被广泛应用于指称语义作为一种方式来衡量在何种程度上两个程序的行为相似,但不等价的方式。然而,到目前为止,将广义度量应用于高阶语言(如简单类型的λ演算)并不令人满意。本文研究了广义度量空间的Carnival闭范畴的一种新的构造方法。我们的出发点是一个定量语义学的基础上,一般的逻辑关系。在这种情况下,我们表明,几个家庭的广义度量提供的方法来扩展欧几里德度量的所有高阶类型。
2021-04-27 cs.LO cs.PL math.LO
On the Elementary Affine Lambda-Calculus with and Without Fixed Points
初等仿射λ演算被引入作为隐式计算复杂性的多价设置,允许多项式时间和超指数时间谓词的表征。但是这些结果依赖于类型固定点(也就是递归类型),并且不知道类型系统的这个特性是否真的必要。我们给出了一个肯定的答案,表明没有类型不动点,我们得到了正则语言的表征,而不是多项式时间。证明使用语义评估方法。我们还提出了一个审美上的改进功能类FP和k-FEXPTIME的递归类型的存在下的表征。
2019-08-14 cs.CC cs.LO cs.PL
The Call-by-need Lambda Calculus, Revisited
现有的按需调用lambda演算通过等式逻辑描述了惰性求值。程序员可以使用这些逻辑来安全地确定一个术语是否在行为上等同于另一个术语,或者确定懒惰程序的值。然而,现有的演算模型都没有以匹配惰性实现的方式进行评估。两种结石都有同样的两个问题。首先,演算从不丢弃函数调用,即使在它们被完全解析之后。第二,演算包括重关联公理,即使这些公理仅仅是管理步骤,在任何实现中都没有对应的。在本文中,我们提出了一个替代公理化的懒惰评价使用一个单一的公理。它消除了函数调用保留问题和无关的重新关联公理。我们的公理使用上下文语法来描述所需计算的确切概念。像它的前辈一样,我们的新演算满足一致性和标准化属性,因此适合于推理行为等价性。此外,我们建立了我们的语义和Launchbury的自然语义之间的对应关系。
2012-01-18 cs.PL
Hereditary Substitution for the λΔ-Calculus
遗传替换是类型有界迭代替换的一种形式,首先由沃特金斯等人和亚当斯明确提出,以显示各种构造性逻辑的证明项的规范化。本文是第一个应用遗传替代显示规范化的类型论对应于一个非建设性的逻辑,也就是说,三角洲演算制定的Zeroof。我们证明了简单类型的λ演算的遗传替换函数有一个非平凡的扩展到一个的λ-Delta演算。然后用遗传替换证明了归一化。
2013-09-05 cs.LO cs.PL
Towards a Semantic Measure of the Execution Time in Call-by-Value lambda-Calculus
我们调查的执行时间的语义帐户的可能性(即β步骤的数量导致的范式,如果有的话)的洗牌演算,普洛特金的调用的价值λ演算的扩展。为此,我们使用一个线性逻辑为基础的指称模型,可以被看作是一个非幂等的交集类型系统:关系语义。我们的调查的灵感来自类似的线性逻辑证明网和无类型的按名称调用的λ演算。我们首先证明了一个定性的结果:一个(可能是开放的)长期是规范化的弱减少(不减少抽象),当且仅当其解释是不空的。然后,我们表明,类型派生的大小可以用来衡量执行时间。最后,我们表明,不同的情况下,线性逻辑和呼叫的名称的λ演算演算,封闭在类型派生的定量信息不提升类型(即术语的解释)。为了在按值调用设置中获得执行时间的真正语义度量,我们推测需要对其语法和操作语义进行细化。
2019-04-23 cs.DM cs.LO cs.PL
RPO, Second-order Contexts, and Lambda-calculus
首先,我们扩展了Leifer-Milner RPO理论,给出了获得IPO标记的过渡系统(和双相似性)的一般条件,减少了一组过渡,并可能出现分支。此外,我们还研究了Leifer-Milner理论的弱变体,给出了弱双相似是同余的一般条件。然后,我们将这种扩展的RPO技术应用到具有懒惰和按值调用的Reduction策略的λ演算中。我们表明,相反的过程演算,可以直接处理的λ演算语法和应用Leifer-Milner技术一类的背景下,只要我们的工作框架中的弱双相似性。然而,即使在具有最小上下文的转换系统的情况下,所得到的双相似性也是无限分支的,这是因为在标准上下文范畴中,参数规则(如beta规则)只能由无限多个基本规则表示。为了克服这个问题,我们引入了二阶上下文范畴的一般概念。我们表明,通过在这种情况下进行RPO建设,懒惰的观测等价可以被捕获为一个弱的双相似等价的一个分支过渡系统。这个结果是通过考虑组合逻辑中的一种编码来实现的。
2009-08-06 cs.LO cs.PL
Polymorphic Lambda Calculus with Context-Free Session Types
上下文无关会话类型为双向通道上的递归结构化通信协议提供了一种类型规则。它们克服了常规会话类型系统对跟踪递归协议的限制。这个扩展使我们能够以完全类型安全的方式实现树结构的序列化和非序列化。我们提出的理论基础的语言FreeST 2,它的特点是上下文无关的会话类型在系统F的线性类型和一种系统来区分消息类型和通道类型的扩展。该系统提出了一些元理论的挑战,我们解决,在多态性的存在下,一个非平凡的等式理论的类型,和类型等价的可判定性收缩。我们还建立了类型保存,进步和错误过程的特征的标准结果。
2022-08-02 cs.PL
Bidirectional Interpolation for the Lambda-Calculus: Revisiting and Formalising Craig-Čubrić Interpolation
Université Paris Cité, INRIA, CNRS, IRIF(巴黎西岱大学、法国国家信息与自动化研究所、法国国家科学研究中心、IRIF)
本文通过双向类型原理重新审视并形式化了Craig-Čubrić插值定理,扩展了其在λ演算和序贯演算中的应用。
2026-07-17 cs.LO cs.PL math.LO
Lineal: A linear-algebraic Lambda-calculus
我们提供了向量空间和双线性函数的概念的计算定义。我们使用这个结果来介绍一个最小的语言相结合的高阶计算和线性代数。这种语言扩展了λ演算,使之有可能进行α t + β u项的任意线性组合。我们描述了如何“执行”这个语言的一些重写规则,并证明他们通过两个基本要求,语言是一个语言的线性运算符,它是高阶。我们提到的角度,这项工作在量子计算领域,其电路,我们可以很容易地编码在微积分。最后,我们证明了整个演算的汇合。
2017-03-21 cs.LO cs.PL quant-ph
The Lambda Calculus is Quantifiable
本文基于偏度量引入了 lambda 演算的多种量化方法,研究了合理等式理论的量化变体,引入了捕获高阶 Scott 拓扑的应用距离,并证明 Taylor 展开式可表示为等距变换,为 Böhm 树与其 Taylor 展开式的联系提供了量化见解。
2024-11-18 cs.LO cs.PL math.LO
A unified treatment of structural definitions on syntax for capture-avoiding substitution, context application, named substitution, partial differentiation, and so on
我们介绍了一个范畴理论抽象的语法与辅助功能,称为admissiblemonad态射。依赖于结构递归的抽象形式,我们设计了通用工具,从基本数据中构造容许单子态射。这些工具自动化了普遍存在的标准模式,如(1)在连续的、潜在依赖的层中定义辅助函数,以及(2)通过语法归纳来证明辅助函数的属性。我们涵盖了文献中的重要例子,包括标准的捕获避免替换的Aluda-calculus,具有bindingevaluation上下文的Aluda-calculus,具有命名替换的Aluda-mu-calculus,以及微分Aluda-calculus。
2022-04-08 cs.LO cs.PL math.CT
On the discriminating power of tests in resource lambda-calculus
自发现以来,差分线性逻辑(DLL)启发了许多领域。在指称语义中,DLL的范畴模型已经比较普遍,其中最简单的是Rel,即集合和关系的范畴。在证明论中,这自然产生了完全和完整的DLL差分证明网。反过来,这些工具可以自然地转化为它们的直觉对应物。通过采取共同克莱斯利类别相关联的!comonad,Rel变成MRel,一个包含微分概念的\Lcalcul模型。证明网可以很自然地用于将\Lcalcul扩展为具有资源的λ演算,一种包含线性和微分概念的演算。当然,MRel是一个有资源的\Lcalcul模型,它已经被证明是足够的,但是它是完全抽象的吗?这是布恰雷利、卡拉罗、埃哈德和曼佐内托的一个强有力的猜想。然而,在本文中,我们展示了一个反例。此外,为了更直观地了解反例的本质并寻求更大的普遍性,我们将使用Bucciarelli等人也引入的资源\Lcalcul的扩展,其中$\Minf$是完全抽象的,即测试。
2012-05-22 cs.LO cs.PL
Higher-order semantics for quantum programming languages with classical control
本论文以类型论为理论框架,分三个层次研究量子计算的范畴形式化。我们研究的第一阶段涉及匕首λ演算的创建,匕首紧范畴的λ演算。我们的第二个贡献提升了表达能力的匕首λ演算,量子程序设计语言,通过添加经典控制的形式互补的经典结构和dualisers。最后,我们的第三个贡献演示了如何我们的λ演算可以应用到各种众所周知的量子计算问题。
2013-11-26 cs.LO cs.PL math.CT
A System F accounting for scalars
代数演算和线性代数演算扩展了代数演算,使其可以进行任意的线性组合。在本文中,我们提供了一个细粒度的,系统F型系统的线性代数演算。我们表明,这个“标量”型系统享有的主题还原属性和强规范化属性,我们的主要技术成果。后者产生了一个显着的简化的线性代数微积分本身,通过消除需要的一些限制,在其减少规则。但是,这个标量类型系统更重要的原始特性是,它跟踪每个术语中存在的“类型的数量”。作为一个使用的例子,我们证明了它可以保证一个项的范式是重心的,即它的标量和为1。
2012-02-28 cs.LO cs.PL quant-ph
Tropical Mathematics and the Lambda Calculus I: Metric and Differential Analysis of Effectful Programs
本文研究 lambda 演算在热带数学框架中的解释,提出一个统一程序度量与资源分析的定量语义框架,并基于热带半环加权关系模型分析带效应程序行为,揭示了其与广义度量空间理论的抽象对应基础。
2023-11-27 cs.LO cs.PL math.LO
Recovering Purity with Comonads and Capabilities
在本文中,我们采用了一种普遍有效的(ML风格的)类型λ演算,并展示了如何扩展它以允许捕获具有类型的纯表达式。我们的关键观察是,正如纯简单类型的λ演算可以扩展到支持一元类型规则的效果,不纯类型的λ演算可以扩展到支持一元类型规则的纯度。我们通过一个简单的指称模型来建立我们的类型系统的正确性,我们称之为能力空间模型。我们的模型形式化的直觉常见的系统程序员,执行效果的能力应该通过访问权限或能力进行控制,一个程序是能力安全的,如果它没有执行效果,它没有一个运行时的能力。然后,我们确定的公理范畴结构的能力空间模型验证,并使用这些公理给我们的comonadic类型系统的范畴语义。然后,我们给出了一个等式理论(替代和调用的值$β$和$η$法律)的命令λ演算,并显示其可靠性相对于此语义。最后,我们给出了一个翻译的纯简单类型的λ演算到我们的共同命令演算,并表明,任何两个条款是$βη$ -平等的STLC是平等的共同命令演算的方程理论,建立纯程序可以映射到我们的命令演算在一个方程保持的方式。
2020-11-10 cs.LO cs.PL
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
$λ_A$: A Typed Lambda Calculus for LLM Agent Composition
State Key Laboratory of Novel Software Technology, Nanjing University(南京大学软件新技术国家重点实验室);Software Institute, Nanjing University(南京大学软件学院)
本文提出$λ_A$类型lambda演算,通过引入oracle调用、有界固定点、概率选择和可变环境扩展简单类型lambda演算,证明类型安全性和终止性,并展示其在代理配置检测中的应用。
2026-04-14 cs.MA cs.PL cs.SE
The Functional Machine Calculus II: Semantics
作者最近引入的函数机器演算(FMC)是拉姆达演算的推广,它可以忠实地编码高阶可变存储、I/O和概率/非确定性输入的影响。值得注意的是,它仍然是融合的,并且可以在这些效果存在的情况下简单地类型化。在本文中,我们探讨的指称语义的FMC。我们有三个主要的贡献:首先,我们认为,它的语法-在这两个效果,并实现使用相同的句法结构-是语义自然,密切对应的结构斯科特风格的域理论语义。第二,我们表明,简单的类型赋予强规范化扩展甘迪的证明,包括一个小的简化的技术。最后,我们表明,类型FMC(不考虑具体的编码效果),模适当的方程理论,是一个完整的语言笛卡尔闭范畴。
2023-02-05 cs.LO cs.PL
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
The Bang Calculus and the Two Girard's Translations
我们研究了两个吉拉德的翻译到线性逻辑的直觉蕴涵利用Bang演算,一个范式的功能语言与一个明确的框运算符,允许调用的名称和调用的值ALGODA演算编码。我们调查如何从句法和语义的角度来看,爆炸演算包括调用的名称和调用的值的类演算。
2019-04-15 cs.DM cs.LO cs.PL
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