Go to the first, previous, next, last section, table of contents.


Preface

Welcome to Proof General!

This preface has some news about the current release, future plans, and acknowledgements to those who have helped along the way. The appendix section History of Proof General contains old news about previous releases, and notes on the development of Proof General.

Proof General has a home page at http://www.proofgeneral.org. Visit this page for the latest version of this manual, other documentation, system downloads, etc.

Latest news for 3.4

Proof General 3.4 adds improvements and also compatibility fixes for new versions of Emacs, in particular, for GNU Emacs 21, which adds the remaining pretty features that have only been available to XEmacs users until now (the toolbar and X-Symbol support).

One major improvement has been to provide better support for synchronization with Coq proof scripts; now Coq Proof General should be able to retract and replay most Coq proof scripts reliably. Credit is due to Pierre Courtieu, who also updated the documentation in this manual.

As of version 3.4, Proof General is distributed under the GNU General Public License (GPL). Compared with the previous more restrictive license, this means the program can now be redistributed by third parties, and used in any context without applying for a special license. Despite these legal changes, we would still appreciate if you send us back any useful improvements you make to Proof General, and register your use of Proof General on the web site.

See the `CHANGES' file in the distribution for more complete details of changes since 3.3, and the appendix section History of Proof General for old news.

Future

The aim of the Proof General project is to provide a powerful and configurable interfaces which help user-interaction with interactive proof assistants.

The strategy Proof General uses is to targets power users rather than novices; other interfaces have often neglected this class of users. But we do include general user interface niceties, such as toolbar and menus, which make use easier for all.

Proof General has been Emacs based so far, but plans are afoot to liberate it from the points and parentheses of Emacs Lisp. The successor project Proof General Kit proposes that proof assistants use a standard XML-based protocol for interactive proof, dubbed PGIP.

PGIP will enable middleware for interactive proof tools and interface components. Rather than configuring Proof General for your proof assistant, you will need to configure your proof assistant to understand PGIP. There is a similarity however; the design of PGIP was based heavily on the Emacs Proof General framework.

At the moment little work has been done: collaborations are eagerly sought. For more details, see the Proof General Kit webpage.

Credits

The original developers of the basis of Proof General were:

LEGO Proof General (the successor of lego-mode) was written by Thomas Kleymann and Dilip Sequeira. It is presently maintained by David Aspinall and Paul Callaghan <P.C.Callaghan@durham.ac.uk>. Coq Proof General was written by Healfdene Goguen, with later contributions from Patrick Loiseleur. It is now maintained by Pierre Courtieu <courtieu@lri.fr>. Isabelle Proof General was written and is being maintained by David Aspinall <David.Aspinall@ed.ac.uk>. It has benefited greatly from tweaks and suggestions by Markus Wenzel <wenzelm@informatik.tu-muenchen.de>, who wrote and maintains Isabelle/Isar Proof General. Markus also added Proof General support inside Isabelle. David von Oheimb supplied the original patches for X-Symbol support, which improved Proof General significantly. Christoph Wedler, the author of X-Symbol, has provided much useful support in adapting his package for PG.

The generic base for Proof General was developed by Kleymann, Sequeira, Goguen and Aspinall. It follows some of the ideas used in Project CROAP. The project to implement a proof mode for LEGO was initiated in 1994 and coordinated until October 1998 by Thomas Kleymann, becoming generic along the way. In October 1998, the project became Proof General and has been managed by David Aspinall since then.

This manual was written by David Aspinall and Thomas Kleymann. Some words found their way here from the user documentation of LEGO mode, prepared by Dilip Sequeira. Healfdene Goguen supplied some text for Coq Proof General. Since Proof General 2.0, this manual has been maintained and improved by David Aspinall. Pierre Courtieu and Markus Wenzel contributed some sections.

The Proof General project has benefited indirectly from funding by EPSRC (Applications of a Type Theory Based Proof Assistant), the EC (Types for Proofs and Programs) and the support of the LFCS. Version 3.1 was prepared whilst David Aspinall was visiting ETL, Japan, supported by the British Council.

For testing and feedback for older versions of Proof General, thanks go to Rod Burstall, Martin Hofmann, and James McKinna, and some of those who continued to help with the latest 3.x series, named next.

During the development of Proof General 3.x releases, many people helped provide testing and other feedback, including the Proof General maintainers, Paul Callaghan, Pierre Courtieu, and Markus Wenzel, and other folk who tested pre-releases or sent bug reports, including Cuihtlauac Alvarado, Pascal Brisset, James Brotherston, Martin Buechi, Lucas Dixon, Matt Fairtlough, Kim Hyung Ho, Greg O'Keefe, Pierre Lescanne, John Longley, Tobias Nipkow, Leonor Prensa Nieto, David von Oheimb, Lawrence Paulson, Paul Roziere, Randy Pollack, Robert R. Schneck, Sebastian Skalberg, Mike Squire, and Norbert Voelker.

Thanks to all of you (and apologies to anyone missed).


Go to the first, previous, next, last section, table of contents.