Giter VIP home page Giter VIP logo

mituharu / pg Goto Github PK

View Code? Open in Web Editor NEW

This project forked from proofgeneral/pg

0.0 1.0 0.0 25.75 MB

This repo is the new home of Proof General

Home Page: https://proofgeneral.github.io/

License: GNU General Public License v2.0

Makefile 1.33% Emacs Lisp 81.05% Perl 0.35% Coq 1.60% Dockerfile 0.03% OCaml 4.75% Standard ML 0.99% Isabelle 8.69% Roff 0.14% Lex 0.50% Common Lisp 0.01% XSLT 0.40% Shell 0.17%

pg's Introduction

Proof General โ€” Organize your proofs!

Build Status MELPA

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.5-git of Proof General.

About Proof General branches

Two editions of Proof General are currently available:

  • the (legacy) REPL-based, stable version of Proof General, gathered in the master branch, and licensed under GPLv2;
  • the (newest) Coq-specific, experimental version of Proof General, supporting asynchronous proof processing, gathered in the async branch, and licensed under GPLv3+.

Installing Proof General

Using MELPA (recommended procedure)

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)
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
                    (not (gnutls-available-p))))
       (proto (if no-ssl "http" "https")))
  (add-to-list 'package-archives
               (cons "melpa" (concat proto "://melpa.org/packages/")) t))
(package-initialize)

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), 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:

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

A few example proofs are included in each prover subdirectory.

Contributing

Contributions to this repository are placed under the BSD-3 license. As BSD-3 is compatible with both GPLv2 and GPLv3+, this means that we can merge them in both master and async branches if need be, using the same license as the rest of the codebase, while you keep all the rights on your code. For more info, see https://opensource.org/licenses/BSD-3-Clause.

pg's People

Contributors

amahboubi avatar andreasloow avatar cpitclaudel avatar craff avatar davidaspinall avatar erikmd avatar hendriktews avatar jasongross avatar jmgrosen avatar liyishuai avatar lsf37 avatar makarius avatar marsam avatar matafou avatar monnier avatar psteckler avatar skyskimmer avatar stardiviner avatar strub avatar tarsius avatar tbrk avatar tchajed avatar user454322 avatar yuvallanger avatar zhenya-1007 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.