Ranking Functions for Size-Change Termination II
尺寸改变终止是一种越来越流行的验证程序终止的技术。这些终止证明推导出一个抽象的表示形式的程序的“大小变化图”。我们提出的算法,对于某些类的大小变化图,推导出一个全球排名功能:一个表达式,排名程序状态,并减少每一个过渡。一个排序函数作为一个终止证明的见证,因此对于程序认证是很有意义的。代表SCT终止证明的排名表达式的特定形式揭示了证明方法的范围。表达的复杂性也很有趣,无论是在实践上还是在理论上。虽然从大小变化图推导排名函数已经被证明是可能的,但本文中的构造比以前已知的更简单,更透明。它们将排名表达式大小的上限从三倍指数提高到单指数(对于某些类别的实例)。我们认为这个结果在某种意义上是最优的。为此,我们引入了一个框架的排名表达式的复杂性的下界,并证明指数下界。
2009-05-25 cs.LO
Unrestricted Termination and Non-Termination Arguments for Bit-Vector Programs
证明程序终止通常通过为程序状态找到有充分根据的排名函数来完成。现有的终止证明器通常使用线性代数或模板来找到排名函数。因此,他们经常被限制在寻找数学整数上的线性排名函数。这类函数不足以证明许多终止程序的终止性,此外,对于数学整数操作的程序的终止参数并不总是导致对于固定宽度机器整数操作的同一程序的终止参数。我们提出了一个终止分析能够产生非线性,字典排序功能和非线性递归集是正确的固定宽度的机器算术和浮点运算我们的技术是基于减少从程序\emph{termination}二阶\emph{satisfaction}。我们提供了配方的终止和非终止在一个片段的二阶逻辑有限域上可判定的限制量化。由此产生的技术是一个健全的和完整的分析有限状态程序的终止固定宽度的整数和IEEE浮点运算。
2014-10-19 cs.LO
Distilling Programs to Prove Termination
确定任何程序是否终止的问题被图灵证明是不可判定的,但该领域的最新进展已经允许为一大类程序确定此信息。决定程序是否终止的经典方法可以追溯到图灵本人,涉及到找到一个将程序状态映射到良序的排序函数,然后证明这个函数的结果对于每个可能的程序转换都是递减的。最近证明终止性的方法涉及从搜索单个排名函数转向搜索一组排名函数;这组是排名函数的选择,并使用了析取终止参数。在本文中,我们描述了一种新的技术,用于确定程序是否终止。我们的技术被应用到蒸馏程序转换的输出,将程序转换成一个简化的形式称为蒸馏形式。在蒸馏形式的程序被转换成相应的标记的过渡系统和终止可以证明,通过这个标记的过渡系统的所有可能的无限的痕迹将导致一个无限的下降,有根据的数据值。我们证明了我们的技术上的一些例子,并将其与以前的工作。
2020-08-07 cs.LO
Efficient Ranking Function-Based Termination Analysis with Bi-Directional Feedback
本文提出终止性分析框架Syndicate,通过双向反馈同时指导排序函数与循环不变量的搜索,在提升可证明终止程序数量的同时降低平均证明时间,性能优于现有工具。
2025-04-08 cs.LO
Ranking Templates for Linear Loops
提出了一种基于线性排序模板的线性循环程序终止参数约束综合的新方法。线性排序模板是参数化的、有良好基础的关系,使得对参数的分配产生排序函数。这种方法概括了现有的方法,使我们能够使用模板的许多不同的排名功能与仿射线性组件。我们讨论模板多相,分段,字典排序功能。由于这些排序模板需要严格和非严格的不等式,我们使用Motzkin的换位定理,而不是法卡斯引理转换生成的$\exists\forall$ -约束到一个$\exists$ -约束。
2014-01-21 cs.LO
Modular Automatic Complexity Analysis of Recursive Integer Programs
RWTH Aachen University(亚琛工业大学)
本文提出了一种基于新排名函数的模块化方法,用于递归整数程序的自动复杂度分析,并通过KoAT工具验证了其有效性。
2026-01-06 cs.LO
Ranking Templates for Linear Loops
提出了一种基于线性排序模板的线性循环程序终止参数约束综合的新方法。线性排序模板是参数化的、有良好基础的关系,使得对参数的分配产生排序函数。我们的方法概括了现有的方法,使我们能够使用模板的许多不同的排名功能与仿射线性组件。我们讨论模板多相,嵌套,分段,并行和字典排序功能。这些排名模板可以组合成更强大的模板。由于这些排序模板需要严格和非严格的不等式,我们使用Motzkin的换位定理,而不是法卡斯引理转换生成的$\exists\forall$ -约束到一个$\exists$ -约束。
2015-03-29 cs.LO
Size-Change Termination, Monotonicity Constraints and Ranking Functions
大小变化终止(SCT)是一种基于无限下降不可能性的程序终止性证明方法。为此,我们可以使用一个程序抽象,其中的转换是由(抽象)变量上的单调性约束来描述的。当只允许形式为x>y'和x>=y'的约束时,我们有大小变化图。现在,理论和实践都在这个受限制的框架中比在单调性约束的一般框架中更有发展。本文表明,它是可能的,以延长和适应一些理论从域的大小变化图的一般情况下,从而补充以前的工作单调性约束。特别是,我们提出了精确的决策程序终止,我们提供了一个程序来构建明确的全球排名功能的单调性约束在单指数时间,这是更好的比迄今已公布的,即使是大小变化图。
2011-03-03 cs.LO
Termination Analysis of Programs with Multiphase Control-Flow
具有多阶段控制流的程序是执行通过几个(可能是隐式的)阶段的程序。证明这些程序的终止(或推断相应的运行时边界)通常具有挑战性,因为它需要分别对这些阶段进行推理。本文讨论了证明这类程序可终止性的技术,特别是:(1)使用多阶段排序函数,其中我们将讨论几种程序表示的排序函数的理论问题;以及(2)使用控制流细化,特别是约束Horn子句的部分评估,以简化控制流,除其他外,用更简单的排序函数证明终止性。
2021-09-10 cs.LO cs.PL
Ranking and Repulsing Supermartingales for Reachability in Probabilistic Programs
计算可达概率是概率程序分析中的一个基本问题。本文的目的是全面和比较各种基于鞅的方法的过近似和欠近似的可达概率。基于现有的跨不同团体的工作(形式化验证、控制理论等),我们提供统一的账户。特别是,我们强调秩序理论的不动点-在计算机科学的经典课题-在概率程序的分析中的作用。这也导致了两种新的基于鞅的技术。我们给出了严格的证明,他们的健全性和完整性。我们也做了实验比较,使用我们的实现基于模板的合成算法,这些鞅。
2018-09-15 cs.LO cs.PL
Supermartingales, Ranking Functions and Probabilistic Lambda Calculus
在连续随机抽样和显式递归的λ演算中,基于排序上鞅,给出了几乎必然终止的一种证明方法。这一结果在三个方面得到了推广。反音排名函数对它们必须下降的速度限制较弱,并且适用于更广泛的程序。稀疏排名函数只在程序可达状态的子集上取值,因此定义起来更简单,也更灵活。排名功能方面的替代减少战略提供了更大的灵活性,并显着增加了适用性的排名上鞅的方法来证明几乎肯定的终止,由于一个新的(限制)合流的结果,这是独立的利益。反调排序函数的概念受到McIver、Morgan、Kaminski和Katoen在一阶命令式语言中的类似工作的启发,但适用于高阶函数式语言。稀疏排名功能和合流语义扩展是唯一的高阶设置。我们的方法可以用来证明几乎肯定终止的程序,是超出了文献中的方法,包括高阶和非仿射递归。
2021-04-30 cs.LO cs.PL
Generalizing Level Ranking Constraints for Monotone and Convex Aggregates
Tampere University(坦佩雷大学);Aalto University(阿尔托大学)
本研究泛化层级排序约束以系统支持ASP中的单调与凸聚合,通过程序变换得到通用形式,为翻译型ASP实现提供统一基础。
2023-08-30 cs.AI cs.LO
Geometric Nontermination Arguments
本文提出了一种新的非终止论元,称为几何非终止论元。几何非终止变元是无限执行的有限表示,其形式为几个几何级数之和。对于所谓的线性套索规划,我们可以使用非线性代数$\exists$ -约束来判定几何非终止变元的存在性。证明了具有非负特征值的确定性合取循环程序是非终止的当且仅当存在一个几何非终止变元。此外,我们提出了一个评估,证明我们的方法在实践中是可行的。
2016-09-16 cs.LO
The Automatic Synthesis of Linear Ranking Functions: The Complete Unabridged Version
证明通用顺序计算机程序终止的经典技术涉及程序的每个循环的排序函数的合成。线性排名函数特别有趣,因为许多终止循环都允许线性排名函数,并且存在自动合成线性排名函数的算法。本文提出了两种这样的算法:一种基于Sohn和Van Gelder 1991年的工作;另一种是Podelski和Rybalchenko于2004年提出的。值得注意的是,虽然这两种算法将在完全相同的条件下合成一个线性排序函数,但前者大多是未知的终止分析社区,其普遍适用性在本文之前从未提出过。在本文中,我们彻底证明这两种算法,我们证明了他们的正确性,我们比较他们的最坏情况下的复杂性和实验评估其效率,我们提出了一个开源的实现,他们将很容易包括终止分析功能的自动程序验证。
2012-04-01 cs.LO cs.PL
Neural Termination Analysis
University of Birmingham(伯明翰大学);Amazon, Inc.(亚马逊公司);University of Oxford(牛津大学)
我们介绍了一种新的方法来自动终止分析的计算机程序:我们使用神经网络来表示排名功能。排名函数将程序状态映射到从下到上有界的值,并随着程序的运行而减少;排名函数的存在证明程序终止。我们训练一个神经网络从采样的执行轨迹的程序,使网络的输出沿轨迹减少,然后,我们使用符号推理正式验证,它概括到所有可能的执行。在肯定的答案,我们获得一个正式的证书终止程序,我们称之为神经排名功能。我们证明,由于神经网络的能力,代表非线性函数,我们的方法成功的程序,是超出了国家的最先进的工具。这包括在循环条件中使用析取的程序和包含非线性表达式的程序。
2022-09-06 cs.LG cs.LO cs.PL
Algorithmic Analysis of Qualitative and Quantitative Termination Problems for Affine Probabilistic Programs
本文研究了实变量概率规划的终止性问题。有关问题是:1.定性问题,询问(i)程序是否以概率1终止(几乎肯定终止)和(ii)预期终止时间是否有限(有限终止); 2.定量问题,要求(i)近似预期的终止时间(期望问题)和(ii)计算边界B,使得在B步后终止的概率呈指数下降(浓度问题)。为了解决这些问题,我们利用排序上鞅的概念,这是一个强大的方法来证明概率程序的终止性。详细地说,我们专注于算法合成的线性排名上鞅仿射概率程序(APP)与天使和恶魔的非决定性。APP的一个重要子类是LRAPP,它被定义为所有APP的类,其上存在线性秩上鞅。我们的主要贡献如下。首先,我们证明了LRAPP的成员问题(i)可以决定在多项式时间的APP的最恶魔的非确定性,和(ii)是NP-困难的,在PSPACE的APP的天使的非确定性;此外,NP-困难的结果已经成立APP的没有概率和恶魔的非确定性。其次,我们证明了LRAPP的浓度问题可以解决在相同的复杂性LRAPP的成员问题。最后,我们证明了LRAPP上的期望问题可以在2 EXPTIME中求解,并且即使对于没有概率和非确定性的APP也是PSPACE困难的(即,确定性程序)。我们的实验结果表明,我们的方法来回答定性和定量的问题在APP的最恶魔的非决定论的有效性。
2015-10-28 cs.LO cs.PL
The Attribution Impossibility: No Feature Ranking Is Faithful, Stable, and Complete Under Collinearity
Independent Researchers(独立研究人员)
本文研究了在共线性情况下特征排名的不可能性,证明了无法同时满足忠实、稳定和完整性的条件,并提出了DASH方法作为解决途径,同时通过形式化验证展示了其理论基础和实际应用影响。
2026-04-08 cs.AI cs.LG cs.LO