{"id":13646583,"url":"https://github.com/ProofGeneral/PG","last_synced_at":"2025-04-21T21:31:04.240Z","repository":{"id":1962112,"uuid":"42843402","full_name":"ProofGeneral/PG","owner":"ProofGeneral","description":"This repo is the new home of Proof General","archived":false,"fork":false,"pushed_at":"2024-10-04T11:37:00.000Z","size":28193,"stargazers_count":492,"open_issues_count":225,"forks_count":88,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-10-29T17:12:40.781Z","etag":null,"topics":["coq","docker-coq-action","emacs","integrated-development-environment","proof-assistant","proof-general"],"latest_commit_sha":null,"homepage":"https://proofgeneral.github.io","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ProofGeneral.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-09-21T04:13:36.000Z","updated_at":"2024-10-29T04:10:54.000Z","dependencies_parsed_at":"2023-07-05T18:17:57.242Z","dependency_job_id":"87a9d734-6baa-49e8-85a4-8bb4dce277dd","html_url":"https://github.com/ProofGeneral/PG","commit_stats":{"total_commits":9255,"total_committers":75,"mean_commits":123.4,"dds":0.2610480821177742,"last_synced_commit":"1ffca70b2fcfd1c524f9b9e5ceebae07d3b745b6"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProofGeneral%2FPG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProofGeneral%2FPG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProofGeneral%2FPG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProofGeneral%2FPG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProofGeneral","download_url":"https://codeload.github.com/ProofGeneral/PG/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223880244,"owners_count":17219086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coq","docker-coq-action","emacs","integrated-development-environment","proof-assistant","proof-general"],"created_at":"2024-08-02T01:03:00.038Z","updated_at":"2024-11-09T20:30:22.265Z","avatar_url":"https://github.com/ProofGeneral.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"# Proof General — Organize your proofs! \n\n[![CI](https://github.com/ProofGeneral/PG/workflows/CI/badge.svg?branch=master)](https://github.com/ProofGeneral/PG/actions?query=workflow%3ACI)\n[![MELPA](https://melpa.org/packages/proof-general-badge.svg)](https://melpa.org/#/proof-general)\n[![NonGNU-devel ELPA](https://elpa.nongnu.org/nongnu-devel/proof-general.svg)](https://elpa.nongnu.org/nongnu-devel/proof-general.html)  \n[![ProofGeneral doc](https://img.shields.io/badge/doc-Proof%20General%27s%20user%20manual-blue.svg)](https://proofgeneral.github.io/doc/master/userman/ \"The ProofGeneral user manual\")\n[![PG-adapting doc](https://img.shields.io/badge/doc-PG--adapting-blue.svg)](https://proofgeneral.github.io/doc/master/adaptingman/ \"PG's adapting manual to add provers\")\n[![MELPA Stable](https://stable.melpa.org/packages/proof-general-badge.svg)](https://stable.melpa.org/#/proof-general)\n[![NonGNU ELPA](https://elpa.nongnu.org/nongnu/proof-general.svg)](https://elpa.nongnu.org/nongnu/proof-general.html)\n\n## Overview\n\nProof General is a generic Emacs interface for proof assistants.\nThe aim of the Proof General project is to provide a powerful, generic\nenvironment for using interactive proof assistants.\n\nThis is version 4.6-git of Proof General.\n\n## About Proof General branches\n\nTwo editions of Proof General are currently available:\n\n* the (standard) REPL-based, stable version of Proof General,\n  gathered in the\n  [master](https://github.com/ProofGeneral/PG/tree/master) branch;\n* the (unmaintained) Coq-specific, experimental version of Proof General,\n  supporting asynchronous proof processing,\n  gathered in the\n  [async](https://github.com/ProofGeneral/PG/tree/async) branch.\n\n## Installing Proof General\n\nProof General requires GNU Emacs `25.2` or later.\n\nThe current policy aims at supporting multiple Emacs versions,\nincluding those available in [Debian Stable](https://packages.debian.org/stable/emacs)\nas well as in [Ubuntu LTS](https://packages.ubuntu.com/emacs) distributions\nuntil their [End-Of-Support](https://wiki.ubuntu.com/Releases).\n\n### Using NonGNU ELPA\n\n[NonGNU ELPA](https://elpa.nongnu.org/) is the sister repository of\n[GNU ELPA](https://elpa.gnu.org/) and enabled by default from Emacs 28\nonwards.   You can directly install Proof General from NonGNU ELPA if\nthe repository is enabled.\n\n### Using MELPA\n\n[MELPA](https://melpa.org/) is a repository of Emacs packages. Skip\nthis step if you already use MELPA. Otherwise, add the following to\nyour `.emacs` and restart Emacs:\n\n```elisp\n(require 'package)\n;; (setq gnutls-algorithm-priority \"NORMAL:-VERS-TLS1.3\") ; see remark below\n(add-to-list 'package-archives '(\"melpa\" . \"https://melpa.org/packages/\") t)\n(package-initialize)\n```\n\n**Remark:** If you have Emacs 26.1 (which is precisely\n[the packaged version in Debian 10](https://packages.debian.org/emacs)),\nyou may get the error message `Failed to download 'melpa' archive`\nduring the package refresh step. This is a known bug\n([debbug #34341](https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34341))\nwhich has been fixed in Emacs 26.3 and 27.1, while a simple workaround\nconsists in uncommenting the line\n`(setq gnutls-algorithm-priority \"NORMAL:-VERS-TLS1.3\")` above in your\n`.emacs`.\n\n**Note:** If you switch to MELPA from a previously manually-installed\nProof General, make sure you removed the old versions of Proof General\nfrom your Emacs context (by removing from your `.emacs` the line\nloading `PG/generic/proof-site`, or by uninstalling the proofgeneral\npackage provided by your OS package manager).\n\nThen, run \u003ckbd\u003eM-x package-refresh-contents RET\u003c/kbd\u003e followed by\n\u003ckbd\u003eM-x package-install RET proof-general RET\u003c/kbd\u003e to install and\nbyte-compile `proof-general`.\n\nYou can now open a Coq file (`.v`), an EasyCrypt file (`.ec`), a\nqrhl-tool file (`.qrhl`), or a PhoX file (`.phx`) to automatically\nload the corresponding major mode.\n\n### Using Git (manual compilation procedure)\n\nRemove old versions of Proof General, clone the PG repo from GitHub\nand byte-compile the sources:\n\n```sh\ngit clone https://github.com/ProofGeneral/PG ~/.emacs.d/lisp/PG\ncd ~/.emacs.d/lisp/PG\nmake\n```\n\nThen add the following to your `.emacs`:\n\n```elisp\n;; Open .v files with Proof General's Coq mode\n(load \"~/.emacs.d/lisp/PG/generic/proof-site\")\n```\n\nIf 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\n\n```sh\nmake clean; make EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs\n```\n\n## Keeping Proof General up-to-date\n\n### Using MELPA\n\nAs explained in the [MELPA documentation](https://melpa.org/#/getting-started), updating all MELPA packages in one go is as easy as typing\n\u003ckbd\u003eM-x package-list-packages RET\u003c/kbd\u003e then \u003ckbd\u003er\u003c/kbd\u003e (**r**efresh the package list), \u003ckbd\u003eU\u003c/kbd\u003e (mark **U**pgradable packages), and \u003ckbd\u003ex\u003c/kbd\u003e (e**x**ecute the installs and deletions).\n\n### Using Git\n\nAssuming you have cloned the repo in `~/.emacs.d/lisp/PG`, you would\nhave to run:\n\n```sh\ncd ~/.emacs.d/lisp/PG\nmake clean\ngit pull\nmake\n```\n\n## More info\n\nSee:\n\n* [INSTALL](INSTALL) for installation details\n* [COPYING](COPYING) for license details\n* [COMPATIBILITY](COMPATIBILITY) for version compatibility information\n* [FAQ.md](FAQ.md) for frequently asked questions\n* [coq/README](coq/README) for additional notes specific to the Coq prover\n\nLinks:\n\n* [https://proofgeneral.github.io/doc](https://proofgeneral.github.io/doc) for online documentation of Proof General\n* [https://coq.zulipchat.com](https://coq.zulipchat.com/) for chatting with PG maintainers and developers on the Zulip chat of Coq (in streams [Proof General devs](https://coq.zulipchat.com/#narrow/stream/304020-Proof-General.20devs) and [Proof General users](https://coq.zulipchat.com/#narrow/stream/304019-Proof-General.20users))\n* [https://coq.gitlab.io/zulip-archive](https://coq.gitlab.io/zulip-archive) for the corresponding public Zulip archive (read-only, no authentication required)\n\nSupported proof assistants:\n\n* [Coq](https://coq.inria.fr/)\n* [EasyCrypt](https://www.easycrypt.info/)\n* [PhoX](https://raffalli.eu/phox/)\n* [qrhl-tool](https://github.com/dominique-unruh/qrhl-tool/#readme)\n\nProof General used to support other proof assistants, but those\ninstances are no longer maintained nor available in the MELPA package:\n\n* Experimental support of: Shell\n* Obsolete instances: Demoisa\n* Removed instances: Twelf, CCC, Hol-Light, ACL2, Plastic, Lambda-Clam, HOL98,\n  [LEGO](http://www.dcs.ed.ac.uk/home/lego),\n  [Isabelle](https://www.cl.cam.ac.uk/research/hvg/Isabelle/)\n\nA few example proofs are included in each prover subdirectory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FProofGeneral%2FPG","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FProofGeneral%2FPG","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FProofGeneral%2FPG/lists"}