一句话:提出模块化原始-对偶方法求解带背景理论的一阶不动点逻辑 µCLP,并将其用于时序验证。
论文研究带背景理论与任意嵌套归纳/余归纳谓词的一阶不动点逻辑 µCLP 的有效性判定。其方法将 µCLP 有效性归约为谓词约束满足问题,并利用 µCLP 对补封闭:对原始实例取 De Morgan 对偶,在原始与对偶两侧并行求解,以单个(余)归纳谓词为粒度交换部分解作为可靠上/下界,使两侧解空间互相收缩、快速收敛。作者将终止/非终止、LTL、CTL 及无限状态程序的模态 µ 演算模型检测编码为 µCLP,利用程序循环与性质子公式的模块性,从而高效求解多种时序验证问题。
We present a novel approach to deciding the validity of formulas in first-order fixpoint logic with background theories and arbitrarily nested inductive and co-inductive predicates defining least and greatest fixpoints. Our approach is constraint-based, and reduces the validity checking problem of the given first-order-fixpoint logic formula (formally, an instance in a language called µCLP) to a constraint satisfaction problem for a recently introduced predicate constraint language.Coupled with an existing sound-and-relatively-complete solver for the constraint language, this novel reduction alone already gives a sound and relatively complete method for deciding µCLP validity, but we further improve it to a novelmodular primal-dualmethod. The key observations are (1) µCLP is closed under complement such that each (co-)inductive predicate in the originalprimalinstance has a corresponding (co-)inductive predicate representing its complement in thedualinstance obtained by taking the standard De Morgan’s dual of the primal instance, and (2)partial solutionsfor (co-)inductive predicates synthesized during the constraint solving process of the primal side can be used as sound upper-bounds of the corresponding (co-)inductive predicates in the dual side, and vice versa. By solving the primal and dual problems in parallel and exchanging each others’ partial solutions as sound bounds, the two processes mutually reduce each others’ solution spaces, thus enabling rapid convergence. The approach is alsomodularin that the bounds are synthesized and exchanged at granularity of individual (co-)inductive predicates.We demonstrate the utility of our novel fixpoint logic solving by encoding a wide variety of temporal verification problems in µCLP, including termination/non-termination, LTL, CTL, and even the full modal µ-calculus model checking of infinite state programs. The encodings exploit the modularity in both the program and the property by expressing each loops and (recursive) functions in the program and sub-formulas of the property as individual (possibly nested) (co-)inductive predicates. Together with our novel modular primal-dual µCLP solving, we obtain a novel approach to efficiently solving a wide range of temporal verification problems.
@article{paperbot2065,
title = {Modular Primal-Dual Fixpoint Logic Solving for Temporal Verification},
author = {Hiroshi Unno and Tachio Terauchi and Yu Gu and Eric Koskinen},
journal = {Proceedings of the ACM on Programming Languages},
volume = {7},
number = {POPL},
year = {2023},
doi = {10.1145/3571265}
}