Results 1 -
3 of
3
Efficient execution in an automated reasoning environment
- Journal of Functional Programming
, 2006
"... Abstract We describe a method to permit the user of a mathematical logic to write elegant logical definitions while allowing sound and efficient execution. We focus on the ACL2 logic and automated reasoning environment. ACL2 is used by industrial researchers to describe microprocessor designs and ot ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Abstract We describe a method to permit the user of a mathematical logic to write elegant logical definitions while allowing sound and efficient execution. We focus on the ACL2 logic and automated reasoning environment. ACL2 is used by industrial researchers to describe microprocessor designs and other complicated digital systems. Properties of the designs can be formally established with the theorem prover. But because ACL2 is also a functional programming language, the formal models can be executed as simulation engines. We implement features that afford these dual applications, namely formal proof and execution on industrial test suites. In particular, the features allow the user to install, in a logically sound way, alternative executable counterparts for logically-defined functions. These alternatives are often much more efficient than the logically equivalent terms they replace. We discuss several applications of these features. 1 Introduction This paper is about a way to permit the functional programmer to prove efficientprograms correct. The idea is to allow the provision of two definitions of the program: an elegant definition that supports effective reasoning by a mechanizedtheorem prover, and an efficient definition for evaluation. A bridge of this sort,
Abstract
"... This work presents a formalization of the theorem of existence of most general unifiers in firstorder signatures on the higher-order proof assistant PVS. The proof is close to the textbook proofs that are based on proving the correctness of the well-known Robinson’s first-order unification algorithm ..."
Abstract
- Add to MetaCart
This work presents a formalization of the theorem of existence of most general unifiers in firstorder signatures on the higher-order proof assistant PVS. The proof is close to the textbook proofs that are based on proving the correctness of the well-known Robinson’s first-order unification algorithm and it was applied inside a complete PVS development for term rewriting systems that provides a complete formalization of the Knuth-Bendix Critical Pair theorem. The formalization methodology can be directly applied to verify unification algorithms in the style of the original Robinson’s one as it is illustrated. 1
Verification of the Completeness of Unification Algorithms à la
"... Abstract. This work presents a general methodology for verification of the completeness of firstorder unification algorithms à la Robinson developed in the higher-order proof assistant PVS. The methodology is based on a previously developed formalization of the theorem of existence of most general u ..."
Abstract
- Add to MetaCart
Abstract. This work presents a general methodology for verification of the completeness of firstorder unification algorithms à la Robinson developed in the higher-order proof assistant PVS. The methodology is based on a previously developed formalization of the theorem of existence of most general unifiers for unifiable terms over first-order signatures. Termination and soundness proofs of any unification algorithm are proved by reusing the formalization of this theorem and completeness should be proved according to the specific way in that non unifiable inputs are treated by the algorithm. 1

