Infos about the CATS/HOL-CASL repository
----------------------------------------

HOL-CASL now has switched back to the command line interface.  This is
necessary in order to develop tactic infrastructure.  Only when this
is available, it makes sense to switch back to IsaWin.

To start HOL-CASL, you have to checkout the repositories
described in the file CATS/README.
cd into CATS/HOL-CASL, start Isabelle/HOL (version 99-1 or 99-2),
by simply typing

  HOL

(this downloads Isabelle/HOL from the web, if necessary),
and enter

  use"ROOT";

Use

      use"mk_holcasl.sml";

for creating a standalone heap image, useable with the command

      HOL-CASL


Files in the HOL-CASL directory
-------------------------------

Encoding into Isabelle/HOL
--------------------------
hol                Run smlnj-110 with Isabelle/HOL. Attention: special HOL-extension needed!
hol_casl.thy       HOL.thy, extended with special syntax for CASL
basic_encode_isabelle.sml         Encoding of CASL into Isabelle/HOL, basic specs
struct_encode_isabelle.sml        Encoding of CASL into Isabelle/HOL, structured specs
casltheory.sml     Extend the Isabelle theory stuff to CASL
caslgoals.sml      Extend the Isabelle goal stuff to CASL
mk_holcasl.sml     Creates a standalone version of HOL-CASL
mk_isawin.sml      Creates a standalone version of HOL-CASL with IsaWin interface
root.ml            Loader for HOL-CASL
caslthyread.sml    Loader the CASL theories with encoding to Isabelle/HOL
tag.sml            Isabelle/HOL file with hints for print translation
context.sml        Theory contexts, like Pure/context.ML
simplifier.sml     Simple heuristic for constructing simplifier sets
tactic.sml         HOL-CASL specific tactics, like CASL_induct_tac
isabellehol2old2.ps  Isabelle tutorial

IsaWin interface
----------------
This is contained in the repositories sml_tk, git, and
HOL98-CASL-IsaWin. sml_tk is an encapsulation of TclTk in SML.  On top
of this, IsaWin is built. IsaWin is a generic graphical user interface
for Isabelle. We instantiate it here with HOL-CASL.

Repositories for HOL-CASL/IsaWin
--------------------------------
isa98             ISabelle/HOL with our local patches, needed for HOL-CASL
                  This repository will be moved soon to the server!
sml/sml_tk        SML encapsulation of TclTk, needed for HOL-CASL
sml/git           IsaWin, a window interface for Isabelle, needed for HOL-CASL
hol98-casl-isawin The instantiation of IsaWin with HOL98-CASL

To build the HOL-CASL/IsaWin system, you also need the repositories
isa98, sml_tk and git (ask cofi@tzi.de how to get them).
You have to enter

    HOL
    use"WROOT";

and then you can enter

    CaslWin.go();

to start the system. A standalone version can be built with

    use"mk_isawin";

and it is then available via the command

    Isa-CASL

Warning: IsaWin has not been updated to the latest HOL-CASL version!
