Coqide - невозможно загрузить модули из одной папки

Я не могу загружать модули, которые находятся в одной папке в CoqIde.

Я пытаюсь загрузить источники из Software Foundations, я запускаю coqide в папке, содержащей источники SF с coqide или coqide ./, после открытия и запуска файла я получаю эту ошибку:

Error: Cannot find library Poly in loadpath

в этой строке:

Require Export Poly.

а также для всех других команд require.

Итак, как вы, люди, загружаете программы из SF в coqide?

Ответ 1

Вам нужно скомпилировать файлы .v в файлы .vo и добавить их каталог в свой путь загрузки, если вы собираетесь их требовать. Чтобы скомпилировать их, запустите coqc <file-path> в командной строке. Чтобы добавить каталог файлов в ваш путь загрузки в CoqIde, вы можете вставить строку Add LoadPath "<directory-path>". в начале .v файлов.

Ответ 2

Я понимаю, что это старый поток, однако ресурсов по этой проблеме недостаточно. Я просто потратил некоторое время на его решение, поэтому решил, что было бы неплохо опубликовать его на первой теме, которую я получил от googling. Я использую Coq 8.4p16, скомпилированный без дополнительной настройки в Arch Linux.

Итак, в руководстве указано, что переменные, такие как $COQPATH, ${XDG_DATA_DIRS}/coq/ и ${XDG_DATA_HOME}/coq/, отмечены, однако мне не повезло с ними.

Я также попробовал поставить coqc -I /folder/path Edit->Preferences->Externals в CoqIde, но пока не везет.

Я пишу их, поскольку они могут работать для кого-то.

Единственный GLOBAL-способ, который работает для меня, - это записать файл coqrc с Add LoadPath "<directory-path>". в нем. В Linux файл должен находиться в домашней папке.

Надеюсь, что это кому-то поможет.

Ответ 3

Чтобы иметь возможность загружать исходный файл в coqtop, coqc, CoqIDE или Proof General, существует несколько способов, один из которых заключается в следующем:

Предположим, что вы загрузили файлы кода для книги под названием Certified Programming with Dependent Types, написанные Adam Chlipala, которые доступны здесь и извлеките их в путь, который мы называем CODEHOME. Как вы можете видеть, есть первая строка в любых исходных файлах Require Import Bool Arith List Cpdt.CpdtTactics.

Первый тип coqc -v в cli (интерфейс командной строки), результат будет чем-то вроде The Coq Proof Assistant, version 8.4pl4 ...., затем создайте файл с именем coqrc.8.4pl4, расширение файла должно быть в согласитесь с версией используемого coq в каталоге $HOME/.config/coq, если он не существует, и напишите в нем эту строку Add LoadPath "CODEHOME/cpdt/src" as Cpdt . и это.

Ответ 4

Если вы начали свой file.v с Module file., просто избавитесь от него (также избавитесь от End file.), и ваша проблема решена.

Ответ 5

В соответствии с этим: https://github.com/coq/coq/issues/3995#issuecomment-337530500

Использование coqc -R '' '' работает в CoqIDE, хотя вам все равно нужно сначала скомпилировать отпечатки. Но самое неприятное: использование coqtop -R '' '' приведет к тому, что CoqIDE не запустится, мне пришлось отредактировать $HOME/AppData/Local/coq/coqiderc (в Windows), изменить его на cmd_coqtop = "coqtop".