@MISC{Fox_lcf-stylebit-blasting, author = {Anthony C. J. Fox}, title = {LCF-style Bit-Blasting in HOL4}, year = {} }

Bookmark

OpenURL

Abstract

Abstract. This paper describes a new proof tool for deciding bit-vector problems in HOL4. The approach is based on “bit-blasting”, wherein word expressions are mapped into propositional formulas, which are then handed to a SAT solver. Significantly, the implementation uses the LCF approach, which means that the soundness of the tool is guaranteed by the soundness of HOL4’s logical kernel. 1

...d quickly (0.05 s). The tool presented here uses an established technique called bit-blasting. Although the implementation is much simpler than highly advanced bit-vector decision procedures (such as =-=[3]-=-), the tool is implemented in an LCF style, which is of great advantage with respect to ensuring logical soundness. The principle design objective was to produce a simple tool that can handle many “sm...

...d Isabelle, HOL4 users can also call external high-performance proof tools, treating these tools as oracles. Recently Tjark Weber has integrated SMT solvers with bit-vector capabilities into HOL, see =-=[2]-=-. Theorems that are tagged as coming from oracles are considered undesirable in HOL, since they do not offer the high assurance of LCF-style proofs. Weber uses our new LCF procedure to safely reconstr...

...roducts B n where n is the finite, fixed width (or length) of the bit-vector. At first glance, it does not seem possible to directly represent the set B n using HOL4’s simple type system. However, in =-=[4]-=- John Harrison showed that parametric polymorphism can be used to specify vector widths. Using Harrison’s approach bit-vectors are represented by the type bool[α] and the word length is given by the t...

...ractive proofs. In this sense the tool has already been very successful. Recently it has been used to great effect by Magnus Myreen during machine code verification as part of the Jitawa project, see =-=[5]-=-. There will be bit-vector problems that are too complex for the tool to handle quickly. Nevertheless, complex problems can often be tackled with some human guidance. 1 As with provers such as PVS and...

... with HOL4. This development has been made possible through the work of Hasan Amjad and Tjark Weber in integrating modern SAT solvers (zChaff and MiniSat) into HOL provers using the LCF approach, see =-=[1]-=-. Michael Norrish’s DPLL based proof procedure (described in the HOL4 Tutorial, see hol.sf.net) is also used to quickly handle small propositions. There are circumstances when bit-blasting is not appr...