1. Formal methods (Computer science) 2. Software engineering. 3. Expert systems (Computer science) 1.
Clausal proofs have become a popular approach to validate the results of SAT solvers. However, validating clausal proofs in the most widely supported format (DRAT) is expensive even in highly optimized implementations. We present a new format, called LRAT, which extends the DRAT format with hints that facilitate a simple and fast validation algorithm. Checking validity of LRAT proofs can be implemented using trusted systems such as the languages supported by theorem provers. We demonstrate this by implementing two certified LRAT checkers, one in Coq and one in ACL2.
ACL2 is a re-implemented extended version of Boyer and Moore's Nqthm and Kaufmann's Pc-Nqthm, intended for large scale verification projects. This paper deals primarily with how we scaled up Nqthm's logic to an "industrial strength" programming language-namely, a large applicative subset of Common Lisp-while preserving the use of total functions within the logic. This makes it possible to run formal models efficiently while keeping the logic simple. We enumerate many other important features of ACL2 and we briefly summarize two industrial applications: a model of the Motorola CAP digital signal processing chip and the proof of the correctness of the kernel of the floating point division algorithm on the AMD5 K 86 microprocessor by Advanced Micro Devices, Inc. Index terms-formal verification, automatic theorem proving, computational logic, partial functions, total functions, type checking, microcode verification, floating point division, digital signal processing Provers providing strong support for specification of computing systems (see below) CTL model checkers [29, 11] Geometry provers [13] First-order provers [28] Classical Mathematics [21], [41] Constructive Mathematics [15, 16] Provers with symbolic computation engines [14] Meta-theoretic systems [34] Provers in the first category are distinguished by the convenience they offer for specifying computing systems. Cases could be made that each prover in the first category has capabilities in most of the other categories; conversely, some provers in the other categories could be placed in this one. The first category may be subdivided as follows. Higher-order tactic-based provers, e.g., HOL [20] Higher-order heavily-automated provers, e.g., PVS [18] First-order heavily-automated provers, e.g., ACL2 and Nqthm Provers integrated into program verification systems, e.g., Never/EVES [17] Again, space does not permit detailed comparisons here. Bill Young's paper [42] in this Special Issue compares PVS and ACL2 on a particular example. ACL2's ancestral system, Nqthm, is compared to NuPRL in [3]. It is extremely difficult to compare two general-purpose theorem provers at least in part because experienced users can dramatically affect system behavior by proper formulation of the problems. That said, other systems cited above support logics more powerful than that of ACL2. On the other hand, ACL2's theorem prover encourages more reliance by the user on the system's automatic aspects. For users happy with an essentially quantifier-free, first-order logic, we believe that ACL2 offers more overall convenience for the type of reasoning required to model and prove properties of digital computing systems. In addition to the sophisticated inference engine it provides, ACL2 provides extremely efficient evaluation, allowing formal models often to serve as simulators for the systems described. This, in turn, provides some immediate proof-independent payoff, e.g., requirements testing and code development. Additional reasons for ACL2's convenience can be broadly lumped into the "pr...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with đź’™ for researchers
Part of the Research Solutions Family.