Results 1 -
5 of
5
An Industrial Strength Theorem Prover for a Logic Based on Common Lisp
- IEEE Transactions on Software Engineering
, 1997
"... 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 Comm ..."
Abstract
-
Cited by 104 (5 self)
- Add to MetaCart
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 AMD5K 86 microprocessor by Advanced Micro Devices, Inc.
ACL2: An Industrial Strength Version of Nqthm
, 1996
"... ACL2 is a reimplemented extended version of Boyer and Moore's Nqthm and Kaufmann's Pc-Nqthm, intended for large scale verification projects. However, the logic supported by ACL2 is compatible with the applicative subset of Common Lisp. The decision to use an "industrial strength" programming languag ..."
Abstract
-
Cited by 57 (5 self)
- Add to MetaCart
ACL2 is a reimplemented extended version of Boyer and Moore's Nqthm and Kaufmann's Pc-Nqthm, intended for large scale verification projects. However, the logic supported by ACL2 is compatible with the applicative subset of Common Lisp. The decision to use an "industrial strength" programming language as the foundation of the mathematical logic is crucial to our advocacy of ACL2 in the application of formal methods to large systems. However, one of the key reasons Nqthm has been so successful, we believe, is its insistence that functions be total. Common Lisp functions are not total and this is one of the reasons Common Lisp is so efficient. This paper explains how we scaled up Nqthm's logic to Common Lisp, preserving the use of total functions within the logic but achieving Common Lisp execution speeds. 1 History ACL2 is a direct descendent of the Boyer-Moore system, Nqthm [8, 12], and its interactive enhancement, Pc-Nqthm [21, 22, 23]. See [7, 25] for introductions to the two ancestr...
Non-Constructive Computational Mathematics
- Journal of Automated Reasoning
, 1995
"... We describe a non-constructive extension to Primitive Recursive Arithmetic, both abstractly, and as implemented on the Boyer-Moore prover. Abstractly, this extension is obtained by adding the unbounded ¯ operator applied to primitive recursive functions; doing so, one can define the Ackermann functi ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We describe a non-constructive extension to Primitive Recursive Arithmetic, both abstractly, and as implemented on the Boyer-Moore prover. Abstractly, this extension is obtained by adding the unbounded ¯ operator applied to primitive recursive functions; doing so, one can define the Ackermann function and prove the consistency of Primitive Recursive Arithmetic. The implementation does not mention the ¯ operator explicitly, but has the strength to define the ¯ operator through the built-in functions EVAL$ and V&C$. x1. INTRODUCTION This paper is a mixture of theory and practice. The theory begins with the notions of constructivism and finitism in the philosophy of mathematics. As with all philosophical notions, these cannot appear directly in a mathematical theorem or a computer program, but they have been useful guides over the past hundred years to discovering mathematical results, and more recently, to designing computer implementations. Informally, a constructivist only believes in...
Computer Theorem Proving in Math
"... We give an overview of issues surrounding computerverified theorem proving in the standard pure-mathematical context. ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We give an overview of issues surrounding computerverified theorem proving in the standard pure-mathematical context.
Using Theorem Proving and Algorithmic Decision Procedures for Large-Scale System Verification
, 2005
"... To the few people who believed I could do it even when I myself didn’t Acknowledgments This dissertation has been shaped by many people, including my teachers, collabo-rators, friends, and family. I would like to take this opportunity to acknowledge the influence they have had in my development as a ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
To the few people who believed I could do it even when I myself didn’t Acknowledgments This dissertation has been shaped by many people, including my teachers, collabo-rators, friends, and family. I would like to take this opportunity to acknowledge the influence they have had in my development as a person and as a scientist. First and foremost, I wish to thank my advisor J Strother Moore. J is an amazing advisor, a marvellous collaborator, an insightful researcher, an empathetic teacher, and a truly great human being. He gave me just the right balance of freedom, encouragement, and direction to guide the course of this research. My stimulating discussions with him made the act of research an experience of pure enjoyment, and helped pull me out of many low ebbs. At one point I used to believe that whenever I was stuck with a problem one meeting with J would get me back on track. Furthermore, my times together with J and Jo during Thanksgivings and other occasions always made me feel part of his family. There was no problem, technical or otherwise, that I could not discuss with J, and there was no time when

