[论文解读] Cooking String-Integer Conversions with Noodles
本文证明了将字符串方程、字符串长度上的线性算术以及字符串到整数转换组合而成的一阶、多排序、无量词理论的可满足性问题为不可判定。作者通过从幂算术的约化建立了这一结论,表明字符串-整数转换谓词仅使用字符串方程和长度函数即可表达(反之亦然),并为该理论的函数和谓词提供了一致但不完备的公理化体系。
We propose a method for efficient handling string constraints with string-integer conversions. It extends the recently introduced stabilization-based procedure for solving string (dis)equations with regular and length constraints. Our approach is to translate the conversions into a linear integer arithmetic formula, together with regular constraints and word equations. We have integrated it into the string solver Z3-Noodler, and our experiments show that it is competitive and on some established benchmarks even several orders of magnitude faster than the state of the art.
研究动机与目标
- 确定结合字符串方程、长度算术以及字符串-整数转换的核心理论的可判定性状态。
- 研究字符串-数值转换谓词是否可仅通过字符串方程和长度函数表达。
- 为该理论提供一个一致的、有限的公理化体系,并评估其完备性。
提出的方法
- 通过从幂算术(一种包含谓词 z = x * 2^y 的理论)约化,以证明 Ts,n 的不可判定性。
- 构建一种编码,仅使用 numstr 谓词、字符串方程和长度函数来表达幂谓词 π。
- 构建双重编码,表明 numstr 同样可使用 π、字符串方程和长度函数表达,从而确立互为可表达性。
- 形式化构造该理论中函数和谓词的有限且一致的公理化体系 Γ。
- 对 Γ 进行逻辑闭包以形成理论 TΓ,随后证明 TΓ 不完备。
- 利用词方程和 Makanin 算法的已知结果作为约化中的基础工具。
实验结果
研究问题
- RQ1结合字符串方程、长度上的线性算术以及字符串-整数转换的无量词理论 Ts,n 的可满足性问题是否可判定?
- RQ2字符串-数值转换谓词(numstr)是否可仅通过字符串方程和长度函数表达?
- RQ3当且仅当 numstr 可在相同片段中表达时,幂谓词 z = x * 2^y 是否也可通过字符串方程和长度函数表达?
- RQ4Ts,n 中函数和谓词的一致且有限的公理化体系是什么?
- RQ5作为该公理化体系的逻辑闭包得到的一阶、完全量化的理论 TΓ 是否完备?
主要发现
- Ts,n 的可满足性问题为不可判定,解决了形式化方法与逻辑领域长期悬而未决的问题。
- 字符串-整数转换谓词 numstr 可通过仅使用字符串方程、长度函数以及幂谓词来表达。
- 幂谓词 z = x * 2^y 可通过仅使用字符串方程、长度函数以及 numstr 来表达,从而确立了双向可表达性等价关系。
- 为 Ts,n 中的函数和谓词构造了一个一致且有限的公理化体系 Γ。
- 作为 Γ 的逻辑闭包得到的理论 TΓ 不完备,意味着存在相对于 Γ 独立的语句。
- 结果表明,Ts,n 的表达能力远超最初预期,尤其由于字符串-整数转换与算术之间的相互作用。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。