Weak Affine Light Typing: Polytime intensional expressivity, soundness and completeness
弱仿射轻类型化(WALT)将轻仿射线性公式作为类型分配给系统F中的一个子集。WALT是多时间声音:如果一个非线性项M在WALT中有类型,那么M可以用一个多项式成本在给它一个类型的推导的维度上进行计算。特别地,评估可以在重写关系的任何策略下进行,作为按名称调用/按值调用的beta约简的混合获得。WALT是多时间完备的,因为它可以表示任何多时间图灵机。WALT削弱,即推广,分层的概念共同演绎一些轻系统-我们呼吁这些逻辑系统,来自线性逻辑,以表征FP,一套多项式函数-。较弱的分层允许将安全递归表示法(SRN)的准线性片段QISRN的合成嵌入定义到WALT中。QISRN是SRN,其是表征FP的递归理论系统,其中仅组合方案被限制为线性安全变量。因此,与已知的光系统相比,WALT的表现力更强。特别是,使用的类型,嵌入证据分层的正常和安全的参数隐藏在QISRN:少一个参数是不可预测的,更深,在一个正式的,证明理论的意义上,得到它的代表性在WALT。
2008-03-31 cs.LO
Principal Typing for Intersection Types, Forty-Five Years Later
University of Turin(都灵大学)
本文通过三种基本操作设计半算法,计算强归约项的主类型,为交集类型中的主类型属性提供现代视角。
2026-03-04 cs.LO
Focusing on Refinement Typing
本文结合聚焦 call-by-push-value、双向类型推导和值确定索引,构建可生成无存在变量 SMT 约束的精化类型系统,并证明其算法可靠、完备、可判定及语义正确。
2023-08-16 cs.LO cs.PL
Typing Classes and Mixins with Intersection Types
我们研究了一个具有记录和记录合并算子的代数演算的交集类型赋值系统,其中类型在主题缩减和扩展下都保持不变。演算的表达能力足以自然地将mixin表示为递归定义的类上的函数,类的固定点(对象)是递归记录。尽管定义中涉及到双重递归,但类和mixin可以有意义地类型化,而无需求助于递归或F有界多态类型。然后,我们将mixin构造和组合适应于Java和C#,仅依赖于现有的功能,从而使生成的代码在各自的类型系统中保持可类型化。我们展示了一些示例代码,并研究其在交叉类型系统中的类型,通过解释到我们所提出的记录的代数演算。
2015-03-17 cs.LO cs.PL cs.SE
A Faithful and Quantitative Notion of Distant Reduction for the Lambda-Calculus with Generalized Applications
本文提出带广义应用的按名调用λ演算λJn,利用远距离归约避免置换转换,通过定量类型系统完整刻画强正规化,并建立与显式替换演算的忠实翻译关系。
2024-07-26 cs.LO
Weak Affine Light Typing is complete with respect to Safe Recursion on Notation
弱仿射轻类型化(WALT)将轻仿射线性公式作为类型分配给系统F的一个子集。WALT是多时间声音:如果一个非线性项M在WALT中有类型,那么M可以用一个多项式成本在给它一个类型的推导的维度上进行计算。评估在重写关系的任何策略下进行,该重写关系是按名称调用和按值调用的beta约简的混合。WALT削弱,即概括,概念“分层的扣除”,共同的一些光系统-这些逻辑系统,来自线性逻辑,以表征一套多项式函数-。一个较弱的分层允许定义一个组合嵌入安全递归符号(SRN)到WALT。事实证明,WALT的表现力比已知的光系统强得多。嵌入通过SRN的子系统的表示。它是通过限制SRN的合成方案只能线性使用其安全变量而得到的。一方面,这表明SRN实际上可以用更原始的结构来重新定义。另一方面,将SRN嵌入到WALT中具有以下两个显著的方面。嵌入所需的每个数据类型都是从头开始表示的,显示了WALT强大的结构证明理论根源。此外,嵌入突出了一个分层结构的正常和安全的参数,通常隐藏在世界的SRN正常/安全变量:少一个参数是“多项不可预测的”,更深,在一个正式的,证明理论的意义上,它是表示内WALT。最后,由于WALT是SRN完备的,它也是多项式时间完备的,因为SRN是。
2008-04-04 cs.LO
Intersection Types for the lambda-mu Calculus
我们介绍了一个交叉型系统的的Yuda-mu演算是不变的主题减少和扩展。该系统是通过描述Streicher和Reus的指称模型的连续的范畴内的欧米茄代数格通过Abramsky的域逻辑方法。这同时提供了类型系统的解释,并通过过滤器模型构造证明了系统相对于连续模型的完备性。然后,我们定义了我们的系统的限制,这样的一个denda-mu项是可类型的,当且仅当它是强规范化的。我们还表明,Parigot的typing与经典有效的命题公式,Muda-mu条款可以被翻译到限制系统,然后提供了一个替代的证明强规范化的类型Muda-mu演算。
2018-01-09 cs.LO
Guard Analysis and Safe Erasure Gradual Typing: a Type System for Elixir
Université Paris Cité(巴黎西岱大学);CNRS(法国国家科学研究中心)
本文为 Elixir 语言形式化了一个结合渐进类型与语义子类型的新类型系统,通过运行时检查和守卫分析实现精确、可靠且实用的静态类型分析,并提出了“强函数”和守卫细粒度分析两项关键创新,在保持兼容性和性能的同时确保类型安全性。
2026-10-26 cs.LO cs.PL
An extended type system with lambda-typed lambda-expressions (extended version)
本研究提出源自Automath项目相关的扩展类型系统$\texttt{d}$,新增存在抽象与命题算子、扩展$\beta$-归约,证明其汇合性等性质,说明需补充公理适配有限逻辑强度,并附系统扩展变体讨论。
2024-12-14 cs.LO
Sound and Complete Bidirectional Typechecking for Higher-Rank Polymorphism with Existentials and Indexed Types
双向类型检查(Bidirectional typechecking),其中术语要么合成一个类型,要么针对一个已知类型进行检查,由于其对各种类型系统的适用性、错误报告以及易于实现而变得流行。遵循证明论的原则,双向类型可以应用于许多类型构造。索引类型(广义代数数据库)的双向方法背后的原则不太清楚。建立在证明理论的平等待遇,我们给出了一个声明性规范的基础上聚焦类型。这种方法允许使用声明性规则来覆盖模式匹配,以及使用聚焦子类型判断来支持第一类存在类型。我们使用细化类型来避免在我们的术语语法中显式地传递相等性证明,使我们的演算类似于Haskell和OCaml等语言。我们还扩展了一个明确的规则推导时,类型是主要的声明性规范,使我们能够给一个完整的声明性规范丰富的类型系统与显着的类型推断。我们还给出了一组算法类型规则,并证明了它是健全的和完整的声明系统。证明需要一些技术创新,包括以相互递归的方式证明可靠性和完整性。
2020-09-19 cs.LO cs.PL
A Quantum-Control Lambda-Calculus with Multiple Measurement Bases
Université de Lorraine(洛林大学);CNRS(法国国家科学研究中心);Inria(法国国家信息与自动化研究所);Universidad Nacional de Quilmes(基尔梅斯国立大学);Universidad Argentina de la Empresa(阿根廷企业大学);Universidad de la República(共和国大学)
Lambda-SX是一种支持多种测量基的量子λ演算,通过类型系统实现对测量的灵活控制和组合推理,展示了在量子编程语言中整合多种基的可行性。
2025-08-21 cs.LO quant-ph
Factoring Derivation Spaces via Intersection Types (Extended Version)
在典型的非幂等交集型系统中,证明规范化是不融合的。本文引入了一个合流非幂等交型系统。类型推导使用证明项语法。该系统具有良好的性能:主题减少,强规范化,和一个非常正规的残差理论。通过模拟定理建立了与微积分的对应关系。非幂等交集类型的机制允许我们跟踪获得答案所需的资源的使用情况。特别是,它引入了垃圾的概念:如果计算对获得答案没有贡献,那么它就是垃圾。使用这些概念,我们表明,一个的派生空间的一个ESTA项可以因式分解使用的Grothendieck建设半格的一个变种。这意味着,特别是,任何推导在Aidda演算可以被唯一地写为一个无垃圾前缀后跟垃圾。
2019-07-20 cs.LO
Probabilistic Termination by Monadic Affine Sized Typing (Long Version)
我们引入了一个系统的一元仿射大小的类型,这基本上概括了通常的大小类型,并允许这种方式来捕捉概率高阶程序几乎肯定终止。超越普通的、强规范化而不失去可靠性是一项艰巨的任务,如果没有更丰富的、定量的类型概念,而且没有施加一些亲和性约束,这是无法完成的。建议的类型系统是强大的,足以类型的经典例子的概率终止程序,如随机游走。类型化程序被证明几乎必然终止的方法是基于归约的,但需要对该技术进行实质性的修改。
2017-01-15 cs.LO cs.PL
On Dynamic Lifting and Effect Typing in Circuit Description Languages (Extended Version)
在量子计算领域,电路描述语言代表了传统QRAM风格语言的有效替代方案。它们确实允许对输出电路进行更精细的控制,而不会牺牲灵活性和模块化。我们介绍了一个概括的范式的演算原型Quipper-M,本身建模的量子电路描述语言Quipper的核心功能。该扩展名为Proto-Quipper-K,旨在捕获一种非常通用的动态提升形式。这是通过引入一个丰富的类型和效果系统而实现的,在这个系统中,不仅计算有效,而且类型本身也有效。我们给引进的语言的主要结果是经典的类型健全的结果,即主题减少和进步。
2022-02-15 cs.LO cs.PL quant-ph
Verification of Ptime Reducibility for system F Terms: Type Inference in<br> Dual Light Affine Logic
在以前的工作中,Baillot和Terui介绍了双轻仿射逻辑(DLAL)作为轻线性逻辑的一种变体,适用于保证λ演算项的复杂性:所有可类型化的项都可以在多项式时间内通过beta约简进行评估,并且可以表示所有Ptime函数。在目前的工作中,我们解决的问题,在二阶DLAL的类型的DLDA项。为此,我们给出了一个过程,从系统F中的一个项开始,确定它在DLAL中是否可类型化,并输出一个具体的类型化,如果存在的话。我们表明,我们的程序可以运行在时间多项式的大小,原来的教会类型的系统F项。
2007-11-15 cs.CC cs.LO
Intersection Types for a Computational Lambda-Calculus with Global State
本文研究带全局存储读写操作的无类型 lambda 演算,利用 monad 建模副作用,建立操作语义、指称语义与交集类型系统,并证明类型不变性及收敛项的类型刻画。
2025-08-27 cs.LO cs.PL
Non-idempotent intersection types in logical form
交集类型是分析函数式程序和非函数式程序的运算和指称性质的重要工具。其中,非幂等交集类型提供了有关术语和程序评估的精确定量信息。然而,与简单类型或二阶类型不同,交集类型不能被认为是一个逻辑系统,因为应用规则(或交集规则,取决于系统的表示)涉及一个条件,表示前提的证明满足一个非常强的一致性条件:底层的条件项必须相同。使用早期的工作引入索引版本的线性逻辑,我们表明,非幂等类型可以给出一个逻辑形式的系统中,公式表示遗传索引家庭的交叉类型。
2019-11-05 cs.LO
Universal Semantics for the Stochastic Lambda-Calculus
我们为随机λ演算定义了合理的和充分的指称和操作语义。这两种语义方法建立在以前的工作,使用类似的技术来推理高阶概率程序,但第一次承认一个充分性定理有关的操作和指称的意见。这解决了(Bacci等人,2018)中未解决的主要问题。
2021-05-14 cs.LO
Dynamic Type Inference for Gradual Hindley--Milner Typing
Garcia和Cimini研究了ITGL的类型推断问题,并为ITGL开发了一个可靠的完整的推断算法。可靠性和完整性意味着,如果算法成功,输入项可以通过强制转换插入转换为显式类型的责备演算的良好类型项,反之亦然。然而,一般来说,根据静态类型推断未确定的类型变量如何用具体的静态类型实例化,有许多可能的转换。更糟糕的是,翻译后的术语可能会表现得不同-有些评价价值观,但其他人则提出指责。在本文中,我们提出了一个新的责任演算$λ^{\textsf{DTI}}_{\textsf{B}}$,避免了这种分歧的ITGL的中间语言和形式化。一个主要的想法是允许一个术语包含类型变量(在静态类型推断期间没有被实例化),并将这些类型变量的实例化推迟到运行时间。我们将动态类型推断(DTI)引入到$λ^{\textsf{DTI}}_{\textsf{B}}$的语义中,使得类型变量沿着约简被实例化。基于DTI的语义不仅避免了上述分歧,而且在以下意义上相对于完全实例化的项的语义是合理和完整的:终止于值),则存在该术语的完全实例化版本,该完全实例化版本也在显式类型化的归咎演算中成功,反之亦然。最后,我们证明了ITGL的渐进保证,这是渐进类型语言的一个重要的正确性准则。
2018-11-09 cs.LO cs.PL
A type assignment for lambda-calculus complete both for FPTIME and strong normalization
隐式计算复杂性的目标之一是设计具有有限计算复杂性的程序设计语言;事实上,保证和证明有限的资源使用对于计算机科学的各个方面都是至关重要的。一个更有前途的方法,这一目标是基于使用λ演算作为范式程序设计语言和设计的类型分配系统的λ条款,类型保证功能的正确性和复杂性的限制。在这里,我们提出了一个系统的分层类型,启发交叉类型,其中交叉是一个非关联运算符。该系统,称为STR,是正确的和完整的多项式时间的计算,而且,所有的强规范化的条款类型在它,从而增加了相对于以前的建议类型的权力。此外,STR相对于先前的系统STA享有更强的表现力,因为它允许键入迭代的受限版本。
2014-10-23 cs.CC cs.LO
Adding Negation to Lambda Mu
本文提出 Parigot 的 $λμ$-演算的扩展系统 $\cal L$,通过引入否定类型构造子及相关归约规则,证明了其主语归约、合流性、强可归约性及主类型性质。
2023-05-24 cs.LO
A Complete Characterization of Complete Intersection-Type Theories
我们描述了这些交集类型论,产生完整的交集型分配系统的代数演算,相对于三个典型的集合理论的交集型语义:推理语义,简单语义和F-语义。这些语义的产生是通过将可应用结构的类型子集的解释,作为交集构造函数集合论包含的解释,以及将箭头构造函数a 'la Scott的解释,关于任何可能的功能集,或最大的一个,或最小的一个。这些结果加强和推广显着所有早期的结果在文献中,据我们所知,在至少三个方面。首先,推理语义在以前没有被考虑过。其次,这些刻画都是根据类型上的前序关系的简单闭包条件给出的,而不是根据类型判断本身给出的。因此,检查条件的任务变得相当容易处理。最后,我们并不局限于注意力仅仅是一个解释模型,但任意的应用结构,承认一个解释功能。因此,我们也允许治疗模型的限制性肾结石。尽管如此,我们给出的特征可以仅适用于非线性模型的情况。
2000-11-23 cs.LO
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
Deconfined Global Types for Asynchronous Sessions
本文提出一种改进的异步多参与者会话类型系统,在满足良构条件时保留主体归约、会话保真和进展性质,并配有健全完备的类型推断算法,通过检查良构条件的受限形式恢复类型化的有效性。
2023-01-12 cs.LO cs.PL
Tight Typings and Split Bounds
多类型--又名非幂等相交类型--已被用来获得高阶程序的定量界限,由de Carvalho开创。值得注意的是,它们同时限制了评估步骤的数量和结果的大小。最近的结果表明,步骤的数量可以作为一个合理的时间复杂度的措施。然而,与此同时,这些结果表明,多类型提供了相当宽松的复杂性界限,因为结果的大小可以指数地大于步骤的数量。从这个观察开始,我们完善和推广的技术介绍Bernadet和Graham-Lengrand提供确切的界限的最大战略。我们的打字判断带有两个计数器,一个测量评估长度,另一个测量结果大小。为了强调模块化的方法,我们提供了四个评价策略的确切界限,无论是在微积分(头,最左最外,最大的评价)和线性替代演算(线性头评价)。我们的工作旨在捕捉文献中的结果,并将其扩展为新的结果。在文献方面,它通过统一的技术和基于复杂性的视角将卡瓦略和伯纳黛特与格雷厄姆-朗格朗统一起来。两个主要的新颖性是最左边的策略的精确分割界限-唯一已知的将项评估为完整的范式并提供合理的复杂性度量的策略-以及观察到隐藏在多类型背后的计算设备是远距离替换的概念,如线性替换演算所实现的。
2018-07-06 cs.LO cs.PL
Intersection Type Distributors
我们研究了一类分布诱导的双范畴演算模型,证明了它们可以通过交集型系统在语法上表示。我们首先介绍了一类2单子,其代数是monoidal范畴建模资源管理。我们解除这些单子的分销商,并定义了一个参数Kleisli双范畴,给出了一个充分条件,其carnival封闭。在这个框架中,我们定义了一个证明相关的语义:一个术语的解释关联到它的一组在适当的系统中的类型推导。我们证明了我们的模型特征的可解性,适应约简技术,我们的设置。最后,我们描述了我们的建设的两个例子。
2021-05-05 cs.LO
Toward Isomorphism of Intersection and Union types
本文研究了具有交和并类型的代数演算的类型同构。众所周知,在微积分中,两种类型之间的同构是由一对相互逆的项实现的。值得注意的是,可逆项是特定形状的线性项,称为有限遗传置换子。然后,在线性项的交、并类型的相关类型推断系统中,研究了有限遗传置换子的类型性质。特别地,定义了类型之间的同构保持约简。类型归约是汇合的和终止的,并引入了类型的范式的概念。正规类型的性质是完全刻画类型同构的关键一步。本文的主要结果是,一方面证明了具有相同范式的两个类型是同构的,另一方面证明了在范式中两个类型之间同构的特征,箭型的模同构。
2013-07-31 cs.LO
Intersection Types for the Computational lambda-Calculus
我们研究多态类型分配系统的非类型的的影响,基于Moggi的单子方法。从单子的抽象定义出发,我们引入了一个基于Wadler的变体的按值调用的计算型微积分,该变体具有单元和绑定组合子,并且没有let。我们定义了一个概念,减少演算,并证明它是合流的,我们也涉及到我们的演算的原始工作的莫吉表明,他的无类型的元语言可以解释和模拟在我们的演算。然后,我们介绍了一个交集型系统启发Barendregt,Coppo和Dezani系统的普通λ演算,建立转换下的类型不变性,并通过逆极限和过滤器模型的构造提供了演算的模型,并将它们联系起来。我们证明了类型系统的可靠性和完备性,以及主题缩减和扩展属性。最后,我们引入了一个收敛的概念,这是完全相关的减少,并通过其类型的收敛项的特征。
2020-02-07 cs.LO
Logical Relations for Monadic Types
逻辑关系及其推广是证明微积分性质的基本工具,例如,从而得出观测等价性的合理原则。我们提出了一个自然的概念,逻辑关系能够处理的单子类型的莫吉的计算计算的微积分。治疗是绝对的,是基于subsconing,单因子分解系统和单子态射的概念。我们的方法有一些有趣的应用程序,包括非确定性(在逻辑关系意味着是bisilimeric),动态名称创建,和概率系统的情况下,Alcuda演算。
2008-03-04 cs.LO
Linear lambda terms as invariants of rooted trivalent maps
本文的主要目的是对这种对应关系作一个简单的概念性解释(最初由Bodini,Gardy和Jacquot描述)在无边界的紧致定向曲面上的闭线性lambda项的$α$ -等价类和有根三价映射的同构类之间,作为具有自由变量上下文的线性λ项和具有自由边边界的有根三价映射之间的更一般对应关系的实例。我们首先回顾一个熟悉的图形表示的线性lambda条款,而在同一时间解释如何这样的图可以正式阅读作为一个符号的自反对象在一个对称monoidal封闭(双)范畴。从那里,对应的“容易”方向是一个简单的健忘操作,它擦除线性lambda项图上的注释,以产生一个有根的三价映射。另一个方向将线性lambda项视为其底层有根三价映射的完全不变量,通过自由边映射上的Tutte式拓扑递归重建丢失的信息。作为组合数学中的一个应用,我们使用这种分析来枚举无桥有根三价映射作为线性lambda项,不包含封闭的真子项,并得出结论,给出一个自然的四色定理的重新表述作为一个关于λ演算中的类型的声明。
2017-05-04 cs.LO math.CO math.CT
Higher-Order Equational Pattern Anti-Unification [Preprint]
我们认为反统一的简单类型的lambda项在联想,交换和联想交换理论,并制定了一个健全的和完整的算法,需要两个lambda项和计算其概括的形式,高阶模式。这个问题是有限的:最小的完整的推广集包含100多个元素。我们定义的最优解的概念,并调查特殊的片段的问题,最优解可以计算在线性或多项式时间。
2018-01-23 cs.LO
Computational Adequacy for Substructural Lambda Calculi
子结构类型系统,例如仿射(和线性)类型系统,是对变量的复制(和丢弃)施加限制的类型系统,并且它们在计算机科学中有许多应用,包括量子编程。我们描述了一个线性和仿射型系统,我们制定了抽象的分类模型,它们都是健全的和计算足够的。我们还表明,在基本假设下,解释lambda抽象通过一个monoidal封闭结构(一种流行的方法,线性类型系统)必然导致退化和不足的模型调用值仿射型系统递归。在我们的分类处理中,清楚地提出了这个问题的解决方案。我们的分类模型比用于研究线性逻辑的线性/非线性模型更一般,并且我们在按值调用设置中提出了线性和仿射类型系统的齐次分类帐户。我们还给出了许多具体模型的例子,包括经典和量子模型。
2021-01-26 cs.LO
Inhabitation for Non-idempotent Intersection Types
本文研究了非幂等交集类型的居留问题,针对刻画可解或强规范化lambda项的系统,提供了可靠且完备的算法,证明了其可判定性。
2018-08-02 cs.LO
Programming and Reasoning with Guarded Recursion for Coinductive Types
我们提出了守护的Alguda演算,简单类型的Alguda演算与守护递归和共归纳类型的扩展。保护递归类型的使用确保了良好类型程序的生产力。受模态逻辑和Atkey-McBride时钟量化启发的类型生成器可以将受保护的递归类型转换为共归纳类型,从而允许非因果函数的类型化。我们给出了演算的按名调用操作语义,并在树的拓扑中定义了适当的指称语义。充分性证明意味着程序的评估总是终止的。我们展示了表现力的演算显示的可定义性的解决方案Rutten的行为微分方程。我们介绍了一个程序逻辑与Löb归纳推理的上下文等价的程序。
2015-01-15 cs.LO cs.PL
From Semantics to Types: the Case of the Imperative lambda-Calculus
我们提出了一个交叉型系统的一个强制性的基于状态单子和代数运算的演算读取和写入存储。该系统是通过求解一个合适的域方程的欧米茄代数格的范畴;该解决方案包括一个过滤器模型推广了著名的建设普通的λ演算。然后,类型系统从过滤器模型本身的术语解释中获得。这样得到的类型系统满足“类型语义”属性,并且通过构造它是可靠的和完备的。
2021-12-28 cs.LO cs.PL
A Cut-free, Sound and Complete Russellian Theory of Definite Descriptions
本文构建了一种带 λ 项与限定摹状词的一阶逻辑矢列演算,在保持罗素式立场的同时将摹状词视为真正项,并给出无切分、构造性切消与 Henkin 式完备性证明。
2024-12-04 cs.LO math.LO
Metric Equational Theories
Heriot-Watt University(赫瑞-瓦特大学);University of Strathclyde(斯特拉斯克莱德大学)
本文结合QET与Enriched Lawvere Theories,将运算元数扩展至可数度量空间,提出了适用于度量空间代数结构的Metric Equational Theories及其可靠完备的证明系统。
2025-09-17 cs.LO
A Quantitative Understanding of Pattern Matching
本文表明,最近的方法定量分类系统的程序设计语言可以扩展到模式匹配功能。事实上,我们定义了两个资源感知类型系统,命名为U和E,一个带对的模式和术语配备了一个可编程演算。我们的打字系统借用了[BKRDR15]的一些基本思想,它以定性的方式描述了(头部)规范化,在这个意义上,可打字性和规范化是一致的。但与[BKRDR15]相反,我们的(静态)系统还提供了有关微积分动力学的定量信息。实际上,系统U提供了归一化序列的长度加上它们相应的范式的大小的上界,而系统E,可以被看作是系统U的细化,为它们中的每一个产生精确的界限。这是通过配备有不同技术工具的非幂等相交类型系统来实现的。首先,我们使用乘积类型来对配对进行分类,而不是[BKRDR15]中的不相交联合,从而避免了“成为一对”和“可复制”之间的重叠,从而成为一个重要的工具来推理数量性。其次,系统E中的类型序列用整数元组装饰,其提供关于归一化序列的定量信息,特别是时间(参见图1)。长度)和空间(c.f.尺寸)。系统E的另一个关键工具是类型系统区分消费(贡献时间)和持久(贡献空间)构造函数。此外,时间资源信息被显著地细化,因为它区分在评估期间执行的不同种类的约简步骤,使得β约简、替换和匹配步骤被单独地计数。
2019-12-04 cs.LO cs.PL
Secure Information Flow Typing in LUSTRE
同步反应式数据流是一种为嵌入式和网络物理系统(包括物联网系统的本地同步组件)提供高级抽象编程模型的范例。由于低层次的编程、定义不明确的接口和不注意数据的安全分类,这些系统的安全性受到严重损害。通过将丹宁风格的基于格的安全信息流框架到一个同步反应数据流语言,我们提供了一个框架,在该框架中,正确和安全的建设实现这样的系统可以指定和派生。特别是,我们提出了一个安全类型系统的光泽编程框架的扩展。我们的类型系统的新颖之处在于在安全类型变量的约束,特别是节点调用的治疗,这使我们能够对任何安全类格的安全流的原因的象征性制定。的主要定理是我们的类型系统的健全性方面的共同归纳操作语义的光泽,我们证明了良好的类型的程序表现出不干扰。而不是处理完整的语言,我们首先证明了一个行为良好的子语言称为“规范化光泽”(NLustre),我们的类型系统要简单得多的非干扰结果。然后,我们表明,伯克等人。从Lustre到NLustre的语义保持“规范化”转换也是安全保持的。这种通过规范化转换对安全类型的保留是一种类似于“主题归约”的属性,但在编译器转换的级别上。的主要结果,良好的安全类型的光泽程序是不干扰以下从减少到我们早期的结果不干扰NLustre通过语义保存(Bourke等人)。和类型保存结果。
2022-01-01 cs.LO cs.PL
Strong normalization through idempotent intersection types: a new syntactical approach
Università di Torino(都灵大学);CONICET—Universidad de Buenos Aires(阿根廷国家科学研究委员会—布宜诺斯艾利斯大学);Universidad Nacional de Quilmes(基尔梅斯国立大学)
本文提出了一种基于幂等交集类型的语法方法,通过度量证明强规范性,扩展到两种交集类型系统。
2026-02-27 cs.LO
Quantitative Global Memory
本研究将基于量化类型系统的静态分析方法扩展至带全局状态的按值调用语言,构建了可精确度量程序求值时空开销的紧致多类型语义模型,并验证了其量化可靠性与完备性。
2023-06-16 cs.LO cs.PL
A Logic Programming Playground for Lambda Terms, Combinators, Types and Tree-based Arithmetic Computations
有了健全的统一,确定性子句语法和紧凑的组合生成算法的表达,逻辑编程方便地主机的声明性游乐场,有趣的属性和行为出现从异构的,但深连接的计算对象的相互作用。给出了几类lambda项的紧致组合生成算法,包括开项、闭项、单型项和线性项,以及类型推断和正规阶约简算法。我们描述了一个基于Prolog的组合lambda术语生成器和类型推断器,用于给定大小的封闭良好类型的术语,在de Bruijn符号。我们介绍了一个压缩的德布鲁因表示的lambda条款,并定义其双射的标准表示。我们的压缩条款便于推导的大小比例的排名和排名算法的lambda条款和推断的简单类型。S和K组合子表达式形成了λ演算的一个著名的图灵完备子集。我们指定的评估,类型推断和组合生成算法的SK-组合子树。在这个过程中,我们解开的属性,其结构和分布的有趣方面提供了新的光。一个统一的表示,作为二叉树与空叶,给出了表达式建立与罗瑟的X-组合子,自然数,lambda条款和简单的类型。利用这种共享表示,描述了基于树的自然数的lambda项的排序/反排序算法。我们的算法,表示为一个渐进式开发的文学Prolog程序,实现了一个声明性的游乐场,用于探索表示,编码和计算,统一表示的lambda术语,类型,组合子和基于树的算术。
2015-07-24 cs.LO cs.PL
Continuation-passing Style Models Complete for Intuitionistic Logic
一类模型,在连续单子的形式多态的一阶个人,这是健全的和完整的最小直觉谓词逻辑。证明的健全性和完整性是建设性的,其组成的计算内容,特别是一个$β$ -规范化的评估程序简单类型的lambda演算和类型。虽然灵感来自Danvy的类型导向部分求值器,但避免了分隔控制运算符(即计算效果)的必要使用。多态性的作用是至关重要的--去掉它可以让我们获得经典谓词逻辑的模型完备的概念。我们的模型和克里普克模型之间的联系是通过加强双重否定转移图式来实现的。
2011-03-03 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
A Type Checker for a Logical Framework with Union and Intersection Types
我们提出的语法,语义和类型规则的公牛,一个原型定理证明的基础上的三角洲框架,即一个完全类型化的Alkida演算装饰与工会和交叉类型,如作者在以前的论文中所描述的。Bull还实现了Barbanera-Dezani-de'Liguoro的类型论Xi的子类型算法。Bull有一个命令行界面,用户可以在其中声明公理,术语,并执行计算和一些基本的终端风格的功能,如错误漂亮打印,子表达式突出显示和文件加载。此外,它可以对证明进行类型检查或规范化,这些项可能是不完整的,因此类型检查算法使用统一来尝试构建缺失的子项。Bull使用Berardi的纯类型系统的语法来提高内核的紧凑性和模块性。抽象语法和具体语法基本上是一致的,并且与Coq的具体语法相似。Bull对术语使用高阶统一算法,而类型检查和部分类型推断是通过双向细化算法完成的,类似于Matita和Beluga中发现的算法。精化可以分为两个部分:本质精化和类型精化。绑定器使用常用的de Bruijn索引实现。我们已经定义了一个具体的语言语法,允许用户编写Delta-terms。我们已经定义了约简规则和评价器。我们从头开始实现了一个细化器,它可以进行部分类型检查和类型重构。我们已经实验了公牛经典的例子的交集和工会的文学,如形式化的Pfenning与他的细化类型在LF。我们希望,这种研究静脉可能是有用的实验,在证明理论的设置,形式的多态性替代吉拉德的参数…
2020-02-25 cs.LO cs.PL
Recovering Purity with Comonads and Capabilities
在本文中,我们采用了一种普遍有效的(ML风格的)类型λ演算,并展示了如何扩展它以允许捕获具有类型的纯表达式。我们的关键观察是,正如纯简单类型的λ演算可以扩展到支持一元类型规则的效果,不纯类型的λ演算可以扩展到支持一元类型规则的纯度。我们通过一个简单的指称模型来建立我们的类型系统的正确性,我们称之为能力空间模型。我们的模型形式化的直觉常见的系统程序员,执行效果的能力应该通过访问权限或能力进行控制,一个程序是能力安全的,如果它没有执行效果,它没有一个运行时的能力。然后,我们确定的公理范畴结构的能力空间模型验证,并使用这些公理给我们的comonadic类型系统的范畴语义。然后,我们给出了一个等式理论(替代和调用的值$β$和$η$法律)的命令λ演算,并显示其可靠性相对于此语义。最后,我们给出了一个翻译的纯简单类型的λ演算到我们的共同命令演算,并表明,任何两个条款是$βη$ -平等的STLC是平等的共同命令演算的方程理论,建立纯程序可以映射到我们的命令演算在一个方程保持的方式。
2020-11-10 cs.LO cs.PL
A Complete V-Equational System for Graded lambda-Calculus
本文为引入分级模态类型的 lambda 演算提出了一个可靠且完备的 V-等式系统,放宽了线性约束,允许受控地多次使用资源,并通过 Lipschitz 指数余单子构建了相应的模型,应用于定时和概率行为程序的分级度量等式系统。
2023-11-17 cs.LO math.CT
Clones, closed categories, and combinatory logic
本文用多元结构阐释简单类型λ演算的语义,引入外延SK-克隆并证明其可靠完备,进而证明不含产品的简单类型λ演算是SK-范畴的内部语言。
2024-05-02 cs.LO math.CT