# Proof General

> generic Emacs interface for proof assistants

**Wikidata**: [Q113146764](https://www.wikidata.org/wiki/Q113146764)  
**Source**: https://4ort.xyz/entity/proof-general

## Summary
Proof General is a generic Emacs interface designed to support interaction with various proof assistants, providing a unified environment for formal proof development. It is free software released under the GNU General Public License (GPL) and was created by David Aspinall. The tool integrates with GNU Emacs, enabling users to manage and script proof processes efficiently.

## Key Facts
- **Creator**: Developed by David Aspinall, a Professor of Computer Science at the University of Edinburgh.
- **License**: Distributed under the GNU General Public License.
- **Latest Version**: Version 4.5, released on July 13, 2022.
- **Platform**: Built for GNU Emacs using Emacs Lisp.
- **Distribution**: Available via the Emacs Lisp Package Archive (NonGNU ELPA) since July 13, 2022.
- **Source Code**: Hosted on GNU Savannah and GitHub (https://github.com/ProofGeneral).
- **Functionality**: Acts as a generic interface for multiple proof assistants, such as Coq, Isabelle, and HOL.

## FAQs
### Q: What is Proof General used for?
A: Proof General is used to provide a unified Emacs-based interface for interacting with proof assistants, streamlining formal verification tasks.

### Q: Who developed Proof General?
A: It was created by David Aspinall, a computer scientist and professor at the University of Edinburgh.

### Q: Where can I access Proof General?
A: The software is available via its official website (https://proofgeneral.github.io/) and through the NonGNU ELPA package repository in Emacs.

## Why It Matters
Proof General plays a critical role in formal methods and software verification by offering a consistent and extensible interface for proof assistants. Its integration with Emacs—a highly customizable editor—allows researchers and developers to efficiently script, manage, and debug formal proofs. By supporting multiple backends (e.g., Coq, Isabelle), it fosters collaboration and tool interoperability in the verification community. As free software, it promotes accessibility and community-driven improvement, aligning with open-source principles. Its active maintenance, evidenced by recent updates like version 4.5 in 2022, ensures it remains relevant in advancing rigorous software development practices.

## Notable For
- **Unified Interface**: Provides a generic framework for diverse proof assistants, reducing tool-specific workflow fragmentation.
- **Emacs Integration**: Leverages Emacs Lisp for extensibility, enabling deep customization within the Emacs ecosystem.
- **Active Maintenance**: Continuously updated, with version 4.5 released in July 2022, reflecting ongoing community support.
- **Open Source**: Licensed under the GNU GPL, ensuring transparency and collaborative development.

## Body
### Creation and Development
Proof General was developed by David Aspinall to address the need for a flexible, editor-centric interface for proof assistants. Its design emphasizes scripting and automation, aligning with the programmable nature of Emacs.

### Technical Specifications
- **Programming Language**: Primarily written in Emacs Lisp.
- **Compatibility**: Functions as a software library within GNU Emacs.
- **Key Features**:
  - Syntax highlighting for proof scripts.
  - Interactive proof scripting and debugging.
  - Backend-agnostic architecture supporting multiple proof assistants.

### Distribution and Access
- **Package Repository**: Included in the NonGNU ELPA since July 13, 2022.
- **Source Code**: Hosted on GNU Savannah (https://git.savannah.gnu.org/cgit/emacs/nongnu.git) and mirrored on GitHub.
- **Documentation**: Available via its official website and GitHub repository.

### Version History
- **Version 4.5**: Released on July 13, 2022, as a stable update, incorporating user feedback and compatibility improvements.

### Licensing and Copyright
- **License**: GNU General Public License (GPL), ensuring freedoms to run, modify, and distribute the software.
- **Copyright Status**: Copyrighted, with rights retained by the authors while permitting free use under GPL terms.

## References

1. [Proof-General version 4.5. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-07/msg00052.html)
2. [Source](https://elpa.nongnu.org/nongnu/proof-general.html)