IHS( Integer Hardware Specification) Library

IHS is a collection of ACL2 definitions and lemmas useful for the
hardware specification based on integer representations.  This file
explains what this package supply and how to certify with ACL2 theorem
prover.

PACKAGE
 The IHS library comes with the following files:
CERTIFICATION
 
README		: This file
define-u-package.lisp	: U package definition
ihs-init.acl2	: Certification script for ihs-init.lisp.
ihs-init.lisp	: IHS initializing book.
ihs.lisp	: The top book to be included by the user's books.
makefile	: makefile
math-lemmas.lisp: A collection of math Lemmas.
ihs-absolute-paths.body	: Template for a book that defines inclusion paths.
ihs-theories.lisp	: Defining IHS theories.
logops-definitions.lisp	: Defining logical operators.
logops-lemmas.lisp	: Lemmas about logical operators
quotient-remainder-lemmas.lisp	: Lemmas about quotient remainder lemmas.

Following two files are given as an example.
array1.lisp	:	Lemmas about one-dimensional arrays.
fm9001.lisp	:	FM9001 instruction set architecture.


CERTIFICATION

In this section, we assume that the user has ACL2 V1-9.  V1-8 will
probably work with this library, but we will not guarantee it.  We also
assume that the user has already certified the books coming with the
ACL2 release. Let <acl2_lib> be the absolute path to the certified
book directly.  For instance, the absolute path to the deflist book in
public directory is given by "<acl2_lib>/public/deflist".


First, edit makefile and change the following parameters.

ACL2:  The path name to the acl2 executable.
ACL2_LIB:  Set it to <acl2_lib>, the path to the ACL2 books.
EXT:	The extension for compiled objects used by the underlying LISP system.

Then, run 

% make

to certify the IHS library.

After certifying the IHS library, you may also certify the example
"fm9001.lisp" by typing:

% make fm9001.cert

