web-dev-qa-db-ja.com

emacsでのCoqの一般的な証明の構成

デフォルトのインストーラーからシステムにCoqをインストールしました。次に、既存のemacsに一般的な証明を追加しました。しかし、問題は、emacsでコマンドを実行しようとすると、emacsから次のことがわかります。

そのようなファイルまたはディレクトリcoqtopがないプログラムを検索しています

いくつかの設定エラーがあると思います。

あなたの考えを楽しみにしています。

5
P basak

Coqtopへのパスをemacsパスに含める必要があることがわかりました。または、システムパスにそれを含めることができます。その場合、Shellからemacsを呼び出す必要があります。

2
P basak

OPの場合とは異なりますが、同様の問題があります。coqをインストールしていない場合は、エラーメッセージSearching for program: no such file or directory, coqtopも発生する可能性があります。そうすると、 coqtop コマンドがシステムに表示されなくなります。

診断するには、which coqtopを実行します。結果が空の場合、インストールされていないか、パスにありません。

Macでは、brew install coqを使用して homebrew でcoqをインストールすることでこの問題を解決しました。

2
dinosaur

これは私のために働いた。何もない状態からCoqを取得してProofGeneralを構成するまでのプロセス全体を示しました。

CoqにProof-Generalを使用する場合は、最初にCoqまたはproof-generalを使用するものをインストールします。

Coqに使いたかったので、まずCoqをインストールしました。

1)Coqのインストール->brew install coq(macOSの場合)

Emacs.apphttps://emacsformacosx.com から取得し、アイコンをアプリケーションフォルダーにドラッグしてアプリケーションをインストールします。

Emacs用のMELPAパッケージマネージャーまたはGitを介してEmacsProofGeneral拡張機能をインストールするための指示に従います。

2)Proof Generalのインストール->

  • MELPAの使用(推奨手順)MELPAはEmacsパッケージのリポジトリです。すでにMELPAを使用している場合は、この手順をスキップしてください。それ以外の場合は、以下を.emacsに追加し、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)

注:以前に手動でインストールしたProof GeneralからMELPAに切り替える場合は、Emacsコンテキストから古いバージョンのProof Generalを削除したことを確認してください(.emacsからPG/generic/proof-siteをロードする行を削除するか、 OSパッケージマネージャーが提供するproofgeneralパッケージをアンインストールします)。

次に、M-x package-refresh-contents RETを実行し、続いてM-x package-install RET proof-general RETを実行して、proof-generalをインストールしてバイトコンパイルします。

これで、Coqファイル(.v)、EasyCryptファイル(.ec)、またはPhoXファイル(.phx)を開いて、対応するメジャーモードを自動的にロードできます。

  • Gitの使用(手動コンパイル手順)古いバージョンのProof Generalを削除し、GitHubからPGリポジトリのクローンを作成し、ソースをバイトコンパイルします。

    git clone https://github.com/ProofGeneral/PG 〜/ .emacs.d/LISP/PG cd〜/.emacs.d/LISP/PG make

次に、以下を.emacsに追加します。

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

Proof Generalがバージョンの不一致について不平を言う場合は、シェルのemacsが実際に通常のEmacsであることを確認してください。そうでない場合は、Emacsへの明示的なパスを使用してMakefileを再度実行します。特にmacOSでは、おそらく次のようなものが必要になります

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

3)〜/ .emacsファイルに次の行を追加します:

;; Make sure we can find coqtop
(setq exec-path (append exec-path '("/usr/local/bin")))

4)これを.emacsに追加します

(custom-set-variables '(coq-prog-name "PATH/TO/coqtop") '(proof-three-window-enable t))

.emacsファイルが見つからない場合は、 this outを確認してください。私の場合、ホームディレクトリに新しい.emacsファイルを作成する必要がありました。

0
Vedant Chavda