Nominal Henkin Semantics: simply-typed lambda-calculus models in nominal sets
我们研究了一类简单类型的λ演算的名义代数Henkin式模型,其中变量映射到表示中的名称,而λ演算抽象映射到(非功能性的)名称抽象操作。由此产生的表示更小,更好的行为,在我们精确的方式,比基于函数值的模型。使用这些新的模型,我们然后开发了一个概括的λ-长期语法丰富他们的存在元变量,从而产生一个理论的不完整的功能。这种不完备性与函数抽象和应用给出的不完备性的通常概念是正交的,并且对应于洞和不完备对象。
2011-11-01 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
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
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
Parameterized Cast Calculi and Reusable Meta-theory for Gradually Typed Lambda Calculi
对渐进类型化的研究导致了Siek和Taha(2006)的渐进类型化λ演算(GTLC)及其基础的铸造演算的许多变化。例如,Wadler和Findler(2009)增加了责任跟踪,Siek等人(2009)研究了替代的铸造评估策略,Herman等人(2010)为了空间效率而将铸造替换为铸造。GTLC的元理论也扩展到类型安全之外,包括责备安全(Tobin-Hochstadt and Felleisen 2006),空间消耗(Herman et al. 2010)和渐进保证(Siek et al. 2015)。这些结果已被证明的GTLC的一些变化,但不是其他人。此外,研究人员继续开发GTLC的变体,但为新变体建立所有元理论非常耗时。本文以两个参数化的铸造演算的形式确定了捕获许多铸造演算之间相似性的抽象,一个用于语言规范的目的,另一个用于指导节省空间的实现。然后,本文为这两个演算开发了可重用的元理论,证明了类型安全性、错误安全性、渐进保证和空间消耗。最后,本文以八个铸造结石为例,包括五个文献中的结石和三个新的结石。所有这些定义和定理,包括两个参数化演算,可重用的元理论,和八个实例化,在Agda中广泛使用模块参数和依赖记录来定义抽象。
2021-05-15 cs.PL
Simply typed convertibility is TOWER-complete even for safe lambda-terms
本文证明 Blum–Ong 安全 λ-演算中的 β-及 βη-可转换性仍为 TOWER 完全,将此前 PSPACE 难的下界提升至塔层完全。
2024-09-04 cs.LO cs.PL
Transformer Models for Type Inference in the Simply Typed Lambda Calculus: A Case Study in Deep Learning for Code
IHES(高等科学研究所);University of Illinois at Urbana-Champaign(伊利诺伊大学厄巴纳-香槟分校);IBM Research(IBM研究院)
本文提出以项与类型关系为核心的基准,研究 transformer 在简单类型 lambda 演算类型推断中的预热与优化器选择,发现 Adafactor 较 Adam 和 RAdam 收敛更快。
2023-03-15 cs.AI cs.LG cs.LO
On Decidable and Undecidable Extensions of Simply Typed Lambda Calculus
本文证明了有限PCF在加入异常、代数效应和引用等副作用后的四种扩展的不可判定性,并针对带引用的扩展提出了首个包含引用单元的高阶递归函数的非平凡可判定片段。
2025-02-10 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
The Safe Lambda Calculus
安全性是高阶文法的一个句法条件,它根据变量的类型论顺序约束变量在产生式规则中的出现。在本文中,我们介绍了安全的λ演算,这是通过转置(和推广)的设置简单类型的λ演算的安全条件。与安全性的原始定义相反,我们的演算并不约束类型(必须是同质的)。我们表明,在安全的λ演算,没有必要重命名绑定变量时,执行替代,变量捕获是保证不会发生。我们还提出了一个适当的概念β-减少,保持安全性。与Schwichtenberg在1976年对简单类型的λ演算的刻画一样,我们证明了在安全的λ演算中可表示的数值函数恰好是多元多项式,因此条件是不可定义的。我们也给出了表征词的功能。然后,我们研究了两个安全的简单类型的条款,并表明这个问题是PSPACE困难的决定β-eta平等的复杂性。最后,我们给出了一个游戏语义分析的安全:我们表明,安全的条款表示的“P-增量合理的策略”。因此,在安全的博弈语义中,指针只有从4阶开始才是必要的。
2009-02-19 cs.GT cs.PL
Depending on Session-Typed Processes
这项工作提出了一个依赖的类型论,结合功能和会话类型的过程(与值依赖),通过上下文单子,内在化的依赖类型的过程中的一个依赖类型的类演算。建议的框架,通过允许会话进程依赖于功能,反之亦然,使我们能够指定和静态验证协议的下一个通信动作的选择可以取决于接收到的数据的特定值。此外,框架的类型理论性质赋予我们内部描述和证明过程行为谓词的能力。我们的主要结果是类型健全的框架,并忠实嵌入的功能层的演算会话类型层,展示了依赖的会话类型的表达能力。
2018-01-24 cs.PL
A Lambda Prolog Based Animation of Twelf Specifications
在ABCIF系统中的规范是基于爱丁堡逻辑框架或LF的逻辑编程解释。我们认为这样的规范使用Lambda Prolog实现动画的方法。该方法基于将依赖类型的LF表达式有损转换为Lambda Prolog的简单类型λ演算(STLC)项,以及随后在由适当子句定义的谓词中对丢失的依赖性信息进行编码。为了在逻辑编程的实现中使用这个想法,还需要将Lambda Prolog查询的结果转换回LF表达式。我们描述了这样一个逆翻译,并表明它具有必要的属性,以方便仿真的Lambda Prolog程序通过我们的翻译LF规范的行为。BASINF的一个特点是它允许查询由具有由元变量表示的未指定部分的类型组成,元变量的值通过计算找到。我们表明,这种能力可以支持我们的翻译为基础的方法来动画的BMPF规格。
2014-07-06 cs.PL
Lambdas at the Far Edge: a Tale of Flying Lambdas and Lambdas on Wheels
Department of Computer Science (DI) University of Turin, Turin, Italy(计算机科学系(DI)都灵大学);MITO Technology, Milan, Italy(MITO技术公司)
本文介绍了一种用于远端分布式设备编程的新型模型eXchange Calculus,并展示了其C++实现FCPP在无人机等设备上的应用。
2026-03-04 cs.DC cs.PL cs.RO
Recovering Purity with Comonads and Capabilities
在本文中,我们采用了一种普遍有效的(ML风格的)类型λ演算,并展示了如何扩展它以允许捕获具有类型的纯表达式。我们的关键观察是,正如纯简单类型的λ演算可以扩展到支持一元类型规则的效果,不纯类型的λ演算可以扩展到支持一元类型规则的纯度。我们通过一个简单的指称模型来建立我们的类型系统的正确性,我们称之为能力空间模型。我们的模型形式化的直觉常见的系统程序员,执行效果的能力应该通过访问权限或能力进行控制,一个程序是能力安全的,如果它没有执行效果,它没有一个运行时的能力。然后,我们确定的公理范畴结构的能力空间模型验证,并使用这些公理给我们的comonadic类型系统的范畴语义。然后,我们给出了一个等式理论(替代和调用的值$β$和$η$法律)的命令λ演算,并显示其可靠性相对于此语义。最后,我们给出了一个翻译的纯简单类型的λ演算到我们的共同命令演算,并表明,任何两个条款是$βη$ -平等的STLC是平等的共同命令演算的方程理论,建立纯程序可以映射到我们的命令演算在一个方程保持的方式。
2020-11-10 cs.LO cs.PL
Liberalizing Dependency
依赖性核心演算(DCC)是计算λ演算的简单扩展,它捕获了在许多程序设计语言设置中出现的依赖性的常见概念。这种依赖关系的概念与安全中的信息流概念密切相关;它不仅对导致显式流的数据依赖关系敏感,而且对导致隐式流的控制依赖关系敏感。在本文中,我们研究的DCC的数据和控制依赖解耦的变种。这使我们能够考虑设置一个较弱的依赖概念-一个只限制显式流-可能有用地与DCC的较强的依赖概念共存。特别是,我们展示了如何强大的,非干扰为基础的安全性可能会调和弱,基于跟踪的安全性在同一系统内,提高后者的稳健性和前者的完整性。
2010-04-07 cs.CR cs.PL
A Categorical Normalization Proof for the Modal Lambda-Calculus
本文为模态λ-演算提出基于Kripke式替换的求值归一化算法,证明其可靠完备,为元编程的依赖类型基础奠定逻辑基石。
2023-02-20 cs.LO cs.PL
Linear Recursion
我们定义了两个扩展的类型的线性代数演算,产生最小的图灵完备系统。扩展是基于无界递归在一种情况下,和有界递归与最小化在其他。我们表明,这两种方法是兼容的线性和可键入性的限制。类型化线性代数演算的两个扩展都是最小的,在这个意义上,去掉任何组件都会破坏系统的普适性。我们讨论的实施技术,利用线性的结石。最后,我们将结果应用于语言的不动点算子:我们给出了一个编译的程序设计语言PCF成线性代数演算与线性无界递归。
2016-11-25 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
Linearising Explicit Substitutions using Intersection Types
LIACC;Faculdade de Ciências, Universidade do Porto(波尔图大学理学院);CRACS, INESC-TEC(CRACS,INESC-TEC)
研究为带显式替换的演算定义新项展开,以此关联带显式替换的lambda演算与Boudol的带多重性的资源感知lambda演算,函数参数可用性或受限,核心方法是新项展开,主要贡献是建立了这种关联。
2026-07-23 cs.LO cs.PL
Elegant elaboration with function invocation
我们提出了一个优雅的设计的核心语言在依赖类型的λ演算与$δ$减少和细化算法。
2021-07-05 cs.PL
A Case Study on Logical Relations using Contextual Types
逻辑关系证明在建立诸如规范化或上下文等价等丰富的性质方面起着关键作用。机械化也很有挑战性。在本文中,我们描述了算法的完整性证明的简单类型的Algida-条款的Crary,我们的原因在逻辑上等价的条款在证明环境白鲸。有三个关键方面,我们依赖于:1)我们编码与他们的操作语义和使用高阶抽象语法的算法等式一起,2)我们直接使用递归类型和高阶函数编码相应的逻辑等价的良好类型的与条件3)我们利用Beluga的支持上下文和等式理论的同时替代。这导致了一个直接和紧凑的机械化,展示了Beluga在形式化逻辑关系证明方面的实力。
2015-07-29 cs.LO cs.PL
The Difference Lambda-Calculus: A Language for Difference Categories
笛卡尔差分范畴是笛卡尔微分范畴的一个最近的推广,它引入了满足类似于科克-劳弗尔公理的“无穷小”箭头的概念,笛卡尔微分范畴的公理仅在“无穷小扰动”下满足。在这项工作中,我们构建了一个简单类型的微积分的精神,配备了语法无穷小的微分λ演算,并显示其模型如何对应于不同的微分范畴,一个家庭的笛卡尔差分范畴配备了适当的表现良好的指数。
2020-11-30 cs.LO cs.PL
The Functional Machine Calculus II: Semantics
作者最近引入的函数机器演算(FMC)是拉姆达演算的推广,它可以忠实地编码高阶可变存储、I/O和概率/非确定性输入的影响。值得注意的是,它仍然是融合的,并且可以在这些效果存在的情况下简单地类型化。在本文中,我们探讨的指称语义的FMC。我们有三个主要的贡献:首先,我们认为,它的语法-在这两个效果,并实现使用相同的句法结构-是语义自然,密切对应的结构斯科特风格的域理论语义。第二,我们表明,简单的类型赋予强规范化扩展甘迪的证明,包括一个小的简化的技术。最后,我们表明,类型FMC(不考虑具体的编码效果),模适当的方程理论,是一个完整的语言笛卡尔闭范畴。
2023-02-05 cs.LO cs.PL
Explicit Auditing
审计单位演算(英语:Calculus of Audited Units,CAU)是一种类型化的λ演算,源自于在Curry-Howard同构下对Artemov的证明逻辑的计算解释;它通过提供审计类型来扩展简单类型化的λ演算,这些审计类型由携带其过去计算历史的表达式占据。与大多数其他审计技术不同,CAU允许在运行时检查踪迹作为一流的操作,并应用于科学计算的安全性、调试和透明度。CAU的有效实现是具有挑战性的:不仅轨迹的大小快速增长,而且在每次beta缩减后都需要对其进行归一化。在本文中,我们研究了如何减少条款更有效地在无类型的变体CAU通过显式替换和显式审计操作,最后得出一个按值调用抽象机。
2018-08-01 cs.LO cs.PL
Stream Types
本文提出流类型及核心演算 lambda-ST,通过顺序组合、并行组合和迭代算子表达流的时序模式与并行结构,并以组合式编程和增量语义支持标点、窗口和并行分区等流处理惯用法。
2024-04-02 cs.PL
Type-Driven Prompt Programming: From Typed Interfaces to a Calculus of Constraints
本文提出类型驱动的提示编程框架Lambda Prompt,通过依赖类型演算与概率精化表达句法和语义约束,并针对约束表达与算法支持不足提出优化规则及编译器研究方向。
2025-08-17 cs.FL cs.PL
The dagger lambda calculus
我们提出了一种新的λ演算,将量子协议的分类方法引入到丰富而完善的类型论传统中。我们的构造扩展了线性类型的λ演算与线性否定的“trivialised”德摩根对偶。减少是通过明确的替代实现的,基于全局范围的绑定的对称概念,规则作用于整个类型判断,而不是特定的子项。证明的主题减少,汇合,强规范化和一致性,语言是一个内部语言匕首紧凑类。
2014-12-30 cs.LO cs.PL math.CT
Differential Logical Relations, Part I: The Simply-Typed Case (Long Version)
我们引入一种新形式的逻辑关系,在度量关系的精神,使我们能够分配给每一对程序的数量测量他们的距离,而不是一个布尔值代表他们是等价的。微分逻辑关系的新颖之处在于,不(一定)用数值来度量项之间的距离,而是用某种数学对象来度量,这种数学对象以某种方式反映了被比较项的交互复杂性,即类型。我们将这一概念推广到简单型的代数演算中,并给出了可靠性定理的一种形式。我们还看到普通的逻辑关系和度量关系可以被看作是微分逻辑关系的实例。最后,我们表明,微分逻辑关系可以组织在一个carbohydrate封闭范畴,相反度量关系,这是众所周知的没有这样的结构,但只有一个monoidal封闭范畴。
2019-04-27 cs.LO cs.PL
Higher-Order Pattern Complement and the Strict Lambda-Calculus
我们解决的问题,补充高阶模式没有重复的存在变量。与一阶情形不同,模式的补集一般不能用模式来描述,甚至不能用有限的模式集来描述。因此,我们推广了简单类型的类λ演算,使其包含严格函数的内部概念,这样我们就可以直接表示一个项必须依赖于给定的变量。我们表明,在这个更有表现力的演算,有限集的模式,没有重复的变量是封闭的补充和交叉。我们的主要应用是高阶逻辑程序中的否定变换方法。
2001-09-24 cs.LO cs.PL
Programming and Reasoning with Guarded Recursion for Coinductive Types
我们提出了守护的Alguda演算,简单类型的Alguda演算与守护递归和共归纳类型的扩展。保护递归类型的使用确保了良好类型程序的生产力。受模态逻辑和Atkey-McBride时钟量化启发的类型生成器可以将受保护的递归类型转换为共归纳类型,从而允许非因果函数的类型化。我们给出了演算的按名调用操作语义,并在树的拓扑中定义了适当的指称语义。充分性证明意味着程序的评估总是终止的。我们展示了表现力的演算显示的可定义性的解决方案Rutten的行为微分方程。我们介绍了一个程序逻辑与Löb归纳推理的上下文等价的程序。
2015-01-15 cs.LO cs.PL
Uniform Algebras: Models and constructive Completeness for Full, Simply Typed λProlog
本文为λProlog语言基础逻辑HOHH建立模型论,证明消解的可靠性与完备性,并利用最小不动点及Lindenbaum代数变体给出构造性证明,同时提出新的切割消去方法。
2024-05-23 cs.LO cs.PL math.LO
Hereditary Substitution for the λΔ-Calculus
遗传替换是类型有界迭代替换的一种形式,首先由沃特金斯等人和亚当斯明确提出,以显示各种构造性逻辑的证明项的规范化。本文是第一个应用遗传替代显示规范化的类型论对应于一个非建设性的逻辑,也就是说,三角洲演算制定的Zeroof。我们证明了简单类型的λ演算的遗传替换函数有一个非平凡的扩展到一个的λ-Delta演算。然后用遗传替换证明了归一化。
2013-09-05 cs.LO 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
Session Types in Abelian Logic
有一个博士生说:“我找到了一双木鞋。我在左边放了一枚硬币,在右边放了一把钥匙。第二天早上,我在另一只鞋里发现了这些东西。“我们并不声称存在这样的鞋子,但在类型化lambda演算的上下文中提出了类似的编程抽象。我们称之为Amida演算的结果推广了Abramsky的线性λ演算LF并刻画了Abel逻辑.
2013-12-10 cs.LO cs.PL
Hazelnut: A Bidirectionally Typed Structure Editor Calculus
结构编辑器允许程序员直接编辑程序的树结构。这可以带来认知方面的好处,特别是对于新手和最终用户程序员。它还简化了工具设计人员的工作,因为他们不需要处理格式错误的程序文本。本文定义了Hazelnut,一个基于小型双向类型的λ演算的结构编辑器,该演算扩展了孔和光标。Hazelnut超越了语法的良构性:它的编辑操作在静态有意义的不完整术语上操作。简单地说,这将迫使程序员以严格的“由外而内”的方式构造术语。为了避免这个问题,动作语义会自动将指定了与预期类型不一致的类型的术语放置在一个洞内。这安全地推迟了类型一致性检查,直到孔内的项完成。Hazelnut是类型化结构编辑的基本类型理论,而不是最终用户工具本身。为此,我们描述了如何榛子丰富的元理论,我们已经机械化的Agda,指导定义的扩展到微积分。我们还讨论了各种似是而非的评价策略,与孔的条款,并在这样做揭示了逐步类型化和上下文模态类型论,Curry-Howard解释的上下文模态逻辑的连接。最后,我们将讨论如何榛子的语义本身的实现作为一个功能反应程序。我们的参考实现是使用js_of_ocaml编写的。
2019-02-04 cs.PL
Syntactically and semantically regular languages of lambda-terms coincide through logical relations
本文证明简单类型λ-项的正则语言在语法(扩展Hillebrand-Kanellakis)与语义(有限外延模型)定义下等价,通过逻辑关系和胶合构造提供统一证明。
2024-02-08 cs.FL cs.LO cs.PL
Extended Initiality for Typed Abstract Syntax
初始语义学的目标是将与签名相关联的语法解释为某类“模型”的初始对象,为抽象语法产生归纳和递归原则。Zavió证明了一个简单类型语法的初始性结果:给定一个签名S,与S相关联的抽象语法构成了单子中S的模型范畴中的初始对象。然而,她的定理提供的迭代原则只考虑了在一组固定的对象类型上的两种语言之间的翻译。我们推广Zavió的模型概念,使对象类型可以变化,产生一个更大的类别,同时保持其中语法的初始性。因此,我们得到了一个扩展的初始性定理的类型化抽象语法,在不同类型的条款之间的翻译可以指定通过相关的范畴理论的迭代算子作为一个初始态射。我们的定义确保通过初始化指定的翻译是类型安全的,即在明显的意义上与源语言和目标语言中的类型兼容。我们的主要例子是通过命题作为类型的范例:我们指定命题和推理规则的经典和直觉命题逻辑通过各自的类型签名。然后,我们使用范畴论的迭代算子指定一个双重否定翻译从前者到后者。第二个例子是PCF的签名。对于这种特殊情况,我们在证明助手Coq中将定理形式化。然后,我们指定,通过范畴理论的迭代运算符,从PCF的无类型的λ演算的翻译。
2012-04-05 cs.LO cs.PL
Modules over monads and operational semantics (expanded version)
本文推广归约单子为转移单子,为多种编程语言演算提供高层数学规范工具,并设计相应签名概念。
2022-07-29 cs.LO cs.PL math.CT
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
Relational Reasoning for Markov Chains in a Probabilistic Guarded Lambda Calculus
我们扩展了简单类型的保护$λ$ -演算与离散概率,并赋予它一个程序逻辑的保护概率计算的关系属性的推理。这提供了一个框架的编程和推理的无限随机过程,如马尔可夫链。我们证明了逻辑的声音,解释其判断的拓扑结构的树,并通过使用概率耦合的语义分布在离散类型的关系断言。程序逻辑被设计为支持关系细化类型风格的语法导向证明,但保留了用离散分布扩展的高阶逻辑的表达能力,以及对具有不同类型或语法结构的表达式进行关系推理的能力。此外,我们的证明系统利用耦合文献中的一个著名定理来证明概率表达式的关系推理的更好的证明规则。我们用广泛的例子来说明这些好处,这些例子超出了以前系统的范围,包括随机游走之间的移位耦合和块耦合。
2018-02-27 cs.PL
On the Semantic Expressiveness of Iso- and Equi-Recursive Types
本文证明带同构递归和等价递归类型的简单类型lambda演算具有同等的语义表达能力,且与仅带项级递归的STLC等价,通过三个规范编译器的完全抽象和类型化近似反向翻译技术实现。
2024-11-13 cs.PL
Reconciling positional and nominal binding
我们定义了一个简单类型的λ演算的扩展,其中两种不同的绑定机制,通过位置和名称,很好地共存。在前者中,和标准λ演算一样,参数和自变量之间的匹配是在位置基础上完成的,因此α等价成立,而在后者中,它是在名义基础上完成的。这两种机制也分别对应于静态绑定和动态绑定,静态绑定在编译时检查参数的存在性和类型兼容性,动态绑定在运行时检查参数的存在性和类型兼容性。
2013-07-31 cs.LO cs.PL cs.SE
The Geometry of Bayesian Programming
本文为高阶贝叶斯编程的典范演算构建了交互几何模型,基于可测空间范畴,并证明其相对于分布和采样操作语义的充分性。
2019-04-16 cs.PL
Normalization by Evaluation for Call-by-Push-Value and Polarized Lambda-Calculus
我们观察到,标准化评估简单类型的λ演算与弱余积可以进行在一个弱双carbohydrate封闭范畴的预层配备了单子,使我们能够执行的情况下区分中性条款的总和类型。单子的位置影响我们得到的范式:例如,把单子放在余积上,我们得到η长的β-π范式,其中π是指排除位置之外的格区别的排列。我们进一步观察到,将单子放在每一个联积上是相当浪费的,单子的最佳放置可以通过考虑受聚焦启发的极化简单类型来确定。极化将类型分为正类型和负类型,将正类型嵌入负类型时放置单子就足够了。我们考虑两个基于极化类型的演算:纯推值调用(CBPV)和极化的λ演算,自然演绎演算对应于聚焦递归演算。对于这两个结石,我们提出的算法进行规范化的评价。我们进一步讨论了不同的实现单子和它们的关系,现有的规范化证明的λ演算和。我们的发展已部分正式在阿格达证明助手。
2019-02-16 cs.LO cs.PL math.LO
Java & Lambda: a Featherweight Story
该论文提出 FJ&$\lambda$ 核心演算,扩展 Featherweight Java 以支持接口、lambda 表达式和交集类型,形式化其在 Java 8 中的嫁接,并证明类型安全性质及给出类型推断算法。
2018-09-03 cs.LO cs.PL
From Linear Logic to Cyclic Sharing
我们提出了一个翻译从乘法指数线性逻辑到一个简单类型的λ演算与循环共享。这个翻译是从对追踪monoidal范畴的int-结构的简单观察中得出的。事实证明,翻译是一个混合的按名称呼叫CPS翻译和几何互动为基础的解释。
2019-04-15 cs.LO cs.PL
A formalization of System I with type Top in Agda
Universidad Nacional de Rosario(罗萨里奥国立大学);Universidad Nacional de Quilmes(基尔梅斯国立大学);Instituto de Investigación en Ciencias de la Computación (ICC), CONICET / Universidad de Buenos Aires(计算机科学研究所(ICC),阿根廷国家科学研究委员会 / 布宜诺斯艾利斯大学)
本文提出带有类型Top的System I变种,并用Agda形式化了该算术,包含进度和强归约的证明。
2026-03-24 cs.LO cs.PL
Semi-Automation of Meta-Theoretic Proofs in Beluga
本文提出一种用于Beluga核心逻辑的可靠完备聚焦演算,并实现为Harpoon中的策略,自动完成简单子情形,简化了简单类型λ演算的弱头规范化证明。
2023-11-17 cs.LO cs.PL
Continuation-passing Style Models Complete for Intuitionistic Logic
一类模型,在连续单子的形式多态的一阶个人,这是健全的和完整的最小直觉谓词逻辑。证明的健全性和完整性是建设性的,其组成的计算内容,特别是一个$β$ -规范化的评估程序简单类型的lambda演算和类型。虽然灵感来自Danvy的类型导向部分求值器,但避免了分隔控制运算符(即计算效果)的必要使用。多态性的作用是至关重要的--去掉它可以让我们获得经典谓词逻辑的模型完备的概念。我们的模型和克里普克模型之间的联系是通过加强双重否定转移图式来实现的。
2011-03-03 cs.LO cs.PL math.LO