Results 1  10
of
21
Integrating decision procedures into heuristic theorem provers: A case study of linear arithmetic
 Machine Intelligence
, 1988
"... We discuss the problem of incorporating into a heuristic theorem prover a decision procedure for a fragment of the logic. An obvious goal when incorporating such a procedure is to reduce the search space explored by the heuristic component of the system, as would be achieved by eliminating from the ..."
Abstract

Cited by 118 (10 self)
 Add to MetaCart
(Show Context)
We discuss the problem of incorporating into a heuristic theorem prover a decision procedure for a fragment of the logic. An obvious goal when incorporating such a procedure is to reduce the search space explored by the heuristic component of the system, as would be achieved by eliminating from the system’s data base some explicitly stated axioms. For example, if a decision procedure for linear inequalities is added, one would hope to eliminate the explicit consideration of the transitivity axioms. However, the decision procedure must then be used in all the ways the eliminated axioms might have been. The difficulty of achieving this degree of integration is more dependent upon the complexity of the heuristic component than upon that of the decision procedure. The view of the decision procedure as a &quot;black box &quot; is frequently destroyed by the need pass large amounts of search strategic information back and forth between the two components. Finally, the efficiency of the decision procedure may be virtually irrelevant; the efficiency of the final system may depend most heavily on how easy it is to communicate between the two components. This paper is a case study of how we integrated a linear arithmetic procedure into a heuristic theorem prover. By linear arithmetic here we mean the decidable subset of number theory dealing with universally quantified formulas composed of the logical connectives, the identity relation, the Peano &quot;less than &quot; relation, the Peano addition and subtraction functions, Peano constants,
The BoyerMoore Theorem Prover and Its Interactive Enhancement
, 1995
"... . The socalled "BoyerMoore Theorem Prover" (otherwise known as "Nqthm") has been used to perform a variety of verification tasks for two decades. We give an overview of both this system and an interactive enhancement of it, "PcNqthm," from a number of perspectives. F ..."
Abstract

Cited by 34 (0 self)
 Add to MetaCart
. The socalled "BoyerMoore Theorem Prover" (otherwise known as "Nqthm") has been used to perform a variety of verification tasks for two decades. We give an overview of both this system and an interactive enhancement of it, "PcNqthm," from a number of perspectives. First we introduce the logic in which theorems are proved. Then we briefly describe the two mechanized theorem proving systems. Next, we present a simple but illustrative example in some detail in order to give an impression of how these systems may be used successfully. Finally, we give extremely short descriptions of a large number of applications of these systems, in order to give an idea of the breadth of their uses. This paper is intended as an informal introduction to systems that have been described in detail and similarly summarized in many other books and papers; no new results are reported here. Our intention here is merely to present Nqthm to a new audience. This research was supported in part by ONR Contract N...
A Theorem Prover for a Computational Logic
, 1990
"... We briefly review a mechanical theoremprover for a logic of recursive functions over finitely generated objects including the integers, ordered pairs, and symbols. The prover, known both as NQTHM and as the BoyerMoore prover, contains a mechanized principle of induction and implementations of line ..."
Abstract

Cited by 28 (0 self)
 Add to MetaCart
(Show Context)
We briefly review a mechanical theoremprover for a logic of recursive functions over finitely generated objects including the integers, ordered pairs, and symbols. The prover, known both as NQTHM and as the BoyerMoore prover, contains a mechanized principle of induction and implementations of linear resolution, rewriting, and arithmetic decision procedures. We describe some applications of the prover, including a proof of the correct implementation of a higher level language on a microprocessor defined at the gate level. We also describe the ongoing project of recoding the entire prover as an applicative function within its own logic.
Verification of the MillerRabin Probabilistic Primality Test
, 2003
"... Using the HOL theorem prover, we apply our formalization of probability theory to specify and verify the MillerRabin probabilistic primality test. The version of the test commonly found in algorithm textbooks implicitly accepts probabilistic termination, but our own verified implementation satisfie ..."
Abstract

Cited by 19 (3 self)
 Add to MetaCart
(Show Context)
Using the HOL theorem prover, we apply our formalization of probability theory to specify and verify the MillerRabin probabilistic primality test. The version of the test commonly found in algorithm textbooks implicitly accepts probabilistic termination, but our own verified implementation satisfies the stronger property of guaranteed termination. Completing the proof of correctness requires a significant body of group theory and computational number theory to be formalized in the theorem prover. Once verified, the primality test can either be executed in the logic (using rewriting) and used to prove the compositeness of numbers, or manually extracted to Standard ML and used to find highly probable primes.
A mechanical proof of the unsolvability of the halting problem
 Journal of the Association for Computing Machinery
, 1984
"... ..."
(Show Context)
Verifying a SelfStabilizing Mutual Exclusion Algorithm
 IN PROCEEDINGS OF IFIP WORKING CONFERENCE ON PROGRAMMING CONCEPT AND METHODS. CHAPMAN
, 1998
"... We present a detailed description of a machineassisted verification of an algorithm for selfstabilizing mutual exclusion that is due to Dijkstra [Dij74]. This verification was constructed using PVS. We compare the mechanical verification to the informal proof sketch on which it is based. This c ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
We present a detailed description of a machineassisted verification of an algorithm for selfstabilizing mutual exclusion that is due to Dijkstra [Dij74]. This verification was constructed using PVS. We compare the mechanical verification to the informal proof sketch on which it is based. This comparison yields several observations regarding the challenges of formalizing and mechanically verifying distributed algorithms in general.
Functional correctness proofs of encryption algorithms
 In Proceedings of 12th Conference on Logic for Programming Artificial Intelligence and Reasoning (LPAR 2005), number 3835 in LNAI
, 2005
"... Abstract. We discuss a collection of mechanized formal proofs of symmetric key block encryption algorithms (AES, MARS, Twofish, RC6, Serpent, IDEA, and TEA), performed in an implementation of higher order logic. For each algorithm, functional correctness, namely that decryption inverts encryption, i ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
(Show Context)
Abstract. We discuss a collection of mechanized formal proofs of symmetric key block encryption algorithms (AES, MARS, Twofish, RC6, Serpent, IDEA, and TEA), performed in an implementation of higher order logic. For each algorithm, functional correctness, namely that decryption inverts encryption, is formally proved by a simple but effective proof methodology involving application of invertibility lemmas in the course of symbolic evaluation. Block ciphers are then lifted to the encryption of arbitrary datatypes by using modes of operation to encrypt lists of bits produced by a polytypic encoding method. 1
Proofchecking, theoremproving and program verification
, 1983
"... This article consists of three parts: a tutorial introduction to a computer program that proves theorems by induction; a brief description of recent applications of that theoremprover; and a discussion of several nontechnical aspects of the problem of building automatic theoremprovers. The theorem ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
This article consists of three parts: a tutorial introduction to a computer program that proves theorems by induction; a brief description of recent applications of that theoremprover; and a discussion of several nontechnical aspects of the problem of building automatic theoremprovers. The theoremprover described has proved theorems such as the uniqueness of prime factorizations, Fermat’s theorem, and the recursive unsolvability of the halting problem. The article is addressed to those who know nothing about automatic theoremproving but would like a glimpse of one such system. This article definitely does not provide a balanced view of all automatic theoremproving, the literature of which is already rather large and technical. 1Good places to start on the technical literature are [Loveland 78] and [Bledsoe 77]. Nor do we describe the details of our theoremproving system, but they can be found in the books, articles, and technical reports that we reference. In our opinion, progress in automatic theoremproving is largely a function of the mathematical ability of those attempting to build such systems. We encourage good mathematicians to work in the field.