## Tool Building Requirements for an API to First-Order Solvers

Citations: | 3 - 0 self |

### BibTeX

@MISC{Grundy_toolbuilding,

author = {Jim Grundy and Tom Melham and Sava Krstić and Sean Mclaughlin},

title = {Tool Building Requirements for an API to First-Order Solvers},

year = {}

}

### OpenURL

### Abstract

Abstract. Effective formal verification tools require that robust implementations of automatic procedures for first-order logic and satisfiability modulo theories be integrated into expressive interactive frameworks for logical deduction, such as higher-order logic

### Citations

1307 | Lectures on constructive functional programming
- Bird
- 1989
(Show Context)
Citation Context ...applicable, it should be possible to undo a state modifying operation. 76sIf presented with a state-modifying API we can always restore transparency to our code by providing a monadic interface to it =-=[14]-=-, as we do in our integration with CVC Lite. But the overhead of the monadic style only emphasizes our preference for an API that minimizes state modifications. If an API provides a facility to undo s... |

204 |
CVC Lite: A new implementation of the cooperating validity checker
- Barrett, Berezin
- 2004
(Show Context)
Citation Context ...ple, we have integrated an implementation of Harrison’s model elimination procedure [8] and have found it to be an invaluable workhorse for first-order proof support. We have also integrated CVC Lite =-=[2]-=- and used it in an experimental project. Based on this experience, and without claiming originality, we give an account of some pragmatic requirements for smooth integration of decision procedure impl... |

157 | Towards a mathematical science of computation
- McCarthy
- 1962
(Show Context)
Citation Context ...d also support the the discrimination and destruction of terms and formulas. The interface should follow the style described by McCarthy for the construction and manipulation of abstract syntax trees =-=[10]-=-. McCarthy’s approach uses functions to construct each syntactic form of expression, discriminate expressions based on their syntactic form, and destruct an expression of a particular syntactic form i... |

107 | Integrating decision procedures into heuristic theorem provers: A case study of linear arithmetic
- Boyer, Moore
- 1988
(Show Context)
Citation Context ...gn of the PROSPER toolkit [5], an integration framework for both in-memory and distributed communication of higher-order logic data. Others have had similar experiences, starting with Boyer and Moore =-=[3]-=- and more recently with PVS [4]. This paper serves to emphasize and offer precise guidance in line with this other work. Our requirements have focused on the need for a suitable API to the data struct... |

58 |
eds.): Introduction to HOL: a theorem proving environment for higher order logic
- Gordon, Melham
- 1993
(Show Context)
Citation Context ...functional programming language [7], into which several verification technologies are integrated—including BDDs, SAT procedures, model checkers, and a higher-order logic theorem prover similar to HOL =-=[6]-=-. The reFLect language is used to coordinate deployment of the integrated tools to solve large and challenging verification problems, as well as to explore specifications and hardware designs by symbo... |

49 | First-order proof tactics in higher-order logic theorem provers
- Hurd
- 2003
(Show Context)
Citation Context ...ed in the first-order fragment of higher-order logic or reduce to first-order subproblems. And even higher-order properties can sometimes be proved by first-order reasoning when appropriately encoded =-=[9]-=-. This clearly leads to the desire to integrate first-order solvers into interactive higher-order reasoning tools. 2.1 In-Memory Integrations In our interactive proof system, a user may invoke a solve... |

49 | A Higher-Order Implementation of Rewriting
- Paulson
- 1983
(Show Context)
Citation Context .... Our integration with CVC Lite packages the CVC Lite simplifier as a conversion, a general form of trusted expression transformation that users of our theorem prover can pass into our rewrite engine =-=[11]-=-. The user can simplify a goal by replacing every subexpression that CVC Lite can simplify with the result of the simplification. To implement simplifications, we traverse an expression in our logic a... |

24 | A reflective functional language for hardware design and theorem proving
- Grundy, Melham, et al.
- 2003
(Show Context)
Citation Context ...tion of high-performance processor designs are employed at Intel Corporation [13]. The verification framework, currently known as forte3, 4 is built around the reFLect functional programming language =-=[7]-=-, into which several verification technologies are integrated—including BDDs, SAT procedures, model checkers, and a higher-order logic theorem prover similar to HOL [6]. The reFLect language is used t... |

23 |
Level Formal Verification of Next-Generation Microprocessors
- Schubert, “High
- 2003
(Show Context)
Citation Context ...greater and easier uptake of their implementations by verification users. A range of proof technologies for formal verification of high-performance processor designs are employed at Intel Corporation =-=[13]-=-. The verification framework, currently known as forte3, 4 is built around the reFLect functional programming language [7], into which several verification technologies are integrated—including BDDs, ... |

20 | Optimizing proof search in model elimination
- Harrison
- 1996
(Show Context)
Citation Context ...t for first-order proof automation (modulo theories) within the system’s higher-order logic theorem prover. For example, we have integrated an implementation of Harrison’s model elimination procedure =-=[8]-=- and have found it to be an invaluable workhorse for first-order proof support. We have also integrated CVC Lite [2] and used it in an experimental project. Based on this experience, and without claim... |

14 | A Methodology for Large-Scale Hardware Verification
- Aagaard, Melham, et al.
- 2000
(Show Context)
Citation Context ...ning process. With reFLect, we make liberal use of local lets for readability, as in the specification given in Figure 1 of the float-point rounding operation used in an actual processor verification =-=[1]-=-. Second, having local lets facilitates space-saving sharing in off-line (textual) representations of otherwise large formulas. Desire 4 The logic should include let constructs for introducing local t... |

2 | Integrating verification components: The interface is the message
- Moura, Owre, et al.
- 2004
(Show Context)
Citation Context ...an integration framework for both in-memory and distributed communication of higher-order logic data. Others have had similar experiences, starting with Boyer and Moore [3] and more recently with PVS =-=[4]-=-. This paper serves to emphasize and offer precise guidance in line with this other work. Our requirements have focused on the need for a suitable API to the data structures representing a firstorder ... |