proof-general fork with narya support
  • Emacs Lisp 88.2%
  • Rocq Prover 4.3%
  • OCaml 2.7%
  • C 2%
  • Makefile 1.9%
  • Other 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Clément Pit-Claudel 9799d01c35
Some checks failed
Documentation / deploy-doc (27.1) (push) Has been cancelled
CI / build (27.1) (push) Has been cancelled
CI / build (27.2) (push) Has been cancelled
CI / build (28.1) (push) Has been cancelled
CI / build (28.2) (push) Has been cancelled
CI / build (29.1) (push) Has been cancelled
CI / build (29.2) (push) Has been cancelled
CI / build (29.3) (push) Has been cancelled
CI / build (29.4) (push) Has been cancelled
CI / build (30.1) (push) Has been cancelled
CI / check-doc-magic (29.4) (push) Has been cancelled
CI / check-doc-magic (30.1) (push) Has been cancelled
CI / test (coq-8.15.2-emacs-27.1) (push) Has been cancelled
CI / test-indent (28.1) (push) Has been cancelled
CI / test (coq-8.15.2-emacs-28.1) (push) Has been cancelled
CI / test (coq-8.15.2-emacs-30.1) (push) Has been cancelled
CI / test (coq-8.16.1-emacs-28.2) (push) Has been cancelled
CI / test (coq-8.16.1-emacs-30.1) (push) Has been cancelled
CI / test-indent (28.2) (push) Has been cancelled
CI / test (coq-8.17.1-emacs-29.1) (push) Has been cancelled
CI / test (coq-8.17.1-emacs-30.1) (push) Has been cancelled
CI / test (coq-8.18.0-emacs-29.3) (push) Has been cancelled
CI / test (coq-8.18.0-emacs-30.1) (push) Has been cancelled
CI / test-indent (29.1) (push) Has been cancelled
CI / test (coq-8.19.2-emacs-27.1) (push) Has been cancelled
CI / test (coq-8.19.2-emacs-28.2) (push) Has been cancelled
CI / test (coq-8.19.2-emacs-29.3) (push) Has been cancelled
CI / test (coq-8.19.2-emacs-29.4) (push) Has been cancelled
CI / test-indent (29.2) (push) Has been cancelled
CI / test (coq-8.19.2-emacs-30.1) (push) Has been cancelled
CI / test (coq-8.20.1-emacs-27.1) (push) Has been cancelled
CI / test (coq-8.20.1-emacs-28.2) (push) Has been cancelled
CI / test (coq-8.20.1-emacs-29.3) (push) Has been cancelled
CI / test-indent (29.3) (push) Has been cancelled
CI / test (coq-8.20.1-emacs-29.4) (push) Has been cancelled
CI / test (coq-8.20.1-emacs-30.1) (push) Has been cancelled
CI / test (coq-9.0.0-emacs-27.1) (push) Has been cancelled
CI / test (coq-9.0.0-emacs-27.2) (push) Has been cancelled
CI / test-indent (29.4) (push) Has been cancelled
CI / test (coq-9.0.0-emacs-28.1) (push) Has been cancelled
CI / test (coq-9.0.0-emacs-28.2) (push) Has been cancelled
CI / test (coq-9.0.0-emacs-29.1) (push) Has been cancelled
CI / test (coq-9.0.0-emacs-29.2) (push) Has been cancelled
CI / test-indent (30.1) (push) Has been cancelled
CI / test (coq-9.0.0-emacs-29.3) (push) Has been cancelled
CI / test (coq-9.0.0-emacs-29.4) (push) Has been cancelled
CI / test (coq-9.0.0-emacs-30.1) (push) Has been cancelled
CI / test (coq-9.1-rc1-emacs-27.1) (push) Has been cancelled
CI / test-qrhl (27.1) (push) Has been cancelled
CI / test (coq-9.1-rc1-emacs-27.2) (push) Has been cancelled
CI / test (coq-9.1-rc1-emacs-28.1) (push) Has been cancelled
CI / test (coq-9.1-rc1-emacs-28.2) (push) Has been cancelled
CI / test (coq-9.1-rc1-emacs-29.1) (push) Has been cancelled
CI / test-qrhl (27.2) (push) Has been cancelled
CI / test (coq-9.1-rc1-emacs-29.2) (push) Has been cancelled
CI / test (coq-9.1-rc1-emacs-29.3) (push) Has been cancelled
CI / test (coq-9.1-rc1-emacs-29.4) (push) Has been cancelled
CI / test (coq-9.1-rc1-emacs-30.1) (push) Has been cancelled
CI / test-qrhl (28.1) (push) Has been cancelled
CI / compile-tests (coq-8.15.2-emacs-27.1) (push) Has been cancelled
CI / compile-tests (coq-8.15.2-emacs-28.1) (push) Has been cancelled
CI / compile-tests (coq-8.15.2-emacs-30.1) (push) Has been cancelled
CI / compile-tests (coq-8.16.1-emacs-28.2) (push) Has been cancelled
CI / compile-tests (coq-8.16.1-emacs-30.1) (push) Has been cancelled
CI / compile-tests (coq-8.17.1-emacs-29.1) (push) Has been cancelled
CI / compile-tests (coq-8.17.1-emacs-30.1) (push) Has been cancelled
CI / compile-tests (coq-8.18.0-emacs-29.3) (push) Has been cancelled
CI / compile-tests (coq-8.18.0-emacs-30.1) (push) Has been cancelled
CI / compile-tests (coq-8.19.2-emacs-27.1) (push) Has been cancelled
CI / compile-tests (coq-8.19.2-emacs-28.2) (push) Has been cancelled
CI / compile-tests (coq-8.19.2-emacs-29.3) (push) Has been cancelled
CI / compile-tests (coq-8.19.2-emacs-29.4) (push) Has been cancelled
CI / compile-tests (coq-8.19.2-emacs-30.1) (push) Has been cancelled
CI / compile-tests (coq-8.20.1-emacs-27.1) (push) Has been cancelled
CI / compile-tests (coq-8.20.1-emacs-28.2) (push) Has been cancelled
CI / compile-tests (coq-8.20.1-emacs-29.3) (push) Has been cancelled
CI / compile-tests (coq-8.20.1-emacs-29.4) (push) Has been cancelled
CI / compile-tests (coq-8.20.1-emacs-30.1) (push) Has been cancelled
CI / compile-tests (coq-9.0.0-emacs-27.1) (push) Has been cancelled
CI / compile-tests (coq-9.0.0-emacs-27.2) (push) Has been cancelled
CI / compile-tests (coq-9.0.0-emacs-28.1) (push) Has been cancelled
CI / compile-tests (coq-9.0.0-emacs-28.2) (push) Has been cancelled
CI / compile-tests (coq-9.0.0-emacs-29.1) (push) Has been cancelled
CI / compile-tests (coq-9.0.0-emacs-29.2) (push) Has been cancelled
CI / compile-tests (coq-9.0.0-emacs-29.3) (push) Has been cancelled
CI / compile-tests (coq-9.0.0-emacs-29.4) (push) Has been cancelled
CI / compile-tests (coq-9.0.0-emacs-30.1) (push) Has been cancelled
CI / compile-tests (coq-9.1-rc1-emacs-27.1) (push) Has been cancelled
CI / compile-tests (coq-9.1-rc1-emacs-27.2) (push) Has been cancelled
CI / compile-tests (coq-9.1-rc1-emacs-28.1) (push) Has been cancelled
CI / compile-tests (coq-9.1-rc1-emacs-28.2) (push) Has been cancelled
CI / compile-tests (coq-9.1-rc1-emacs-29.1) (push) Has been cancelled
CI / compile-tests (coq-9.1-rc1-emacs-29.2) (push) Has been cancelled
CI / compile-tests (coq-9.1-rc1-emacs-29.3) (push) Has been cancelled
CI / compile-tests (coq-9.1-rc1-emacs-29.4) (push) Has been cancelled
CI / compile-tests (coq-9.1-rc1-emacs-30.1) (push) Has been cancelled
CI / simple-tests (coq-8.15.2-emacs-27.1) (push) Has been cancelled
CI / simple-tests (coq-8.15.2-emacs-28.1) (push) Has been cancelled
CI / simple-tests (coq-8.15.2-emacs-30.1) (push) Has been cancelled
CI / simple-tests (coq-8.16.1-emacs-28.2) (push) Has been cancelled
CI / simple-tests (coq-8.16.1-emacs-30.1) (push) Has been cancelled
CI / simple-tests (coq-8.17.1-emacs-29.1) (push) Has been cancelled
CI / simple-tests (coq-8.17.1-emacs-30.1) (push) Has been cancelled
CI / simple-tests (coq-8.18.0-emacs-29.3) (push) Has been cancelled
CI / simple-tests (coq-8.18.0-emacs-30.1) (push) Has been cancelled
CI / simple-tests (coq-8.19.2-emacs-27.1) (push) Has been cancelled
CI / simple-tests (coq-8.19.2-emacs-28.2) (push) Has been cancelled
CI / simple-tests (coq-8.19.2-emacs-29.3) (push) Has been cancelled
CI / simple-tests (coq-8.19.2-emacs-29.4) (push) Has been cancelled
CI / simple-tests (coq-8.19.2-emacs-30.1) (push) Has been cancelled
CI / simple-tests (coq-8.20.1-emacs-27.1) (push) Has been cancelled
CI / simple-tests (coq-8.20.1-emacs-28.2) (push) Has been cancelled
CI / simple-tests (coq-8.20.1-emacs-29.3) (push) Has been cancelled
CI / simple-tests (coq-8.20.1-emacs-29.4) (push) Has been cancelled
CI / simple-tests (coq-8.20.1-emacs-30.1) (push) Has been cancelled
CI / simple-tests (coq-9.0.0-emacs-27.1) (push) Has been cancelled
CI / simple-tests (coq-9.0.0-emacs-27.2) (push) Has been cancelled
CI / simple-tests (coq-9.0.0-emacs-28.1) (push) Has been cancelled
CI / simple-tests (coq-9.0.0-emacs-28.2) (push) Has been cancelled
CI / simple-tests (coq-9.0.0-emacs-29.1) (push) Has been cancelled
CI / simple-tests (coq-9.0.0-emacs-29.2) (push) Has been cancelled
CI / simple-tests (coq-9.0.0-emacs-29.3) (push) Has been cancelled
CI / simple-tests (coq-9.0.0-emacs-29.4) (push) Has been cancelled
CI / simple-tests (coq-9.0.0-emacs-30.1) (push) Has been cancelled
CI / simple-tests (coq-9.1-rc1-emacs-27.1) (push) Has been cancelled
CI / simple-tests (coq-9.1-rc1-emacs-27.2) (push) Has been cancelled
CI / simple-tests (coq-9.1-rc1-emacs-28.1) (push) Has been cancelled
CI / simple-tests (coq-9.1-rc1-emacs-28.2) (push) Has been cancelled
CI / simple-tests (coq-9.1-rc1-emacs-29.1) (push) Has been cancelled
CI / simple-tests (coq-9.1-rc1-emacs-29.2) (push) Has been cancelled
CI / simple-tests (coq-9.1-rc1-emacs-29.3) (push) Has been cancelled
CI / simple-tests (coq-9.1-rc1-emacs-29.4) (push) Has been cancelled
CI / simple-tests (coq-9.1-rc1-emacs-30.1) (push) Has been cancelled
CI / test-indent (27.1) (push) Has been cancelled
CI / test-indent (27.2) (push) Has been cancelled
CI / test-qrhl (28.2) (push) Has been cancelled
CI / test-qrhl (29.1) (push) Has been cancelled
CI / test-qrhl (29.2) (push) Has been cancelled
CI / test-qrhl (29.3) (push) Has been cancelled
CI / test-qrhl (29.4) (push) Has been cancelled
CI / test-qrhl (30.1) (push) Has been cancelled
Merge pull request #880 from ProofGeneral/cpc/fix-coqproject-args
Adjust _RocqProject parsing to `rocq makefile` changes
2026-08-25 14:21:37 +02:00
.github CI: update to Rocq 9.1+rc1 2025-08-09 23:49:08 +02:00
ci Adjust _RocqProject parsing to match rocq-prover/rocq#22369 2026-08-23 22:46:04 +02:00
coq Adjust _RocqProject parsing to match rocq-prover/rocq#22369 2026-08-23 22:46:04 +02:00
doc Adjust _RocqProject parsing to rocq makefile changes 2026-08-01 17:32:22 +02:00
easycrypt Allow EasyCrypt lemma names to begin with _. 2026-04-14 14:52:05 -04:00
etc chore: Prepare new release cycle 2022-07-14 13:37:06 +02:00
generic Quote symbol-names in docstring correctly 2026-01-18 17:15:22 -05:00
images Update license information for new logo 2016-05-25 01:05:49 -04:00
lib * lib/texi-docstring-magic.el: Simplify 2026-01-18 17:15:22 -05:00
obsolete/demoisa Fix checkdoc warnings 2026-01-09 14:25:45 -05:00
pghaskell Fix most doc issues raised by (checkdoc) 2018-08-23 01:23:31 +02:00
pgocaml Fix most doc issues raised by (checkdoc) 2018-08-23 01:23:31 +02:00
pgshell Fix most doc issues raised by (checkdoc) 2018-08-23 01:23:31 +02:00
phox Fix checkdoc warnings 2026-01-09 14:25:45 -05:00
previous-art Update PG's logo 2016-05-24 23:28:08 -04:00
qrhl Fix checkdoc warnings 2026-01-09 14:25:45 -05:00
resources Add checkdoc makefile target 2026-01-09 14:17:32 -05:00
.gitignore proof-general-pkg.el: Let it be auto-generated 2021-11-19 22:37:46 -05:00
AUTHORS docs: Update AUTHORS 2022-03-10 23:53:56 +01:00
BUGS Remove some web links for services facing imminent shutdown. 2021-12-17 17:53:23 +00:00
CHANGES Adjust _RocqProject parsing to rocq makefile changes 2026-08-01 17:32:22 +02:00
COMPATIBILITY Remove some web links for services facing imminent shutdown. 2021-12-17 17:53:23 +00:00
COPYING Change the license to GPLv3+ (Fix #198) 2021-11-23 08:53:11 -05:00
FAQ.md Update FAQ.md 2024-01-02 13:21:11 +01:00
INSTALL Remove some web links for services facing imminent shutdown. 2021-12-17 17:53:23 +00:00
Makefile Add checkdoc makefile target 2026-01-09 14:17:32 -05:00
Makefile.devel Explicitly require 'autoload for generating autoloads 2026-01-06 10:55:37 -08:00
proof-general.el * proof-general.el: Add the new maintainer email 2022-09-30 09:09:16 -04:00
README.md docs(README.md): Update badges (#676) 2022-11-14 11:44:12 +01:00

Proof General — Organize your proofs!

CI MELPA NonGNU-devel ELPA
ProofGeneral doc PG-adapting doc MELPA Stable NonGNU ELPA

Overview

Proof General is a generic Emacs interface for proof assistants. The aim of the Proof General project is to provide a powerful, generic environment for using interactive proof assistants.

This is version 4.6-git of Proof General.

About Proof General branches

Two editions of Proof General are currently available:

  • the (standard) REPL-based, stable version of Proof General, gathered in the master branch;
  • the (unmaintained) Coq-specific, experimental version of Proof General, supporting asynchronous proof processing, gathered in the async branch.

Installing Proof General

Proof General requires GNU Emacs 25.2 or later.

The current policy aims at supporting multiple Emacs versions, including those available in Debian Stable as well as in Ubuntu LTS distributions until their End-Of-Support.

Using NonGNU ELPA

NonGNU ELPA is the sister repository of GNU ELPA and enabled by default from Emacs 28 onwards. You can directly install Proof General from NonGNU ELPA if the repository is enabled.

Using MELPA

MELPA is a repository of Emacs packages. Skip this step if you already use MELPA. Otherwise, add the following to your .emacs and restart Emacs:

(require 'package)
;; (setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3") ; see remark below
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)

Remark: If you have Emacs 26.1 (which is precisely the packaged version in Debian 10), you may get the error message Failed to download 'melpa' archive during the package refresh step. This is a known bug (debbug #34341) which has been fixed in Emacs 26.3 and 27.1, while a simple workaround consists in uncommenting the line (setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3") above in your .emacs.

Note: If you switch to MELPA from a previously manually-installed Proof General, make sure you removed the old versions of Proof General from your Emacs context (by removing from your .emacs the line loading PG/generic/proof-site, or by uninstalling the proofgeneral package provided by your OS package manager).

Then, run M-x package-refresh-contents RET followed by M-x package-install RET proof-general RET to install and byte-compile proof-general.

You can now open a Coq file (.v), an EasyCrypt file (.ec), a qrhl-tool file (.qrhl), or a PhoX file (.phx) to automatically load the corresponding major mode.

Using Git (manual compilation procedure)

Remove old versions of Proof General, clone the PG repo from GitHub and byte-compile the sources:

git clone https://github.com/ProofGeneral/PG ~/.emacs.d/lisp/PG
cd ~/.emacs.d/lisp/PG
make

Then add the following to your .emacs:

;; Open .v files with Proof General's Coq mode
(load "~/.emacs.d/lisp/PG/generic/proof-site")

If Proof General complains about a version mismatch, make sure that the shell's emacs is indeed your usual Emacs. If not, run the Makefile again with an explicit path to Emacs. On macOS in particular you'll probably need something like

make clean; make EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs

Keeping Proof General up-to-date

Using MELPA

As explained in the MELPA documentation, updating all MELPA packages in one go is as easy as typing M-x package-list-packages RET then r (refresh the package list), U (mark Upgradable packages), and x (execute the installs and deletions).

Using Git

Assuming you have cloned the repo in ~/.emacs.d/lisp/PG, you would have to run:

cd ~/.emacs.d/lisp/PG
make clean
git pull
make

More info

See:

Links:

Supported proof assistants:

Proof General used to support other proof assistants, but those instances are no longer maintained nor available in the MELPA package:

  • Experimental support of: Shell
  • Obsolete instances: Demoisa
  • Removed instances: Twelf, CCC, Hol-Light, ACL2, Plastic, Lambda-Clam, HOL98, LEGO, Isabelle

A few example proofs are included in each prover subdirectory.