               	SEQUEL INSTALLATION INSTRUCTIONS
                ================================

Hello
=====

	Welcome to version 7.0 of the SEQUEL programming language.  
For a quick introduction to what SEQUEL is about print the intro.ps
file in DOC. 

What is SEQUEL?
===============

	SEQUEL is both a typed functional programming language with a Lisp 
platform and a powerful tool for the very high level specification of
theorem-provers and proof assistants.  With SEQUEL you will be able to 
generate efficient type-secure Lisp programs from source that is half the
length of the equivalent Lisp programs and build theorem provers in days 
rather than months.  If you are a Lisp programmer then SEQUEL will
drastically cut down your implementation time whatever the application.  

What SEQUEL Offers

* Optional Static Type-Checking
* An means of generating efficient Lisp programs from a language
  that is twice as compact as Lisp
* A tailored trace package for both function calls and type checking.
* Type Secure Lisp programs. 
* A very powerful means of generating proof assistants and theorem provers
  with very fast performance using WAM-derived compilation techniques.
* Automatically verified theorem provers
* An approach to logic derived from type theory
* Facility for Datalog and an occurs-check Horn-clause-to-Lisp
  compiler. 
* Mouse driven graphical interfaces for all proof assistants and theorem
  provers constructed under SEQUEL.
* A logic-independent theory of tactics.
* Backtracking within a functional paradigm
* Demos programs for several logics.

	SEQUEL is the subject of a book forthcoming in 1995 ('Functional
Programming & Automated Deduction in SEQUEL' (Wiley)).

What do I need to run SEQUEL?
=============================

	You need Lucid Common Lisp v. 4.01.  There are versions running
on Kyoto and CMU Lisp which are not supported any more in the directory
OLD.  An executable public-domain CLisp version will be available by 
mid-1994.   

Installing under Lucid
======================

	The Lucid version runs under SPARC workstations and builds to a 
10Mb image.

	The Lucid version runs under graphics from the X-windows and ATHENA
Widgets libraries.  These are all public domain utilities, but Lucid is not
a public domain Lisp.  It takes at least 16Mb of free memory to run it 
comfortably. 

	You require Lucid Common Lisp version 4.01.  Enter LIB and type
'make windows.o'; then call up Lucid and type (load "install.lucid") 
and follow the instructions.  Here is a typical session beginning 
inside Lucid..


> (load "install.lucid")

			SEQUEL Installation Program
 
Welcome to the SEQUEL installation program.  There are four stages
to this installation program. Hit y + RETURN to my questions if you
want to go on.
 
In the first stage of installation, the .lisp files in your directory
will be compiled by the resident Lisp compiler which should be Lucid
Common Lisp version 4.01. You should have created a directory with all 
the needed .lisp files in it and this image should be running in that 
directory.  I will check to see if you have done this.
 
Good.  They are all there.  I will commence compilation on your
instruction.
 
Shall I do this?  (Y or N): y

.
.
.
.
.
In the second stage of installation, the object code from the Lisp
compiler will be loaded together with the new readtable.
 
Shall I do this?  (Y or N): y

.
.
.
.
.
.
In the third stage of installation, I shall load the graphical 
interface into this image.  Type y if you want a graphical interface.  
If you type n I shall not load the graphical interface.  You should
not type y unless you are running Lucid 4.01.
 
Shall I do this?  (Y or N): y 
.
.
.
.
.
.
I will now load the X library routines into this Lisp image.  
You can choose to provide the path names of various X libraries.  
If you choose not to give the path names then I will try to figure 
out where the appropriate library files are myself.  If an error 
message comes from this routine, it will probably be generated 
from my failure to find a library
 
If you wish to specify the library file yourself
then do so by inputting the appropriate path as a string.
 
e.g. "usr/local/this-library"
 
My first library is the libc.a library,
do you wish to give a path?  (Y or N): n
 
My second library is the ATHENA Widgets library libXaw.a,
do you wish to give a path?  (Y or N): n
 
My third library is the library libXt.a,
do you wish to give a path?  (Y or N): n
 
My fourth library is the library lXmu.a,
do you wish to give a path?  (Y or N): n
 
My fifth library is the library lXext.a,
do you wish to give a path?  (Y or N): n
 
My sixth library is the X11 library lX11.a,
do you wish to give a path?  (Y or N): n
 
My last library is the maths library lm.a,
do you wish to give a path?  (Y or N): n

.
.
.
.
.
.
.
.

The last stage of installation requires your interaction since certain 
commands must be typed to the Lucid Common Lisp top-level.  Type the 
following commands:- 
 
(in-package :sequel)
(disksave "sequel" :restart-function #'sequel :full-gc t :verbose t)
(quit)

	At this point you should type in these three lines.

Setting the $ Directory
=======================
 
        The demo programs that come with SEQUEL use pathnames containing
$ to automatically load in files.  You may need to inform SEQUEL what $
means. - this means creating a .sequel file in your top-level.
 
        Thus suppose that the SEQUEL directory lives in /usr/public and
you wish to load a demo program "SEQUEL/FRAMEWORKS/FOL/fol.fr".
SEQUEL needs to be told that $ refers to "/usr/public".  To do this
you create a .sequel file in your top level that holds the path to
SEQUEL/FRAMEWORKS/FOL/fol.fr, in this case the file will hold the string
"/usr/public".  You type (consult "$SEQUEL/FRAMEWORKS/FOL/fol.fr") to
access /usr/public/SEQUEL/FRAMEWORKS/FOL/fol.fr. 

First Steps
===========

	Once you are past the installation process, then you'll want to
do something interesting.  Try the following:-

sequel and RETURN 
<<type this to UNIX and wait till you get a (0-) prompt>>

(consult "$SEQUEL/FRAMEWORKS/FOL/fol.fr") and RETURN 
<<wait a bit>>

(prooftool) and RETURN

	Now type (p => q) and RETURN.
        Now type (q => r) and RETURN
        Now type ok and RETURN

	Now type (p => (q => r)) and RETURN

	and play around with what comes up.  If you have loaded the graphics 
package under Lucid, a pop-up window will appear.  The Lucid version of 
SEQUEL comes with graphics.  The CLisp version will acquire graphics 
before the end of 1994.  

Using the Graphics
==================

Remember use the mouse to point and keep it in the proof tool window while 
conducting a proof.  Window is only active during the proof.

Left mouse button selects a element of a command.
Middle Mouse Button executes it.
Right Mouse Button produces pop-up help on selection. 
 
Finding Out More About SEQUEL
=============================

	The file manual.ps in DOC is the manual to SEQUEL. The file 
intro.ps is a copy of an IJCAI paper that gives an overview of SEQUEL and 
what it can do.  

Bugs
====

Report them to me (mark@uk.ac.leeds.scs.).  The bugs file contains the list 
of known bugs meaning that we are working on them.  updates contains the 
latest updates.

SEQUEL is Free for Academia
===========================

	No charge is made for educational purposes.  SEQUEL may not be used 
for commercial purposes without permission.  Read the copyright file.

SEQUEL News Letters 
===================

	SEQUEL news letters appear every month (approximately) informing you
of updates.  To put yourself on the list, e-mail mark@uk.ac.leeds.scs.

What Does 'SEQUEL' Stand For?
============================

	Actually nothing when I first implemented it.  But for lovers of
acronyms it can be thought of as short for SEQUEnt processing Language.

					       Mark Tarver
                                               mark@uk.ac.leeds.scs
