            TFL-HOL Initial Release
          ----------------------------


To make the system, perform the following 2 commands in the shell:

    make_theories <hol>
    <hol> < sys.sml

where <hol> is a pathname for a hol90 executable. This will first build
2 theories in this directory, and then build and dump the TFL system in
the file "hol90.tfl". 

Some examples can be found in the files "test.sml", "test1.sml", and
"test2.sml". More extended developments may be found in the "examples"
directory.

See the file "doc.txt" for further information about the Tfl entrypoints. 

Some Tfl support that is more widely usable are

    1. There is a conditional/contextual rewriter in rw.sig and rw.sml. 
       This is very helpful in shortening proofs. Many of the examples
       make use of it.

    2. The structure Hol_datatype provides a centralized repository 
       of facts about datatypes that gets incrementally adjusted with
       each new datatype definition.

    3. The structure "Q". This folds quotation parsing into certain
       popular entrypoints. Because of this "context-sensitivity"
       interacting with quotations can be more pleasant in some cases.
       For example, type constraints don't have to be given as often. 
       See the file "mk_wf.sml" for examples.


---------------------------------------------------------------------------
Release 1.

              Patches and Bugfixes to Previous Release

* Several bugs in the rewriter have been fixed. The result is that
  normal rewriting, as well as termination-condition extraction, is
  faster and apt to return correct answers in more situations. In particular,
  TC extraction for nested recursions involving "let" was faulty.

* Michael Norrish pointed out a non-portabilism in the source: in rw.sml, I 
  was using the identifier "Term" as a term parser. This has been fixed.

* The termination relation for the "unify" example is more apt to be 
  correct.

* I added a new example - the "select" algorithm. This is fairly demanding on
  the machinery of TFL, so I included it even though I haven't proved that it 
  terminates, or that it is correct.


---------------------------------------------------------------------------
Release 2. This was an Isabelle version of release 1. It is noteworthy
because it has a complete and new proof of the Manna/Waldinger/Paulson
unification algorithm. 
---------------------------------------------------------------------------
Release 3.  This was an improved Isabelle release. In particular, it now 
builds on PolyML.
---------------------------------------------------------------------------
Release 4. 

* The proof of the wellfounded recursion theorem has been simplified.

* I have moved "define" from "Hol_datatype" to "post", since it's an
  ugly-but-useful hack that doesn't really have much to do with
  datatypes (it uses the datatype info to look up prim_rec definition 
  principles to apply). This caused changes to some of the files in the
  "examples/" directory. "define" should someday grow into a useful
  entrypoint in a HOL release, but it's not yet ready for prime time.

* The expressiveness of patterns has been improved. Wild cards,
  incomplete patterns, and overlapping patterns are handled.

---------------------------------------------------------------------------
Release 5.

* Removed the dependency of the system on "mk_kls_list.sml".


Please mail any problems to slind@informatik.tu-muenchen.de.
