|
Showing 1 - 7 of
7 matches in All Departments
Computer-Aided Reasoning: ACL2 Case Studies illustrates how the
computer-aided reasoning system ACL2 can be used in productive and
innovative ways to design, build, and maintain hardware and
software systems. Included here are technical papers written by
twenty-one contributors that report on self-contained case studies,
some of which are sanitized industrial projects. The papers deal
with a wide variety of ideas, including floating-point arithmetic,
microprocessor simulation, model checking, symbolic trajectory
evaluation, compilation, proof checking, real analysis, and several
others. Computer-Aided Reasoning: ACL2 Case Studies is meant for
two audiences: those looking for innovative ways to design, build,
and maintain hardware and software systems faster and more
reliably, and those wishing to learn how to do this. The former
audience includes project managers and students in survey-oriented
courses. The latter audience includes students and professionals
pursuing rigorous approaches to hardware and software engineering
or formal methods. Computer-Aided Reasoning: ACL2 Case Studies can
be used in graduate and upper-division undergraduate courses on
Software Engineering, Formal Methods, Hardware Design, Theory of
Computation, Artificial Intelligence, and Automated Reasoning. The
book is divided into two parts. Part I begins with a discussion of
the effort involved in using ACL2. It also contains a brief
introduction to the ACL2 logic and its mechanization, which is
intended to give the reader sufficient background to read the case
studies. A more thorough, textbook introduction to ACL2 may be
found in the companion book, Computer-Aided Reasoning: An Approach.
The heart of the book isPart II, where the case studies are
presented. The case studies contain exercises whose solutions are
on the Web. In addition, the complete ACL2 scripts necessary to
formalize the models and prove all the properties discussed are on
the Web. For example, when we say that one of the case studies
formalizes a floating-point multiplier and proves it correct, we
mean that not only can you read an English description of the model
and how it was proved correct, but you can obtain the entire formal
content of the project and replay the proofs, if you wish, with
your copy of ACL2. ACL2 may be obtained from its home page, http:
//www.cs.utexas.edu/users/moore/acl2. The results reported in each
case study, as ACL2 input scripts, as well as exercise solutions
for both books, are available from this page.
Mountaineers use pitons to protect themselves from falls. The lead
climber wears a harness to which a rope is tied. As the climber
ascends, the rope is paid out by a partner on the ground. As
described thus far, the climber receives no protection from the
rope or the partner. However, the climber generally carries several
spike-like pitons and stops when possible to drive one into a small
crack or crevice in the rock face. After climbing just above the
piton, the climber clips the rope to the piton, using slings and
carabiners. A subsequent fall would result in the climber hanging
from the piton if the piton stays in the rock, the slings and
carabiners do not fail, the rope does not break, the partner is
holding the rope taut and secure, and the climber had not climbed
too high above the piton before falling. The climber's safety
clearly depends on all of the components of the system. But the
piton is distinguished because it connects the natural to the
artificial. In 1987 I designed an assembly-level language for
Warren Hunt's FM8501 verified microprocessor. I wanted the language
to be conveniently used as the object code produced by verified
compilers. Thus, I envisioned the language as the first software
link in a trusted chain from verified hardware to verified
applications programs. Thinking of the hardware as the "rock" I
named the language "Piton."
Computer-Aided Reasoning: ACL2 Case Studies illustrates how the
computer-aided reasoning system ACL2 can be used in productive and
innovative ways to design, build, and maintain hardware and
software systems. Included here are technical papers written by
twenty-one contributors that report on self-contained case studies,
some of which are sanitized industrial projects. The papers deal
with a wide variety of ideas, including floating-point arithmetic,
microprocessor simulation, model checking, symbolic trajectory
evaluation, compilation, proof checking, real analysis, and several
others.
Computer-Aided Reasoning: ACL2 Case Studies is meant for two
audiences: those looking for innovative ways to design, build, and
maintain hardware and software systems faster and more reliably,
and those wishing to learn how to do this. The former audience
includes project managers and students in survey-oriented courses.
The latter audience includes students and professionals pursuing
rigorous approaches to hardware and software engineering or formal
methods. Computer-Aided Reasoning: ACL2 Case Studies can be used in
graduate and upper-division undergraduate courses on Software
Engineering, Formal Methods, Hardware Design, Theory of
Computation, Artificial Intelligence, and Automated Reasoning.
The book is divided into two parts. Part I begins with a discussion
of the effort involved in using ACL2. It also contains a brief
introduction to the ACL2 logic and its mechanization, which is
intended to give the reader sufficient background to read the case
studies. A more thorough, textbook introduction to ACL2 may be
found in the companion book, Computer-Aided Reasoning: An Approach.
The heart of the book is Part II, where the case studies are
presented. The case studies contain exercises whose solutions are
on the Web. In addition, the complete ACL2 scripts necessary to
formalize the models and prove all the properties discussed are on
the Web. For example, when we say that one of the case studies
formalizes a floating-point multiplier and proves it correct, we
mean that not only can you read an English description of the model
and how it was proved correct, but you can obtain the entire formal
content of the project and replay the proofs, if you wish, with
your copy of ACL2.
ACL2 may be obtained from its home page. The results reported in
each case study, as ACL2 input scripts, as well as exercise
solutions for both books, are available from this page.
This is the first book to focus on the problem of ensuring the
correctness of floating-point hardware designs through mathematical
methods. Formal Verification of Floating-Point Hardware Design
advances a verification methodology based on a unified theory of
register-transfer logic and floating-point arithmetic that has been
developed and applied to the formal verification of commercial
floating-point units over the course of more than two decades,
during which the author was employed by several major
microprocessor design companies. The book consists of five parts,
the first two of which present a rigorous exposition of the general
theory based on the first principles of arithmetic. Part I covers
bit vectors and the bit manipulation primitives, integer and
fixed-point encodings, and bit-wise logical operations. Part II
addresses the properties of floating-point numbers, the formats in
which they are encoded as bit vectors, and the various modes of
floating-point rounding. In Part III, the theory is extended to the
analysis of several algorithms and optimization techniques that are
commonly used in commercial implementations of elementary
arithmetic operations. As a basis for the formal verification of
such implementations, Part IV contains high-level specifications of
correctness of the basic arithmetic instructions of several major
industry-standard floating-point architectures, including all
details pertaining to the handling of exceptional conditions. Part
V illustrates the methodology, applying the preceding theory to the
comprehensive verification of a state-of-the-art commercial
floating-point unit. All of these results have been formalized in
the logic of the ACL2 theorem prover and mechanically checked to
ensure their correctness. They are presented here, however, in
simple conventional mathematical notation. The book presupposes no
familiarity with ACL2, logic design, or any mathematics beyond
basic high school algebra. It will be of interest to verification
engineers as well as arithmetic circuit designers who appreciate
the value of a rigorous approach to their art, and is suitable as a
graduate text in computer arithmetic.
Introduction to Abstract Algebra provides insight into the methods
of abstract algebra. This book provides information pertinent to
the fundamental concepts of abstract algebra. Organized into five
chapters, this book begins with an overview of the study of natural
numbers that are used historically for the purpose of counting the
objects in different assemblages. This text then examines the
concepts of set and elements of a set. Other chapters contain an
intuitive survey of the different kinds of real numbers, with the
inclusion of many very important results on integers. This book
presents as well a brief survey of algebraic systems from the
trivial sets to the more highly structures groups, with emphasis on
the elementary properties of groups. The final chapter deals with
the simple development of complex numbers. This book is intended to
be suitable for students in abstract algebra.
|
The Little Prover (Paperback)
Daniel P. Friedman, Carl Eastlund; Illustrated by Duane Bibby; Foreword by J. Strother Moore; Afterword by Matthias Felleisen
|
R1,130
R1,068
Discovery Miles 10 680
Save R62 (5%)
|
Ships in 9 - 17 working days
|
An introduction to writing proofs about computer programs, written
in an accessible question-and-answer style, complete with
step-by-step examples and a simple proof assistant. The Little
Prover introduces inductive proofs as a way to determine facts
about computer programs. It is written in an approachable, engaging
style of question-and-answer, with the characteristic humor of The
Little Schemer (fourth edition, MIT Press). Sometimes the best way
to learn something is to sit down and do it; the book takes readers
through step-by-step examples showing how to write inductive
proofs. The Little Prover assumes only knowledge of recursive
programs and lists (as presented in the first three chapters of The
Little Schemer) and uses only a few terms beyond what novice
programmers already know. The book comes with a simple proof
assistant to help readers work through the book and complete
solutions to every example.
Computer-Aided Reasoning: ACL2 Case Studies illustrates how the
computer-aided reasoning system ACL2 can be used in productive and
innovative ways to design, build, and maintain hardware and
software systems. Included here are technical papers written by
twenty-one contributors that report on self-contained case studies,
some of which are sanitized industrial projects. The papers deal
with a wide variety of ideas, including floating-point arithmetic,
microprocessor simulation, model checking, symbolic trajectory
evaluation, compilation, proof checking, real analysis, and several
others. Computer-Aided Reasoning: ACL2 Case Studies is meant for
two audiences: those looking for innovative ways to design, build,
and maintain hardware and software systems faster and more
reliably, and those wishing to learn how to do this. The former
audience includes project managers and students in survey-oriented
courses. The latter audience includes students and professionals
pursuing rigorous approaches to hardware and software engineering
or formal methods. Computer-Aided Reasoning: ACL2 Case Studies can
be used in graduate and upper-division undergraduate courses on
Software Engineering, Formal Methods, Hardware Design, Theory of
Computation, Artificial Intelligence, and Automated Reasoning. The
book is divided into two parts. Part I begins with a discussion of
the effort involved in using ACL2. It also contains a brief
introduction to the ACL2 logic and its mechanization, which is
intended to give the reader sufficient background to read the case
studies. A more thorough, textbook introduction to ACL2 may be
found in the companion book, Computer-Aided Reasoning: An Approach.
The heart of the book isPart II, where the case studies are
presented. The case studies contain exercises whose solutions are
on the Web. In addition, the complete ACL2 scripts necessary to
formalize the models and prove all the properties discussed are on
the Web. For example, when we say that one of the case studies
formalizes a floating-point multiplier and proves it correct, we
mean that not only can you read an English description of the model
and how it was proved correct, but you can obtain the entire formal
content of the project and replay the proofs, if you wish, with
your copy of ACL2. ACL2 may be obtained from its home page, http:
//www.cs.utexas.edu/users/moore/acl2. The results reported in each
case study, as ACL2 input scripts, as well as exercise solutions
for both books, are available from this page.
|
You may like...
Miss Behave
Malebo Sephodi
Paperback
(12)
R302
Discovery Miles 3 020
|