This is release 0 of my Hol90 abstract theory package based on release
2 of the UI Abstract Theory Package for the HOL theorem prover.

Files:

src/abs_theory.sml	--- the package. includes support for rewriting
                            with theorems with preconditions (this may
			    possible be moved to a separate package later)
example/abs_theory.tex	--- A short introduction by example document which
			    demos the various features.
example/monoid_def.sml  --- SML file to define monoids
example/group_def.sml   --- Group theory as extension of monoids
example/exorgroup.sml   --- Example of a concrete group

Here is the READ-ME file from the UI Abstract Theory Package on which
this is heavily based. This package can be found on ted.cs.uidaho.edu
in pub/hol, and probably at ftp.cl.cam.ac.uk in the contrib directory.
There is a paper in that set (also in procedings of HOL-92) by Phil
Windley which gives the motivation behind abstract theories and the
basic implementation mechanism for those who are interested.

------------------------------------------------------------------------------
This is release 2 of the UI Abstract Theory Package for the HOL theorem
prover.  

The new version of the UI Abstract Theory package provides the following
features not found in the original:

o Abstract representations create a real type that can be used to
  conveniently form expressions.

o The process of creating abstract representations has been speeded up
  substantially.  There is no longer the need to have special functions for
  accessing the abstract type or creating the instantiation theorems.

o The theory obligations are stored in the theory so that abstract theorems
  can be proven across file boundaries.

o Theory obligations are added to the hypothesis list dynamically when the
  goal is created rather than statically when they are defined.  This has
  the advantage that more than one abstract representation of the same type
  can be used in a theorem.

o Instantiation is done on a theorem by theorem basis for greater control.
  Instantiated theorems are not automatically saved in the theory.

o Instantiation is more robust and faster.

o Support for explicit use of theory obligations has been included.
------------------------------------------------------------------------------



