Practical algebraic calculus and Nullstellensatz with the checkers Pacheck and Pastèque and Nuss-Checker.

IF 0.7 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS
Formal Methods in System Design Pub Date : 2024-01-01 Epub Date: 2022-04-11 DOI:10.1007/s10703-022-00391-x
Daniela Kaufmann, Mathias Fleury, Armin Biere, Manuel Kauers
{"title":"Practical algebraic calculus and Nullstellensatz with the checkers Pacheck and Pastèque and Nuss-Checker.","authors":"Daniela Kaufmann, Mathias Fleury, Armin Biere, Manuel Kauers","doi":"10.1007/s10703-022-00391-x","DOIUrl":null,"url":null,"abstract":"<p><p>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.</p><p><strong>Supplementary information: </strong>The online version contains supplementary material available at 10.1007/s10703-022-00391-x.</p>","PeriodicalId":12430,"journal":{"name":"Formal Methods in System Design","volume":" ","pages":"73-107"},"PeriodicalIF":0.7000,"publicationDate":"2024-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC11682020/pdf/","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Formal Methods in System Design","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s10703-022-00391-x","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2022/4/11 0:00:00","PubModel":"Epub","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0

Abstract

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.

Supplementary information: The online version contains supplementary material available at 10.1007/s10703-022-00391-x.

Abstract Image

实用代数微积分和Nullstellensatz与checkers Pacheck和pastureque和nuss checker
基于计算机代数的自动推理技术近年来重新引起了人们的兴趣,例如在算术电路的形式化验证中大量使用。但是,验证过程可能包含错误。生成和检查证明证书对于增加对自动推理工具的信任非常重要。对于代数推理,有两种证明系统,即Nullstellensatz和多项式演算,它们在证明复杂性方面是众所周知的。Nullstellensatz证明通过提供线性组合的余因子来捕获多项式是否可以表示为给定多项式集的线性组合。多项式微积分中的证明动态地捕捉到多项式可以用代数理想理论从一组给定的多项式中推导出来。在这篇文章中,我们提出了一个实用的代数微积分,作为多项式微积分的一个实例,它可以被有效地检验。我们进一步修改了实用代数演算,得到了包含线性组合的LPAC(实用代数演算+线性组合)。通过这种方式,我们不仅能够表示Nullstellensatz和多项式微积分证明,而且我们还能够混合这两种证明格式。此外,我们还引入了扩展规则来模拟实践中需要的基本重写技术。为了提高效率,我们还利用了现有多项式的索引,并包含了删除规则。我们在算术电路验证的用例上演示了不同的证明格式,并讨论了这些证明如何作为形式化验证的副产品产生。我们介绍了校验器Pacheck, pastuque和Nuss-Checker。Pacheck比past更有效地检查实际代数微积分中的证明,但后者是使用证明助手Isabelle/HOL进行正式验证的。Nuss-Checker工具用于检查Nullstellensatz格式的证明。补充信息:在线版本包含补充资料,提供地址为10.1007/s10703-022-00391-x。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Formal Methods in System Design
Formal Methods in System Design 工程技术-计算机:理论方法
CiteScore
2.00
自引率
12.50%
发文量
16
审稿时长
>12 weeks
期刊介绍: The focus of this journal is on formal methods for designing, implementing, and validating the correctness of hardware (VLSI) and software systems. The stimulus for starting a journal with this goal came from both academia and industry. In both areas, interest in the use of formal methods has increased rapidly during the past few years. The enormous cost and time required to validate new designs has led to the realization that more powerful techniques must be developed. A number of techniques and tools are currently being devised for improving the reliability, and robustness of complex hardware and software systems. While the boundary between the (sub)components of a system that are cast in hardware, firmware, or software continues to blur, the relevant design disciplines and formal methods are maturing rapidly. Consequently, an important (and useful) collection of commonly applicable formal methods are expected to emerge that will strongly influence future design environments and design methods.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信