当前位置: X-MOL 学术Form. Methods Syst. Des. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Practical algebraic calculus and Nullstellensatz with the checkers Pacheck and Pastèque and Nuss-Checker
Formal Methods in System Design ( IF 0.8 ) Pub Date : 2022-04-11 , DOI: 10.1007/s10703-022-00391-x
Daniela Kaufmann 1 , Mathias Fleury 1 , Armin Biere 2 , Manuel Kauers 3
Affiliation  

Automated reasoning techniques based on computer algebra have seen renewed interest in recent years and are for example heavily used in formal verification of arithmetic circuits. However, the verification process might contain errors. Generating and checking proof certificates is important to increase the trust in automated reasoning tools. For algebraic reasoning, two proof systems, Nullstellensatz and polynomial calculus, are available and are well-known in proof complexity. A Nullstellensatz proof captures whether a polynomial can be represented as a linear combination of a given set of polynomials by providing the co-factors of the linear combination. Proofs in polynomial calculus dynamically capture that a polynomial can be derived from a given set of polynomials using algebraic ideal theory. In this article we present the practical algebraic calculus as an instantiation of the polynomial calculus that can be checked efficiently. We further modify the practical algebraic calculus and gain LPAC (practical algebraic calculus + linear combinations) that includes linear combinations. In this way we are not only able to represent both Nullstellensatz and polynomial calculus proofs, but we are also able to blend both proof formats. Furthermore, we introduce extension rules to simulate essential rewriting techniques required in practice. For efficiency we also make use of indices for existing polynomials and include deletion rules too. We demonstrate the different proof formats on the use case of arithmetic circuit verification and discuss how these proofs can be produced as a by-product in formal verification. We present the proof checkers Pacheck, Pastèque, and Nuss-Checker. Pacheck checks proofs in practical algebraic calculus more efficiently than Pastèque, but the latter is formally verified using the proof assistant Isabelle/HOL. The tool Nuss-Checker is used to check proofs in the Nullstellensatz format.



中文翻译:

实用代数微积分和 Nullstellensatz 与跳棋 Pacheck 和 Pastèque 以及 Nuss-Checker

近年来,基于计算机代数的自动推理技术重新引起人们的兴趣,例如大量用于算术电路的形式验证。但是,验证过程可能包含错误。生成和检查证明证书对于增加对自动推理工具的信任非常重要。对于代数推理,可以使用 Nullstellensatz 和多项式演算这两个证明系统,并且在证明复杂性方面众所周知。Nullstellensatz 证明通过提供线性组合的辅因子来捕获多项式是否可以表示为给定多项式集合的线性组合。多项式微积分中的证明动态地捕捉到多项式可以使用代数理想理论从给定的多项式集合中推导出来。在本文中,我们将实用的代数微积分作为可以有效检查的多项式微积分的实例。我们进一步修改了实用代数和增益 LPAC(实用代数+线性组合),其中包括线性组合。通过这种方式,我们不仅能够表示 Nullstellensatz 和多项式微积分证明,而且还能够混合两种证明格式。此外,我们引入了扩展规则来模拟实践中所需的基本重写技术。为了提高效率,我们还利用现有多项式的索引并包括删除规则。我们在算术电路验证的用例中展示了不同的证明格式,并讨论了如何将这些证明作为形式验证的副产品生成。我们提供证明检查器 我们进一步修改了实用代数和增益 LPAC(实用代数+线性组合),其中包括线性组合。通过这种方式,我们不仅能够表示 Nullstellensatz 和多项式微积分证明,而且还能够混合两种证明格式。此外,我们引入了扩展规则来模拟实践中所需的基本重写技术。为了提高效率,我们还利用现有多项式的索引并包括删除规则。我们在算术电路验证的用例中展示了不同的证明格式,并讨论了如何将这些证明作为形式验证的副产品生成。我们提供证明检查器 我们进一步修改了实用代数和增益 LPAC(实用代数+线性组合),其中包括线性组合。通过这种方式,我们不仅能够表示 Nullstellensatz 和多项式微积分证明,而且还能够混合两种证明格式。此外,我们引入了扩展规则来模拟实践中所需的基本重写技术。为了提高效率,我们还利用现有多项式的索引并包括删除规则。我们在算术电路验证的用例中展示了不同的证明格式,并讨论了如何将这些证明作为形式验证的副产品生成。我们提供证明检查器 通过这种方式,我们不仅能够表示 Nullstellensatz 和多项式微积分证明,而且还能够混合两种证明格式。此外,我们引入了扩展规则来模拟实践中所需的基本重写技术。为了提高效率,我们还利用现有多项式的索引并包括删除规则。我们在算术电路验证的用例中展示了不同的证明格式,并讨论了如何将这些证明作为形式验证的副产品生成。我们提供证明检查器 通过这种方式,我们不仅能够表示 Nullstellensatz 和多项式微积分证明,而且还能够混合两种证明格式。此外,我们引入了扩展规则来模拟实践中所需的基本重写技术。为了提高效率,我们还利用现有多项式的索引并包括删除规则。我们在算术电路验证的用例中展示了不同的证明格式,并讨论了如何将这些证明作为形式验证的副产品生成。我们提供证明检查器 为了提高效率,我们还利用现有多项式的索引并包括删除规则。我们在算术电路验证的用例中展示了不同的证明格式,并讨论了如何将这些证明作为形式验证的副产品生成。我们提供证明检查器 为了提高效率,我们还利用现有多项式的索引并包括删除规则。我们在算术电路验证的用例中展示了不同的证明格式,并讨论了如何将这些证明作为形式验证的副产品生成。我们提供证明检查器PacheckPastèqueNuss-CheckerPacheck比Pastèque更有效地检查实际代数演算中的证明,但后者是使用证明助手 Isabelle/HOL 正式验证的。Nuss-Checker工具用于检查 Nullstellensatz 格式的证明。

更新日期:2022-04-11
down
wechat
bug