HyperAIHyperAI

Command Palette

Search for a command to run...

5時間前
Reasoning

証明器とソルバの検証

René Thiemann

概要

自動定理証明器、SAT(充足可能性)ソルバ、SMT(背景理論付き充足可能性)ソルバ、停止性解析器などの自動推論ツールは、様々なアプローチ、特に認証と検証によって証明支援系と接続することができる。本章では、利用可能なアプローチを概観し比較するとともに、いくつかの成功事例について言及する。

One-sentence Summary

René Thiemann's chapter surveys and contrasts the two principal approaches, certification and verification, for integrating automatic deduction tools such as theorem provers, SAT/SMT solvers, and termination analyzers with proof assistants, and reviews several successful applications of these methods.

Key Contributions

  • The chapter reviews and compares certification and verification approaches for connecting automatic deduction tools (SAT, SMT, termination analyzers) with proof assistants.
  • Verified certifiers have detected bugs in deduction tool implementations that had gone unnoticed for years, and they are now used to validate a large number of automatically generated proofs in tool competitions.
  • Formal verification of core deduction techniques has corrected faulty published proofs and enabled safe exploration of extensions, and a verified SAT solver (IsaSAT) outperformed unverified competitors in the EDA-Challenge 2021.

Introduction

The authors examine the interplay between proof assistants and automatic deduction tools such as SAT, SMT, and termination analyzers. Reliable automation is critical for verifying complex properties, but manual certification of these tools’ outputs is error-prone, inefficient, and fails to scale beyond toy examples. The authors show how proof assistants can formally verify the inference rules and termination orderings that underlie deduction tools, using the lexicographic path ordering (LPO) and recursive path ordering with status (RPO) as a running example. This formal treatment not only increases the trustworthiness of automated reasoners—verified certifiers have uncovered long‑hidden bugs—but also allows developers to safely modify or extend core inference rules without fear of introducing errors.

Method

The authors propose certification as a method to validate results from unreliable deduction tools. To address the need for high reliability, they leverage proof assistants, which possess a small trusted code base. This approach allows for the formal verification of both the soundness of applied techniques and the correctness of their application.

One primary workflow is certification via proof script generation. As shown in the figure below:

This process involves three main steps. First, the authors develop a library that formalizes domain-specific notions and theorems, such as strong normalization and term rewriting, without including specific inputs. Second, a proof script generator transforms a given input certificate into a proof script for the proof assistant. This script defines the property of interest and provides a formal proof by encoding the certificate's proof. Third, the proof assistant checks the script. The generator can handle certificates in different ways: it can translate inference trees from extended certificates into introduction rules, reconstruct trees from basic certificates, or invoke tailor-made tactics. Alternatively, a deep embedding can be used to implement a verified algorithm within the proof assistant to ensure the ordering relation r\succ_rr holds for all rules.

However, proof script generation can be slow due to the overhead of running the proof assistant. To address this, the authors introduce an alternative workflow: external certification. This method is applicable when proof scripts consist mainly of invoking verified algorithms that provide sufficient criteria for the desired property.

As shown in the figure below:

In this external certification workflow, the initial library development remains the same. The second step involves providing verified algorithms for each supported property and certificate type. These algorithms are proven to be sufficient conditions (e.g., if the algorithm accepts input III and certificate CCC, then property P(I)P(I)P(I) holds) and are exported into an executable program. The final step runs this executable program on the inputs and certificates, using a wrapper to select the appropriate algorithm.

External certification is significantly faster than the proof script approach, allowing more certificates to be handled in reasonable time, especially for tasks requiring heavy computations. To ensure efficiency, the authors often use a refinement approach, proving an abstract algorithm correct and then refining it into an executable version with efficient data structures. While external certification is less brittle to changes in the proof assistant, it has a larger trusted code base because it relies on the code generator and external compiler, and it precludes certain design decisions like creating specific datatypes for signatures.


AIでAIを構築

アイデアからローンチまで — 無料のAIコーディング支援、すぐに使える環境、最高のGPU価格でAI開発を加速。

AI コーディング補助
すぐに使える GPU
最適な料金体系

HyperAI Newsletters

最新情報を購読する
北京時間 毎週月曜日の午前9時 に、その週の最新情報をメールでお届けします
メール配信サービスは MailChimp によって提供されています