Type-Based Termination, Inflationary Fixed-Points, and Mixed Inductive-Coinductive Types
类型系统以组合的方式证明程序属性。从一个更大的程序中,可以抽象出一个部分,并通过使用被抽象出的部分的类型来证明所得到的抽象程序的属性。终止性和生产力是非平凡的,但所需的程序属性,并已提出了几个类型系统,保证终止,组成。这些类型系统与通过顺序迭代定义的最小和最大不动点密切相关。虽然大多数类型系统使用常规迭代,但我们在本文中考虑膨胀迭代。我们演示了这是如何导致一个更有原则的类型系统,递归基于有理有据的归纳。该类型系统有一个原型实现,MiniAgda,我们特别展示了它如何证明生产力的correcursive和混合递归correcursive功能。
2012-02-16 cs.LO cs.PL
An Inductive Construction for Many-Valued Coalgebraic Modal Logic
在本文中,我们提出了一个抽象的框架,多值模态逻辑的原子命题和模态算子的解释为谓词提升余代数上的一个endofunctor的集合范畴。它将Pattinson的共形模态逻辑分层方法推广到多值情形。与规范模型构造和过滤的标准技术相比,该方法采用归纳原理来证明逻辑的可靠性、完备性和有限模型性质。因此,我们可以解除对先前方法的限制~ \cite{Lin2022},该方法要求底层语言必须具有内在化元级真值赋值操作的表达能力。
2022-10-24 cs.LO
On the Monniaux Problem in Abstract Interpretation
抽象解释中的Monniaux问题,粗略地说,询问以下问题是否是可判定的:给定程序$P$,安全(\emph{e.g.},不可达性)规范$φ$,和不变量$\mathcal{D}$的抽象域,在$\mathcal{D}$中是否存在归纳不变$I$,保证程序$P$满足其规范$φ$。当然,Monniaux问题是由程序的类别和人们所考虑的不变域参数化的。在本文中,我们证明了Monniaux问题是不可判定的无保护仿射规划和半线性不变量(联盟多面体)。此外,我们发现,可判定性恢复的重要特殊情况下,简单的线性循环。
2019-07-18 cs.LO
A Weakly Initial Algebra for Higher-Order Abstract Syntax in Cedille
Cedille是一个相对较新的工具,基于Curry风格的纯类型论,没有原始的数据类型系统。使用新技术的基础上依赖的交叉类型,归纳数据集及其归纳原则。这种方法的一个好处是它允许探索新的或高级形式的归纳数据类型。本文报告的工作进展中的一个这样的形式,即高阶抽象语法(HOAS)。我们在纯类型论的背景下考虑HOAS的性质,与传统的λ演算的环境模型的概念进行比较。我们看到了一种替代方案,基于我们所称的Kripke函数空间,我们可以在Cedille中推导出弱初始代数。使用编码给出了几个例子。
2019-10-24 cs.LO cs.PL
Cut Elimination for a Logic with Induction and Co-induction
证明搜索已被用于指定广泛的计算系统。为了建立一个框架,这样的规范推理,我们使用了一个微积分,涉及感应和共感应。这些证明原则是基于定义的证明理论(而不是集合论)概念。定义类似于逻辑程序,其中定义原子的左规则和右规则允许人们将理论视为“封闭的”或定义不动点。定义和自由相等的使用使得有意识地推理语法成为可能。我们以一致的方式添加规则前和后固定点,从而允许用户的原因归纳和共归纳的计算系统的属性,充分利用高阶抽象语法。一致性是保证通过削减消除,在那里,我们给第一,据我们所知,削减消除程序存在的一般归纳和共归纳的定义。
2010-09-30 cs.LO
Property-based Polynomial Invariant Generation using Sums-of-Squares Optimization
虽然抽象解释在理论上并不局限于特定类型的属性,但在实践中,它主要用于计算可达集的线性过近似。程序的收集语义。用户提供的属性的验证不容易与通常的前向不动点计算使用数值抽象域兼容。我们建议在这里依靠平方和编程来表征属性驱动的多项式不变。这种不变量的生成可以由有界性来指导,或者相反,可以由要避免的状态空间的给定区域来指导。虽然目标属性不一定是归纳相对于程序语义,我们的方法确定了一个更强的归纳多项式不变量使用数值优化。我们的方法适用于广泛的程序集:一个主要的,而循环组成的析取(如果,然后,否则)的多项式更新,例如分段多项式控制器。它已在各种方案中得到评估。
2015-03-24 cs.LO
Efficient Implementation of an Abstract Domain of Quantified First-Order Formulas
针对量化一阶公式抽象域因公式复杂、集合规模大而难以应用的问题,提出基于下近似语义蕴含的句法包含关系的抽象元素高效表示法,开发相关算法与数据结构,实现符号抽象算法并在Paxos等案例中验证了可行性与效率。
2024-08-19 cs.LO
Induction and Co-induction in Sequent Calculus
证明搜索已被用于指定广泛的计算系统。为了建立一个框架,这样的规范推理,我们使用了一个微积分,涉及感应和共感应。这些证明原则是基于定义的证明理论(而不是集合论)概念。定义类似于(分层的)逻辑程序,其中定义原子的左规则和右规则允许人们将理论视为“封闭的”或定义不动点。定义的使用使得对句法进行内涵推理成为可能,特别是通过统一来强制自由平等。我们以一致的方式添加规则前和后固定点,从而允许用户的原因归纳和共归纳的计算系统的属性,充分利用高阶抽象语法。一致性是保证通过削减消除,在那里,我们给第一,据我们所知,削减消除程序存在的一般归纳和共归纳的定义。
2009-09-30 cs.LO
Greatest HITs: Higher inductive types in coinductive definitions via induction under clocks
守护递归是一种强大的模式递归方法,可以看作是步进索引的抽象形式。它目前被广泛用于分离逻辑,通过求解具有负出现的域方程来模拟具有高级功能的程序设计语言。在其多时钟版本中,保护递归也可以用于对共归纳类型进行编程和推理,编码类型中递归定义所需的生产力条件。本文提出了第一种类型论,它结合了多时钟保护递归和立方类型论的特点,并给出了一个指称语义。结合使用高阶归纳类型(Higher Inductive Types,HIT)和保护递归,可以对传统上难以在类型论中表示的共归纳类型进行简单的编程和推理,例如标记转移系统的分支分支类型。例如,我们的研究结果意味着这些双相似性意味着路径平等,因此证明可以沿着双相似性证明。我们的技术贡献之一是一个新的原则下的时钟感应。这允许在时钟上的通用量化与HIT交换直到等价的类型,并且对于共归纳类型的编码至关重要。这种交换性的要求已经制定了归纳类型的公理在以前的类型论与多时钟保护递归,但我们目前的配方作为一个归纳原则允许制定一般的计算规则。
2022-06-03 cs.LO
Quotient inductive-inductive types
同伦类型论(HoTT)中的高阶归纳类型(HIT)允许定义具有定义类型上的等式的构造函数的数据集。HIT概括了商类型,并允许定义在HoTT意义上不是集合的类型(即不满足等式证明的唯一性),例如球体,悬浮体和环面。然而,HIT也有一些有趣的用法来定义集合,比如柯西实数、多项式和类型论的内部、总体语法。在每个例子中,我们定义了几个相互依赖的类型,即它们是归纳-归纳定义。我们称这些HIT为商归纳-归纳类型(QIIT)。虽然最近在HIT的一般理论方面取得了一些进展,但等式构造子和归纳-归纳的结合尽管有许多有趣的应用,但还没有理论基础。在本文中,我们提出了第一步的语义定义QIIT。特别是,我们给出了一个初始代数语义,并表明这是等价的部分归纳原则,这证明了直观预期的消除规则。
2017-11-16 cs.LO
Can LLM Aid in Solving Constraints with Inductive Definitions?
本文提出一种神经符号方法,利用大语言模型生成辅助引理,提升求解涉及归纳定义的约束的能力,实验表明其在证明任务上的有效性。
2026-03-12 cs.AI cs.LO
Complete Cyclic Proof Systems for Inductive Entailments
当归纳定义中的基约束分别属于(i)具有规范Herbrand解释的一阶逻辑和(ii)分离逻辑的无量词片段时,本文给出了互递归谓词模型的最小集之间包含问题的循环证明系统.受经典的自动机理论技术的启发,证明树自动机之间的语言包含,我们给出了一个小的推理规则集,被证明是健全的和完整的,在一定的语义限制下,涉及的一组约束条件的归纳系统。此外,我们调查的可判定性和计算复杂性,这些限制的所有考虑的逻辑片段,并提供了一个证明搜索半算法,成为一个决策过程的蕴涵问题,对于那些系统,满足的限制。
2018-04-30 cs.LO
A Sequent Calculus for Non-Monotone Inductive Definitions
KU Leuven(荷语鲁汶大学);Vrije Universiteit Brussel(布鲁塞尔自由大学)
本文提出SCFO(ID)演算,用于处理非单调归纳定义,通过稳定语义验证其理论性质,支持对一般归纳定义的定理形式化证明。
2026-09-23 cs.LO
Cyclic proof theory of generalised inductive definitions
University of Gothenburg(哥德堡大学);University of Birmingham(伯明翰大学)
本文研究μPA的循环证明系统,证明循环μPA与归纳μPA证明论强度相同,还证明μPA的带注释与普通循环证明可证相同定理,推进了算术理论的非良基证明论分析。
2026-07-30 cs.LO
Unprovability results for clause set cycles
子句集循环的概念抽象了一类基于子句集之间循环依赖检测的自动归纳定理证明方法。通过对小句集圈的基本逻辑特征的识别,我们可以用一个逻辑理论来刻画小句集圈。我们利用这种特性,利用不同的逻辑功能的子句集循环,提供实际相关的不可证明性结果。
2022-08-04 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
PAGAI: a path sensitive static analyzer
我们描述的设计和实现PAGAI,一个新的静态分析器工作在LLVM编译器基础设施,计算归纳不变量的数值变量的分析程序。PAGAI实现了各种最先进的算法,结合了抽象解释和决策过程(SMT求解),专注于控制流图内部的路径区分,同时避免系统指数枚举。它在使用的抽象域、迭代算法和决策过程中是参数化的。我们比较了分析算法和抽象域的各种组合的时间和精度,并在个人基准测试和广泛可用的GNU程序上进行了广泛的实验。
2012-07-17 cs.LO cs.PL
Improving Strategies via SMT Solving
我们考虑的问题计算数值不变量的程序的抽象解释。我们的方法避免了两个传统的不精确性来源:(i)使用加宽算子在有限数量的迭代中强制收敛(ii)在控制流图的合并点使用合并操作(通常是凸包)。相反,它计算在一组有限的程序点的域中可表达的最小归纳不变式,并整体分析代码的其余部分。我们强调,我们精确地计算这个归纳不变量。为此,我们扩展了[Gawlitza和Seidl,2007]的策略改进算法。如果我们直接应用他们的方法,我们将不得不解决一个指数级大小的抽象语义方程系统,导致内存耗尽。相反,我们保持系统的隐式和发现使用SAT模实线性算术(SMT)的策略改进。为了评估策略,我们使用线性规划。我们的算法具有低的多项式空间复杂度,并在最坏的情况下执行人工的例子指数许多战略改进的步骤,这是不足为奇的,因为我们表明,相关的抽象可达性问题是Pi-p-2-完成。
2011-01-14 cs.CC cs.LO cs.PL
Probabilistic Inductive Inference:a Survey
归纳推理是一种递归学习理论,最早由E。M. Gold(1967).本文概述了概率归纳推理的发展。我们主要关注递归函数的有限推理,因为这个简单的范例产生了最有趣(也是最复杂)的结果。
1999-02-15 cs.CC cs.LG cs.LO
$Π_{2}$-Rule Systems and Inductive Classes of Gödel Algebras
提出直觉主义和模态逻辑的一般 $Π_{2}$-规则理论,引入规则系统和归纳类概念,分析 Gödel 代数归纳类结构,证明存在连续统多个扩展 LC 的规则系统,并解决 LC 中可容许性的分类与可判定性问题。
2024-11-13 cs.LO math.LO
Polynomial Template Generation using Sum-of-Squares Programming
模板抽象域允许表达比经典抽象域更有趣的属性。然而,当使用模板抽象域进行程序分析时,模板生成是一个具有挑战性的问题。在本文中,我们与模板生成的程序属性,我们要证明。我们专注于嵌套条件分支的单循环程序。我们正式定义的概念,以及代表性的模板基础上,这样的程序和给定的属性。该定义依赖于模板抽象域产生归纳不变量的事实。我们表明,这些不变量可以通过解决某些系统的功能不等式。然后,这样的系统可以加强使用层次的平方和(SOS)的问题,当我们考虑程序编写的多项式算术。SOS层次结构的每一步都可能提供一个解决方案,该解决方案进而产生一个不变式以及所需属性持有的证书。这种方法的兴趣说明在多项式算术的非平凡的程序示例。
2014-10-18 cs.LO math.OC
A proof-theoretic approach to abstract interpretation
Google Inc.(谷歌公司);Vrije Universiteit Amsterdam(阿姆斯特丹自由大学);University of Johannesburg(约翰内斯堡大学);University of Luxembourg(卢森堡大学);INRIA(法国国家信息与自动化研究所)
本文通过将逻辑系统与有限抽象系统关联,提出了一种生成与抽象格同构的Lindenbaum-Tarski代数的逻辑的通用程序,并建立了相应的可靠性和完备性结果。
2026-05-26 cs.LO math.LO
A proof theoretic study of abstract termination principles
我们进行了一个证明理论的分析,在一个抽象的设置递归路径顺序的良好基础。我们概述了一个非常普遍的终止原则,并提取其良好的基础证明subrecursive范围的大小推导树,可以定义在哥德尔的系统T加酒吧递归。然后,我们进行了这些条款的复杂性分析,并演示了如何将其应用于约束的衍生复杂性的长期重写系统。
2019-02-22 cs.LO math.LO
A Concurrent Program Logic with a Future and History
细粒度的乐观并发程序仍然是一个悬而未决的问题。现代程序逻辑提供了抽象机制和组合推理原则来处理固有的复杂性。然而,它们的使用主要局限于纸张和纸张或机械化的证明。我们设计了一个新的分离逻辑,面向缺乏自动化。虽然本地推理是众所周知的自动化是至关重要的,我们是第一个展示如何保持这种局部性(i)推理归纳属性,而不需要幽灵代码,和(ii)推理计算历史的事后诸葛亮。我们在一个工具中实现了我们的新逻辑,并使用它来自动验证具有挑战性的并发搜索结构,这些结构需要归纳属性和事后推理,例如Harris集。
2022-11-11 cs.LO cs.PL
Extensions to Justification Theory
KU Leuven(鲁汶大学);Vrije Universiteit Brussel(布鲁塞尔自由大学)
证明理论是非单调逻辑语义学的统一框架。它建立在证明的概念上,直观地说,证明是一个解释结构中某些事实的真值的图。证明理论所涵盖的知识表示语言包括逻辑程序、论证框架、归纳定义、嵌套归纳和共归纳定义。此外,理由也用于实施目的。它们用于计算现代ASP求解器中的无基集,可用于检查完整搜索算法中原子的相关性,最近的惰性接地算法构建在它们之上。在这个扩展的抽象,我们奠定了可能的扩展证明理论。
2019-05-09 cs.AI cs.LO
Formal Metatheory of Second-Order Abstract Syntax
尽管在理论和实践方面都进行了广泛的研究,但形式化,推理和实现具有变量绑定的语言仍然是一项艰巨的工作-重复的样板文件和过于复杂的捕获避免替换元理论经常阻碍语言的实际有趣属性。现有的发展提供了一些缓解,但代价是不方便和容易出错的术语编码和缺乏正式的基础。我们提出了一个启发性的语言形式化框架中实现的Agda。该系统将具有变量绑定运算符的语法签名的描述转换为内部编码的归纳数据类型,该数据类型配备有语法操作,例如弱化和替换,以及它们的正确性属性。所生成的元理论进一步结合了元变量及其相关的元替换操作,这使得二阶方程/重写推理。该框架的基础数学基础-初始代数语义-通过构造将语言的组合解释导出到满足语义替换引理的模型中。
2022-01-10 cs.DM cs.LO cs.PL