[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

# A. Obtaining and Installing

Proof General has its own home page hosted at Edinburgh. Visit this page for the latest news!

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## A.1 Obtaining Proof General

You can obtain Proof General from the URL

    http://proofgeneral.inf.ed.ac.uk.

The distribution is available in three forms

- A source tarball,
  http://proofgeneral.inf.ed.ac.uk/ProofGeneral-devel-latest.tar.gz
- A Linux RPM package (for any architecture),
  http://proofgeneral.inf.ed.ac.uk/ProofGeneral-latest.noarch.rpm
- A developer's tarball,
  http://proofgeneral.inf.ed.ac.uk/ProofGeneral-devel-latest.tar.gz

Both the source tarball and the RPM package include the generic elisp code, and code for LEGO, Coq, Isabelle, and other provers. Also included are installation instructions (reproduced in brief below) and this documentation.

The developer's tarball contains our full source tree, including all of the elisp and documentation, along with our low-level list of things to do, sources for the images, some make files used to generate the release itself from our CVS repository, and some test files. Developers interested in accessing our CVS repository directly should contact `da+pg-support@inf.ed.ac.uk`.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## A.2 Installing Proof General from tarball

Copy the distribution to some directory mydir. Unpack it there. For example:

    # cd mydir
    # gunzip ProofGeneral-version.tar.gz
    # tar -xpf ProofGeneral-version.tar

If you downloaded the version called latest, you'll find it unpacks to a numeric version number.

Proof General will now be in some subdirectory of mydir. The name of the subdirectory will depend on the version number of Proof General. For example, it might be ‘`ProofGeneral-2.0`’. It's convenient to link it to a fixed name:

    # ln -sf ProofGeneral-2.0 ProofGeneral

Now put this line in your ‘`.emacs`’ file:

        (load-file "mydir/ProofGeneral/generic/proof-site.el")

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## A.3 Installing Proof General from RPM package

To install an RPM package you need to be root. Then type

    # rpm -Uvh ProofGeneral-latest.noarch.rpm

Now add the line:

       (load-file "/usr/share/emacs/ProofGeneral/generic/proof-site.el")

to your ‘`.emacs`’ or the site-wide initialisation file ‘`site-start.el`’.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## A.4 Setting the names of binaries

The `load-file` command you have added will load ‘`proof-site`’ which sets the Emacs load path for Proof General and add auto-loads and modes for the supported assistants.

The default names for proof assistant binaries may work on your system. If not, you will need to set the appropriate variables. The easiest way to do this (and most other customization of Proof General) is via the Customize mechanism, see the menu item:

      Proof-General -> Advanced -> Customize -> Name of Assistant -> Prog Name

The Proof-General menu is available from script buffers after Proof General is loaded. To load it manually, type

      M-x load-library RET proof RET

If you do not want to use customize, simply add a line like this:

      (setq coq-prog-name "/usr/bin/coqtop -emacs")

to your ‘`.emacs`’ file.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## A.5 Notes for syssies

Here are some more notes for installing Proof General in more complex ways. Only attempt things in this section if you really understand what you're doing.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

### Byte compilation

Compilation of the Emacs lisp files improves efficiency but can sometimes cause compatibility problems, especially if you use more than one version of Emacs with the same `.elc` files. Furthermore, we develop Proof General with source files so may miss problems with the byte compiled versions. If you discover problems using the byte-compiled `.elc` files which aren't present using the source `.el` files, please report them to us.

You can compile Proof General by typing `make` in the directory where you installed it.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

### Site-wide installation

If you are installing Proof General site-wide, you can put the components in the standard directories of the filesystem if you prefer, providing the variables in ‘`proof-site.el`’ are adjusted accordingly (see Proof General site configuration in Adapting Proof General for more details). Make sure that the ‘`generic/`’ and assistant-specific elisp files are kept in subdirectories (‘`coq/`’, ‘`isa/`’, ‘`lego/`’) of `proof-home-directory` so that the autoload directory calculations are correct.

To prevent every user needing to edit their own ‘`.emacs`’ files, you can put the `load-file` command to load ‘`proof-site.el`’ into ‘`site-start.el`’ or similar. Consult the Emacs documentation for more details if you don't know where to find this file.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

### Removing support for unwanted provers

You cannot run more than one instance of Proof General at a time: so if you're using Coq, visiting an ‘`.ML`’ file will not load Isabelle Proof General, and the buffer remains in fundamental mode. If there are some assistants supported that you never want to use, you can adjust the variable `proof-assistants` in ‘`proof-site.el`’ to remove the extra autoloads. This is advisable in case the extensions clash with other Emacs modes, for example Verilog mode for ‘`.v`’ files clashes with Coq mode.

See Proof General site configuration in Adapting Proof General, for more details of how to adjust the `proof-assistants` setting.

Instead of altering `proof-assistants`, a simple way to disable support for some prover is to delete the relevant directories from the PG installation. For example, to remove support for Coq, delete the ‘`coq`’ directory in the Proof General home directory.

[ << ] | [ >> ] |  |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated by David Aspinall on July, 24 2008 using texi2html 1.78.