From mjcg%cam.sri.com@ai.sri.com  Fri Mar 30 14:07:59 1990
Received: by iris.ucdavis.edu (5.57/UCD.EECS.2.0)
        id AA02762; Fri, 30 Mar 90 14:07:59 PST
Received: from Warbucks.AI.SRI.COM by clover.ucdavis.edu (5.59/UCD.EECS.1.11)
        id AA09443; Fri, 30 Mar 90 14:12:24 PST
Received: from sunset.ai.sri.com by Warbucks.AI.SRI.COM with INTERNET ;
          Fri, 30 Mar 90 14:08:02 PST
Received: from cam.sri.com by sunset.ai.sri.com (4.1/4.16)
        id AA05170 for info-hol@clover.ucdavis.edu; Fri, 30 Mar 90 14:10:06 PST
Received: from denbigh.cam.sri.com by cam.sri.com (4.1/4.16)
        id AA16849 for info-hol@clover.ucdavis.edu; Fri, 30 Mar 90 23:08:16 BST
Received: by denbigh.cam.sri.com (4.1/4.16)
        id AA21715 for info-hol@clover.ucdavis.edu; Fri, 30 Mar 90 23:08:10 BST
Date: Fri, 30 Mar 90 23:08:10 BST
From: mjcg%cam.sri.com@Warbucks.AI.SRI.COM (Mike Gordon)
Message-Id: <9003302208.AA21715@denbigh.cam.sri.com>
To: info-hol@clover.ucdavis.edu
Subject: New HOL interface



                 New HOL Interface: advice sought
                 ================================


We are beginning to think about how to improve the interface to HOL.
This message is to solicit advice and suggestions.

Our current plan is to develop the interface in several directions.

   1. Improving the current ML read-eval-print top level (normally run in
      an emacs shell). This is likely to continue to be the main way of
      running HOL for a while. It is needed on simple terminals
      (e.g. typical home terminals running though a slow modem) and is the
      primary interface to the theorem-proving tools. Enhancements in progress
      are parser and pretty-printer generators to support embedded languages.

   2. Adding an X-windows interface to the help system built out of existing X
      utilities. This will support efficient mouse- and window- based
      browsing through the manual.

   3. Building a new interaction environment in which the parameters to
      theorem proving actions can be selected graphically. For example,
      subterms could selected in a syntax directed fashion using a mouse and
      the occurrence address automatically generated and fed to a tactic.
      This would mesh nicely with the "open term surgery" tools from Inmos in
      the library `convert`.

   4. Experimenting with various syntax-directed and graphics tools
      such as structure editors, schematic capture facilities and layout
      generators.

Work on 1 and 2 is already in progress and it is hoped to include
prototypes with the next release of HOL. For 4, we plan to buy into
some existing interface technology, since we think that we do not have
the resources to start from scratch.  We plan to spend a month or two
investigating possibilities before commiting to an approach. During
this time we hope to evaluate environment generators such as the
Cornell Synthesizer Generator (CSG), MetaView (previously PHIL, from
Signetics), GENESIS (from IST) and Centaur from Inria. These are just
the available systems we know about, if there are other systems we
would like to be told. We would prefer to use a public domain system
(none of the four just mentioned are public domain, although it is
possible that a HOL application generated by one of them might become
so).

The mouse supported interaction environment (3) may either be
implemented directly in HOL (i.e. as part of 1) or it might be
implemented via syntax tools provided by an environment generator
(i.e. as part of 4). This is being looked into at the moment.

Before commiting to a plan, we would like to get suggestions on what
improvements to the interface would be most useful. Of course, HOL
needs other things besides an improved interface (e.g. tactics
implementing decision procedures for suitable theories of
numbers, bitstrings and sets), but this is a separate project.

As we are novices at interface building, we would welcome advice from
anyone who has gone down the path on which we are about to tread.

Any comments or advice will be very gratefully received.

Mike Gordon




