Order-Sorted Intensional Logic: Expressing Subtyping Polymorphism with Typing Assertions and Quantification over Concepts
KU Leuven(鲁汶大学)
针对有序排序逻辑在知识表示中处理非逻辑符号概念及约束项类型的局限,提出受保护的有序排序内涵逻辑,通过类型标注保护构造和概念量化支持,以表达子类型多态性。
2025-02-13 cs.AI cs.LO
NOOP: A Domain-Theoretic Model of Nominally-Typed OOP
大多数工业级面向对象(OO)软件都是使用名义类型的OO程序设计语言编写的。现存的领域理论模型的面向对象程序开发分析面向对象类型系统错过了,但是,这些主流的面向对象语言的一个重要特征:名词性。本文介绍了NOOP的建设作为第一个领域理论模型的OOP,其中包括完整的类/类型名称信息中找到名义类型的OOP。在NOOP的对象中包含名义信息,并断言静态类型OO程序设计语言中的类型继承是一个固有的名义概念,可以很容易地证明类型继承和子类型在这些语言中是完全确定的。这一结论与这些OO语言的开发人员和语言设计者的直觉完全一致,并且与“继承不是子类型”的信念相反,后者来自于假设非名义型(即,OOP的结构模型。为了促进NOOP的构建,本文简要介绍了与结构类型相比,名义类型对主流OO开发人员和OO语言设计人员的好处。在介绍了NOOP之后,本文进一步简要地将NOOP与最广为人知的OOP领域理论模型进行了比较。利用NOOP的发展,本文提出的比较提供了清晰,简要和精确的技术和数学帐户之间的关系名义和结构OO型系统。因此,NOOP为分析和发展名义类型的OO程序设计语言提供了更坚实的语义基础。
2018-01-21 cs.LO cs.PL
Untyping Typed Algebras and Colouring Cyclic Linear Logic
我们证明了“untyping”定理:在一些类型理论(半环,Kleene代数,剩余格,对合剩余格),类型方程可以从底层untyped方程。因此,相应的非类型化决策过程可以免费扩展到类型化设置。其中一些定理是通过迂回循环线性逻辑的片段获得的,并对标准证明搜索算法进行了大量优化。
2012-06-19 cs.LO
On a Dependently Typed Encoding of Matching Logic
本文提出匹配μ-逻辑的首个依值类型定义,通过类型索引编码排序上下文确保良排序性,使不良排序语法不可表示且良排序元素语义保证在关联排序域内。
2025-09-16 cs.LO
An Indexed Linear Logic for Idempotent Intersection Types (Long version)
引入Indexed Linear Logic的幂等变体,通过基变换重构语法并利用子类型关系实现幂等性,证明其作为逻辑能细化经典线性逻辑且切消过程终止并合流。
2024-02-15 cs.LO
Value Coalition Logic: A Typed Assignment-Based Reconstruction of Coalition Logic
School of Computer and Information Engineering (School of Artificial Intelligence), Henan Normal University(河南师范大学计算机与信息工程学院(人工智能学院))
本文提出价值联盟逻辑,通过类型化变量赋值重构经典联盟逻辑,在保持策略语义不变的同时,在原子层面引入值域完备性与互斥性,并证明与命题联盟逻辑在有限类型签名下真值等价,从而揭示值级不变量。
2026-05-25 cs.LO
Well-Typed Logic Programs Are not Wrong
我们考虑逻辑程序的规定类型系统(如Goedel或Mercury)。在这样的系统中,类型是静态的,但它保证了一个操作属性:如果一个程序是“良好类型的”,那么所有在“良好类型的”查询中开始的派生都是“良好类型的”。这个特性被称为主体还原。我们表明,这个属性也可以被措辞为一个属性的证明理论的语义的逻辑程序,从而抽象通常的操作(自上而下)的语义。这种证明论的观点使我们质疑一个条件,这通常被认为是必要的主题还原,即头部条件。它声明每个子句的头部必须有一个类型,该类型是声明类型的变体(而不是正确的实例)。我们提供了一个更一般的条件,从而在头原子和体原子之间重新建立了某种对称性。这个条件确保在一个推导中,两个统一项的类型本身是可统一的。我们讨论了这一结果的可能影响。我们还讨论了头条件和多态递归之间的关系,这是函数式编程中的一个已知概念。
2001-01-18 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
Relating Church-Style and Curry-Style Subtyping
具有高阶子类型或单例类型的类型论是变量的计算规则受上下文中的类型信息影响的系统的示例。这些系统的一个复杂之处是,在上下文中声明的边界不能很好地与完整性或终止性的逻辑关系证明交互。本文对F-Omega-Sub的类型语法提出了一种自然的修改,将变量的绑定添加到变量类型构造函数中,从而将变量的计算行为与上下文分离。F-Omega-Sub中的子类型算法可以在没有上下文或种类信息的类型上给出。因此,元理论遵循了上下文中没有计算信息的类型系统的一般方法,包括一个简单的逻辑关系定义,而没有上下文的Kripke风格索引。这种新的表示系统被证明是等价于传统的表示没有界限的变量类型构造函数。
2011-01-24 cs.LO cs.PL
Random generation of closed simply-typed $λ$-terms: a synergy between logic programming and Boltzmann samplers
软件质量保证的一种自然方法是编写单元测试,以保护程序员声明的代码不变量。在整个文献中,大量的工作都致力于使这一劳动密集型过程自动化的工具和技术。一个突出的例子是随机性的成功使用,特别是随机类型的$λ$ -terms,在测试函数式编程编译器,如格拉斯哥Haskell编译器。不幸的是,由于固有的困难的组合结构的类型$λ$ -条款没有有效的均匀抽样方法是已知的,设置它作为一个基本的开放问题,在随机软件测试方法。在本文中,我们结合了玻尔兹曼采样器,一个强大的随机组合结构生成技术的框架,与今天的Prolog系统提供逻辑变量之间的协同作用,统一与发生检查和有效的回溯。这使我们能够开发一种新的采样机制,能够构建均匀随机封闭的简单类型的$λ$ -项的大小为120。我们应用我们的技术来产生均匀随机封闭的简单类型的范式和设计一个并行执行机制,推动可实现的长期规模为140。逻辑程序设计理论与实践(TPLP)
2017-09-13 cs.LO
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
Dependently Typed Model Composition for Matching Logic
ELTE E\" o tv\" o s Lor\' a nd University Budapest, Hungary
本文针对匹配逻辑框架中的模型组合问题,基于多元多类别匹配逻辑变体提出依赖类型化的组合定义,确保组合保持可满足性证明,可为后续Rocq证明助手的机械化实现提供直接蓝本。
2026-09-28 cs.LO
Positive Instantial Neighbourhood logic: Typed Completeness and Admissible-Open Representation
Mahishadal Raj College(马希沙达尔皇家学院);Jadavpur University(贾达普大学)
本文提出正实例邻域逻辑(PINL),一种无否定的模态逻辑,通过两种实例模态处理邻域中的世界,并基于持久双边邻域模型证明了其完备性,同时引入代数语义和典范位拓扑表示。
2026-07-17 cs.LO
A Sound and Complete Hoare Logic for Dynamically-Typed, Object-Oriented Programs -- Extended Version --
定义了一种简单的动态类型、(纯粹的)面向对象语言。给出了一种结构化的操作语义和一种Hoare式的程序逻辑,用于在多个正确性概念中对语言中的程序进行推理。霍尔逻辑被证明是合理的和(相对)完整的,是-尽我们所知-第一个这样的逻辑动态类型的语言。
2016-01-08 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
Resolution as Intersection Subtyping via Modus Ponens
解析和子类型化是程序设计语言中两种常见的机制。Resolution由诸如类型类或Scala风格的implant之类的功能使用,以自动从上下文类型信息合成值。子类型通常用于将值的类型自动转换为另一个兼容的类型。到目前为止,这两种机制一直被认为是相互独立的。本文表明,一个小的扩展,子类型与交叉类型可以substrate分辨率。这有三个主要后果。第一,解决不需要作为一个单独的机制来实施。其次,解析和子类型化之间的相互作用变得明显。最后,将解析集成到子类型中可以实现一流(隐式)环境。通过子类型恢复归结能力的扩展是命题逻辑的肯定前件规则。虽然它很容易添加到声明子类型中,但需要非常小心地保留所需的属性,例如算法子类型的传递性和可判定性以及一致性。为了实现这些想法,我们开发了$λ_i^{\mathsf{MP}}$,一个演算,扩展了iperrival演算与不相交的交集类型,并在Coq定理证明器中开发其元理论。
2020-10-15 cs.LO cs.PL
Analysis of Polymorphically Typed Logic Programs Using ACI-Unification
(部分)根据性分析是抽象解释的一个重要应用。有几个建议通过利用类型信息来提高这种分析的精度,包括我们自己与Hill和King的工作,我们已经展示了如何使用程序类型声明中的信息来以精确但固有有限的方式来确定术语的实例化程度。这种方法适用于像Goedel或HAL那样的多态类型程序。在这里,我们重铸这个方法以下的Codish,泻湖和斯塔基的作品。为了形式化我们想要识别的项的哪些属性,我们使用标签函数,这些函数是沿着某些路径从项中提取子项的函数。一个抽象项收集一个项的所有标签函数的结果。对于分析,程序执行的抽象条款,而不是具体的,通常的统一是取代统一模的平等理论,其中包括著名的ACI理论。因此,我们概括了Codish,Lagoon和Stuckey w.r.t.所考虑的类型系统,并相互关联的作品。
2001-05-04 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
Tableaux for Automated Reasoning in Dependently-Typed Higher-Order Logic (Extended Version)
本文针对依赖类型高阶逻辑DHOL提出原生表推演自动推理规则,并在Lash中实现,借助DHOL到HOL的可靠完备翻译保证完备性,实验表明其性能优于在翻译结果上运行的主流HOL证明器。
2024-10-18 cs.LO
MaudeTypedLog: A Typed Interpreter for Prolog in Maude
Universitat Politècnica de València(瓦伦西亚理工大学);Faculdade de Ciências da Universidade do Porto(波尔图大学理学院)
研究针对 Prolog 传统无类型的问题,用 Maude 实现类型化合一算法并构建 MaudeTypedLog 解释器,其遵循特定操作语义,能动态检测程序和查询中的类型错误。
2026-07-23 cs.LO
Refinement Types for Logical Frameworks and Their Interpretation as Proof Irrelevance
精化类型通过提供更精确地对良好类型的术语进行分类的表达方式来锐化简单类型和依赖类型的系统。我们提出了一个系统的LF精炼类型在最近的配方的风格,只有规范形式是良好的类型。通常的LF规则和类型细化的规则都是双向的,从而直接证明了类型检查的可判定性,即使存在交集类型。因为我们坚持标准形式,子类型的结构规则现在可以被导出,而不是被假定为原始的。我们用例子说明了我们的系统的表达能力,并通过展示与传统的子类型表示的精确对应来验证其设计。证明不相关性提供了一种机制,用于选择性地隐藏类型论中术语的同一性。我们发现,LF细化类型可以被解释为谓词使用证明不相关性,建立一个统一的关系之前研究的概念之间的类型论。解释和它的正确性证明是令人惊讶的复杂,支持精化类型是一个基本的构造,而不仅仅是一个方便的表面语法,用于证明无关性的某些用途。
2010-12-13 cs.LO cs.PL
A Three-Valued Semantics for Typed Logic Programming
逻辑编程中的类型一方面关注常规类型对程序语义的保守近似,另一方面关注基于为类型化程序定义的规定语义的类型系统。在本文中,我们定义了一个新的语义逻辑编程,程序评估为真,假,并称为错误的一个新的语义值,对应于一个运行时类型错误。这样我们就有了一种具有分离的类型语义的类型语言。最后,我们定义了一个类型系统的逻辑编程,并证明它是语义上的声音相对于程序和类型之间的语义关系,如果一个程序有一个类型,那么它的语义是没有错的。我们的工作遵循米尔纳的方法类型的函数语言的语义程序是独立的类型的语义,类型系统被证明是健全的两个语义之间的关系。
2019-09-18 cs.LO cs.PL
Typed realizability for first-order classical analysis
我们描述了经典一阶逻辑的可实现性框架,其中实现者生活在类型λμ演算(模型)中。这允许对经典证明的直接解释,避免了通常对直觉主义逻辑的否定翻译。我们证明了哥德尔系统T的通常项实现了Peano算术公理,并且在计算模型的某些假设下,棒递归算子实现了依赖选择公理.我们还进行了适当的分析,相对化,这使得较少的技术证明的充分性。从2002年公式的证明中提取算法依赖于弗里德曼技巧的一种新的实现,利用语言的控制可能性。这允许具有比在负翻译之后是直观可实现性的情况下更简单的类型的提取程序。
2015-12-30 cs.LO
Closing the Gap -- Formally Verifying Dynamically Typed Programs like Statically Typed Ones Using Hoare Logic -- Extended Version --
动态类型的面向对象语言使程序员能够编写优雅的、可重用的和可扩展的程序。然而,在当前的程序验证方法中,静态类型信息的缺失造成了显著的开销。我们的建议有两个方面:首先,我们提出了一个抽象层隐藏的复杂性动态类型时,提供了足够的类型信息。由于这本质上造成了验证静态类型程序的错觉,因此所需的工作量与静态类型的情况相当。其次,我们展示了如何所需的类型信息可以有效地获得所有类型安全的程序集成到霍尔逻辑的类型推断算法,产生一个半自动的过程,让用户专注于那些真正需要他的注意力的打字问题。虽然应用类型推断的动态类型的程序是一个行之有效的方法,现在,我们的方法补充了传统的软类型系统,除了修改程序(静态类型)和接受存在的运行时类型错误(动态类型)提供正式的证明作为第三种选择。
2015-01-12 cs.LO cs.PL cs.SE
Subtyping in DHOL -- Extended preprint
Imdea Software Institute(Imdea软件研究所);Universidad Politécnica de Madrid(马德里理工大学)
本文在依赖类型高阶逻辑 DHOL 中通过子类型化机制优雅地引入了精化类型和商类型,并给出了扩展语言的语法、语义及到 HOL 的可靠且完备的翻译证明。
2025-07-03 cs.AI cs.FL cs.LO
TWAM: A Certifying Abstract Machine for Logic Programs
类型保持(或类型化)编译使用类型化派生来证明编译的正确性。我们为Prolog的简单类型方言设计并实现了一个类型保留编译器,我们称之为T-Prolog。我们的方法的关键是一个新的认证抽象机,我们称之为类型沃伦抽象机(TWAM)。TWAM有一个足够强的依赖类型系统来指定逻辑框架LF中的逻辑程序的语义。我们提出了一个合理性元定理,它构成了部分正确性保证:良好类型的程序实现的逻辑程序指定的类型。这个元定理证明了我们的设计和实现的证明编译器从T-Prolog到TWAM。
2018-01-01 cs.LO cs.PL
Definitional Functoriality for Dependent (Sub)Types -- Extended version
本文将函子定律纳入依赖类型论的定义相等,用于支持自动化证明并导出与隐式包含子类型等价的强制子类型,且在 Coq 中机械化证明列表情形的类型检查可判定性。
2024-04-09 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
Ticket Entailment is decidable
我们证明了票蕴涵的可判定性。Anderson和Belnap在关联逻辑的框架内提出的这个问题等价于具有部分基BB'IW的简单类型组合逻辑中的类型栖居的可判定性问题。本文解决了单纯型微积分对遗传右极大项的限制的类型栖居等价问题。
2012-07-05 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
Experiments with Choice in Dependently-Typed Higher-Order Logic
University of Innsbruck(因斯布鲁克大学);Czech Technical University in Prague(布拉格捷克理工大学)
本文提出两种将选择机制引入依赖类型高阶逻辑(DHOL)的方法,通过Hilbert选择算子扩展项结构并定义到HOL的翻译,证明了其完备性与可靠性,并在依赖HOL问题上完成评估。
2024-10-11 cs.AI cs.LO
Circular Proofs as Session-Typed Processes: A Local Validity Condition
本文扩展了直觉主义线性逻辑与会话类型π演算的对应关系到带最小和最大不动点的子结构逻辑片段,提出一个局部且可判定的有效性准则来识别对应有效循环证明的互递归进程,并证明该准则比既有守护条件更严格但更适合作编程语言基础。
2022-05-09 cs.LO cs.PL
Full Abstraction for a Recursively Typed Lambda Calculus with Parallel Conditional
我们定义了一个递归类型的λ演算的语法和约简关系,并给出了一个并行的条件函数。减少显示为融合性。我们将递归类型解释为受限形式的信息系统,我们称之为素系统。一个指称语义定义与此解释。定义了项的语法范式逼近,证明了逼近定理:项的语义等于其逼近的语义的极限。证明使用包含谓词(逻辑关系)。对于布尔值的观察,语义是足够的。在平行格功能的存在下,它也是完全抽象的。
2008-06-11 cs.LO
Fair Termination of Asynchronous Binary Sessions
本文提出基于线性逻辑的异步会话类型理论,利用新颖的公平异步子类型关系保证良类型进程在公平性假设下公平终止,实现无饥饿与无孤儿消息。
2025-03-14 cs.DC cs.LO cs.PL
Theorem Proving in Dependently-Typed Higher-Order Logic -- Extended Preprint
FU Berlin(柏林自由大学);University Erlangen-Nürnberg(埃尔朗根-纽伦堡大学);University Bamberg(班贝格大学)
本文引入了HOL的依存类型扩展DHOL,保留了HOL的风格与概念框架,并构建从DHOL到HOL的翻译作为HOL定理证明器的前置预处理器,从而实现DHOL的定理证明。
2023-05-24 cs.AI cs.FL cs.LO
A program logic for higher-order procedural variables and non-local jumps
依靠经典逻辑的公式即类型范式,我们为具有高阶过程变量和非局部跳转的命令式语言定义了程序逻辑。然后,我们展示了如何为这种程序设计语言导出一个合理的程序逻辑。作为一个副产品,我们得到了一个非依赖类型系统,它比通常在静态类型命令式语言中发现的更宽容。作为一个通用的例子,我们编码了分隔延续操作符shift和reset的命令式版本。
2011-12-07 cs.LO
A Framework for Dependent Types and Effects
我们将Levy的按推值调用(CBPV)推广到依赖类型论,以更好地理解如何将依赖类型与效果相结合。我们定义了一个依赖类型的扩展CBPV,dCBPV-,并表明,它有一个非常自然的小步操作语义,满足主题减少和(取决于目前的影响)确定性和强规范化,和一个优雅的分类语义,这-令人惊讶的是-并不比简单类型的语义复杂。我们有完整和忠实的翻译从依赖类型的版本莫吉的一元语言和呼叫的名称(CBN)依赖类型论到dCBPV-这引起了预期的操作行为。然而,dCBPV-不足以编码依赖于值调用(call-by-value,CBV)的类型论或依赖于值调用的类型论中的正连接词的强(依赖)排除规则。为了解决这个问题,我们讨论了第二个更有表现力的系统dCBPV+,它还具有Kleisli扩展依赖函数的原则。我们获得了依赖类型论到dCBPV+的所需CBV-和CBN-翻译。它也有一个自然的分类语义和操作语义。然而,根据我们考虑的效果,我们可能会失去类型的唯一性,因为当执行某些效果时,计算的类型可能会变得更加指定。这个想法可以用子类型的概念来形式化。我们希望,本文的理论框架一方面提供了一个基本的类型理论的问题,如何可以理解的计算效果和依赖类型之间的关系至少部分的答案。另一方面,我们希望它能为最终目标迈出一小步,即一种优雅的、成熟的、经过认证的有效编程语言。
2016-03-14 cs.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
An extended type system with lambda-typed lambda-expressions (extended version)
本研究提出源自Automath项目相关的扩展类型系统$\texttt{d}$,新增存在抽象与命题算子、扩展$\beta$-归约,证明其汇合性等性质,说明需补充公理适配有限逻辑强度,并附系统扩展变体讨论。
2024-12-14 cs.LO
An extended type system with lambda-typed lambda-expressions
本文提出扩展类型系统$\mathtt{d}$,支持lambda类型lambda表达式,通过存在抽象和命题算子扩展,并实现$\beta$-归约的否定规范化,证明了合流性、强规范化等性质,同时指出需额外公理以支持数学结构。
2020-11-30 cs.LO
Clones, closed categories, and combinatory logic
本文用多元结构阐释简单类型λ演算的语义,引入外延SK-克隆并证明其可靠完备,进而证明不含产品的简单类型λ演算是SK-范畴的内部语言。
2024-05-02 cs.LO math.CT
$\unicode{8523}$ means Parallel: Multiplicative Linear Logic Proofs as Concurrent Functional Programs
沿着Abramsky的“Proofs-as-Processes”程序的路线,我们提出了一个乘法线性逻辑作为并发函数编程的类型系统的解释。特别是,我们研究了线性多结论自然演绎系统,并表明它是同构的一个简单而自然的扩展$λ$ -演算的并行性和通信原语,称为$λ_{\unicode{8523}}$。我们将证明$λ_{\unicode{8523}}$满足类型化程序设计语言的所有理想属性:主题减少,进展,强规范化和汇合。
2019-07-08 cs.LO
Permission-Based Separation Logic for Multithreaded Java Programs
本文提出了一个程序逻辑推理多线程Java类程序的动态线程创建,线程连接和可重入对象监视器。该逻辑基于并发分离逻辑。它是并发分离逻辑到多线程类Java语言的第一个详细改编。程序逻辑将唯一的静态访问权限与每个堆位置相关联,以确保独占写入访问并排除数据竞争。通过部分权限支持并发读取。在线程启动、线程加入、初始监视器进入和最终监视器退出时,可以在线程之间传输数据。为了区分初始监视器进入和监视器重进入,辅助变量跟踪当前持有的监视器的多个集合。通过抽象谓词促进了数据抽象和行为子类型化,抽象谓词还用于表示监视器不变量、线程启动的先决条件和线程加入的后置条件。值参数化类型允许方便地捕获常见的强全局不变量,如静态对象所有权关系。的程序逻辑提出了一个模型语言与Java类和接口,程序逻辑的合理性被证明,并提出了一些说明性的例子。
2015-03-01 cs.LO
Justification Logic of the Lambda Calculus
Faculty of Technical Sciences, University of Novi Sad(诺维萨德大学技术科学学院);Mathematical Institute of the Serbian Academy of Sciences and Arts(塞尔维亚科学院数学研究所);School of Computer Science, University of Birmingham(伯明翰大学计算机学院)
研究λ演算的证明逻辑,通过引入一种逻辑,其模态证明项为类型化λ项,能同时推理计算与证明。给出公理系统、自然演绎系统及Curry-Howard解释,还构建相继式演算并证明切割消去,得到归一化结果。
2026-07-28 cs.LO math.LO
Strong Progress for Session-Typed Processes in a Linear Metalogic with Circular Proofs
引入了一个具有最小和最大不动点的无穷大一阶线性逻辑。为了确保切割消除,我们施加了一个有效性条件的无限导子。我们的演算的目的是相互定义的归纳和共归纳线性谓词的丰富签名的原因。在一个主要的案例研究中,我们用它来证明强的二进制会话类型的进程下的异步通信语义的进展属性。据我们所知,这是这个性质的第一个证明。
2021-03-07 cs.LO cs.PL
A Transformational Approach to Resource Analysis with Typed-norms Inference
为了自动推断程序的资源消耗,分析器跟踪数据大小如何随着程序的执行而变化。通常,分析器通过应用范数来测量数据的大小,范数是从数据到表示相应数据大小的自然数的映射。当规范是通过考虑类型信息来定义的,它们被称为类型规范。本文提出了一种转换的方法,资源分析与类型化规范,推断出的数据流分析。该分析是基于一个转换的程序到一个中间的抽象程序,其中每个变量被抽象的所有考虑的规范是有效的,其类型。我们还提出了数据流分析,自动推断所需的,有用的,类型规范的程序。我们的分析是在一个简单的基于规则的表示上形式化的,以不同的编程范式编写的程序(例如,功能性、逻辑性、命令性)可以自动翻译。在其他基于类型的分析器使用的标准基准测试上的实验结果表明,我们的方法在实践中是有效和准确的。逻辑程序设计理论与实践(TPLP)
2019-08-06 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
Using Inhabitation in Bounded Combinatory Logic with Intersection Types for Composition Synthesis
我们描述了正在进行的工作,从软件组件库的自动组合合成的框架。这项工作是基于组合逻辑与交叉类型。这个想法是,组件被建模为类型的组合子,和居住的算法{ \textemdash }是否有一个组合项e与类型tau相对于环境伽玛?{ \textemdash }可用于合成组合物。在这里,Gamma以类型化组合子的形式表示存储库,tau指定合成目标,e是合成程序。我们说明我们的方法的例子,包括应用程序的GUI组件合成。
2013-07-31 cs.LO cs.SE
Functions as types or the "Hoare logic" of functional dependencies
受程序设计理论统一化趋势的启发,本文说明了标准数据依赖理论的代数处理如何为关系数据配备函数类型和相关类型系统,这对数据库操作的类型检查和查询优化是有用的。这种类型化的方法,数据库编程,然后被证明是同一个家庭的其他编程逻辑,如例如。霍尔逻辑或最强不变函数的逻辑,用于分析while语句。使用自动演绎系统,如Prover9的类型检查和查询优化上这样一个代数方法的前景被认为是。
2012-10-17 cs.LO
Light Logics and Optimal Reduction: Completeness and Complexity
初等和轻仿射逻辑中的非线性项的分类(分别为EAL,LAL)已经研究了两个不同的原因:一方面,使用LAL(EAL,resp.)证明网承认一个有保证的多项式(分别是初等的)另一方面,这些术语也可以通过使用Lamping算法的抽象版本的最优约简来评估。第一个约简是全局的,而第二个约简是局部的和异步的。我们证明,对于LAL(EAL,resp.)类型的条款,兰坪的抽象算法也承认一个多项式(小学,分别)。绑定我们还显示了它的健全性和完整性(EAL和LAL类型不动点),通过使用一个简单的几何交互模型(上下文语义)。
2007-04-19 cs.LO cs.PL
Domain-Aware Session Types (Extended Version)
我们开发了一个泛化现有的Curry-Howard解释(二进制)会话类型依赖于线性逻辑的扩展与混合逻辑的功能,特别是模态世界,表明域。这些世界支配着域迁移,服从于模态逻辑的Kripke语义中熟悉的参数可访问性关系。其结果是一个富有表现力的新型流程框架,用于域感知、消息传递并发。它的逻辑基础确保良好类型的进程享有会话保真度、全局进展和终止。类型化还确保进程只与可访问域通信,因此尊重可访问性关系。值得注意的是,我们的域感知框架可以指定的情况下,域信息仅在运行时可用,灵活的可访问性关系可以干净地定义和静态执行。作为一个具体的应用,我们引入了域感知的多方会话类型,其中全局协议可以通过域迁移来表示任意嵌套的子协议。我们开发了一个精确的分析,这些多方协议减少到我们的二进制域感知框架:复杂的域感知协议可以推理在正确的抽象层次,也确保了原则性转移的关键正确性属性从二进制到多方设置。
2019-07-02 cs.LO
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
Simplifying Negative Goals Using Typed Existence Properties
提出了一种从消极目标中提取积极信息的方法。它利用谓词的参数之间的类型化存在属性来重写逻辑程序中的否定目标。类型化存在属性是函数依赖的一种泛化,因为输入值映射到固定数量的输出值。类型用于指定输入和输出值的域。给出了该简化方法的一个实现,并分析了其复杂性.实现的关键算法检查是否可以使用给定的类型化存在属性提取否定目标中的原子。有向图将原子与原子中出现的量化变量联系起来,并用于快速检索负目标中的原子,这些原子在提取其他原子后可能变得可提取。
2010-09-11 cs.LO cs.PL
A type system for PSPACE derived from light linear logic
我们提出了一个多态类型系统的λ演算,确保良好类型的程序可以在多项式空间中执行:双轻仿射逻辑布尔(DLALB)。为了构建DLALB,我们从DLAL(它有一个简单的类型语言,带有线性和直观的类型箭头,以及一个模态)开始,它表征了FPTIME函数。为了扩展它的表达能力,我们以与系统STAB相同的方式添加了两个布尔常量和一个条件构造函数。我们证明了一个良好类型项的值可以由交替机在多项式时间内计算,因此这样的项表示PSPACE的程序(给定PSPACE = APTIME)。我们还证明了所有的多项式空间决策函数可以表示在DLALB。因此,DLALB表征PSPACE谓词。
2012-01-05 cs.CC cs.LO