Index of /users/moore/acl2/v3-3/distrib/acl2-sources/books/bdd
Name Last modified Size Description
Parent Directory -
be/ 05-Nov-2007 21:36 -
Makefile 05-Mar-2005 17:22 687
alu-proofs.lisp 15-Aug-1997 09:18 17K
alu.lisp 05-May-2000 14:47 12K
bdd-primitives.lisp 23-Apr-2004 10:54 12K
benchmarks.acl2 01-Jan-2001 22:18 251
bit-vector-reader.lsp 20-May-2000 19:44 1.6K
bool-ops.lisp 15-Aug-1997 09:19 2.1K
cbf.lisp 20-Jun-2007 11:49 9.3K
certify.lsp 07-Jan-2001 21:10 1.3K
hamming.lisp 26-Feb-2001 07:39 7.2K
pg-theory.lisp 15-Aug-1997 09:20 9.7K
Here is a summary of the contents of this directory, which contains books that
exercise the BDD (ordered Binary Decision Diagram) capability of ACL2.
Makefile Makefile for certifying books in this directory on
systems (like Unix) supporting make.
certify.lsp File for certifying books in this directory. See the
comment on init.lsp at the end of this README file.
bdd-primitives.lisp Definitions and simple theorems pertaining to some
basic functions used for hardware specification. This
file may well be useful for doing hardware verification
in ACL2 using BDDs, and it also provides examples of
the sorts of rules used in our approach. (See also the
ACL2 documentation on "BDD".)
alu.lisp Specifications of an ALU: a simple ripple-carry alu
(v-alu) and a tree-structured propagate-generate alu
(core-alu)
alu-proofs.lisp Proofs of equivalence of ALUs defined in alu.lisp,
employing BDDs
bool-ops.lisp Definitions of Boolean AND, OR, and XOR functions, and
theorems stating their commutativity
cbf.lisp A file used to generate ACL2 theorems to prove from the
IFIP benchmarks
hamming.lisp A proof using BDDs of the equivalence of a Hamming
circuit used in the CAP chip with its specification
pg-theory.lisp Proofs using BDDs of equivalence of adder
specifications; very similar in nature (but not
actually connected with) alu.lisp and alu-proofs.lisp
bit-vector-reader.lsp Raw Lisp file (NOT a book!) supporting #v syntax for
bit vectors, as explained in a comment in that file.
When you certify the books in this directory, the file cbf.lisp will
automatically create the file
benchmarks.lisp
corresponding to the IFIP benchmarks in the subdirectories
be/cath
be/ex
which will then be certified.
ACL2 performs better on large BDD problems in GCL when large spaces are
allocated for conses, fixnums and symbols. If you are running on a machine
that has 128 MB of RAM then the following setting work well:
#+gcl
(si::allocate 'cons 20000 t)
#+gcl
(si::allocate 'fixnum 4000 t)
#+gcl
(si::allocate 'symbol 500 t)
One convenient way to achieve these settings on such a machine is to write the
six lines above into a file named init.lsp on this directory. That file is
automatically loaded when GCL is fired up.