Giter Club home page Giter Club logo

proverbot9001's Introduction

PWC

Proverbot9001

Proverbot logo A bot for proving.

You can find the paper and talk video at our website.

Prerequisites

MacOS

  1. Check your python version with python --version in the terminal. If your version is older than Python 3.7, or the python command isn't found, install python through the python website.
  2. Make sure pip, the python package manager, is available, by running in your terminal: python -m ensurepip.
  3. Install Homebrew from their website.
  4. Install wget, git, opam, rustup, GNU awk, and graphviz through Homebrew: brew install wget git opam rustup-init gawk graphviz && rustup-init
  5. On newer MacOS systems, homebrew installs into /opt/homebrew not /usr/local, so run: export CPATH=/opt/homebrew/include && export LIBRARY_PATH=/opt/homebrew/lib.

Linux

  1. Check your python version with python --version in the terminal. If your version is older than Python 3.7, or the python command isn't found, install python through your package manager.
    1. On Ubuntu, that's:
    sudo apt install python3 python3-dev python3-pip
    
  2. Make sure pip, the python package manager, is available, by running in your terminal: python -m ensurepip.
  3. Install git, opam, rustup, and graphviz using your package manager.
    1. On Ubuntu, that's:
    sudo apt install software-properties-common
    sudo add-apt-repository ppa:avsm/ppa
    sudo apt update
    sudo apt install git opam rustup graphviz libgraphviz-dev
    

Windows

Windows support is more experimental, but you can try installing prereqs through:

https://gitforwindows.org/

https://fdopen.github.io/opam-repository-mingw/installation/

https://graphviz.gitlab.io/_pages/Download/Download_windows.html

https://www.python.org/downloads/windows/

or use Windows Subsystem for Linux

Getting Started

The first thing you'll need to do is clone the repository (download the code).

Cloning the repository (downloading the project)

I recommend that you do this over ssh. To clone github projects using git@ urls (over ssh), you'll need to follow the instructions on this github page. Then, open a terminal (windows users can use "Bash on Ubuntu on Windows"), move to the directory you want to work in, and run:

git clone [email protected]:UCSD-PL/proverbot9001.git

Alternatively, you can clone over https without setting up your github keys, with this command:

git clone https://github.com/UCSD-PL/proverbot9001.git

That should give you a new folder called proverbot9001 with all the code inside. Move into this new directory:

cd proverbot9001

NOTE: There are two ways you can run the project after this, you can either set it up on your machine or use docker and build the container and run the project inside that.

Docker Setup

  • Install Docker desktop on your machine as it makes things easy for you to manage and run containers.
  • Make sure Docker desktop is running. Run the following command from the root of the project (build can take ~1 hour depending on your machine spec and network speed):
docker build -t proverbot:<tag> .
  • Run the built container through Docker desktop directly or using the following command:
docker run -i -t proverbot:<tag> /bin/bash

This will run the container and start a bash terminal.

  • After this you can start running search commands and interacting with the project.

Self-hosted Setup

NOTE: These instructions are for setting up the project on your machine.

Create a python virtual environment

Next, you'll need to create a python virtual environment to work in. This is a good idea in general, but is also required for maturin to work properly.

python -m venv proverbot-env

Whenever you want to work with Proverbot from a new shell, you'll have to first activate this environment:

source proverbot-env/bin/activate

Also do that now.

Install python and rust dependencies

On MacOS, you'll need to install pygraphviz differently, so do that now: pip install --global-option=build_ext --global-option="-I/usr/local/include/" --global-option="-L/usr/local/lib/" pygraphviz

Then, no matter your platform, run this command to install the dependencies:

make setup

this step will take a while, and might involve having to type y a few times.

If this step fails, and part of the error message near the bottom says:

pygraphviz/graphviz_wrap.c:2711:10: fatal error: graphviz/cgraph.h: No such file or directory
 2711 | #include "graphviz/cgraph.h"
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

then python needs help finding your graphviz installation. Check out this github issue: pygraphviz/pygraphviz#155, and possibly this one: pypa/setuptools#2740 .

Download the pre-trained weights

Running Proverbot9001 requires training on existing proof files. Training takes a while, and usually you need some pretty advanced hardware. So to quickly get started, we'll download pre-trained weights instead:

make download-weights

Running the tool

Now you can run Proverbot9001:

make search-report

Which will generate some html in the reports directory.

You should be able to check out the results by opening a web browser and navigating to the reports directory in the project.

Once you've done that, you might like to try training from scratch with make scrape and make train, or writing your own predictor.

Results Reports

The latest Proverbot9001 results can be found here. This is a report in the format generated by Proverbot9001's make search-report; you can click on individual files to see exactly which theorems were proven by Proverbot9001 and what the proofs are.

You can also view the results that were used in the 2020 MAPL paper (linked above) here. However, these results are not up-to-date. If you use these results for a comparison or otherwise write about them, please add a footnote or other comment noting that these results are significantly worse than the latest Proverbot9001 results.

proverbot9001's People

Contributors

hazardouspeach avatar ptival avatar sahilx13 avatar yalhessi avatar tom-p-reichel avatar reichel3 avatar pjreddie avatar joshcplusplus avatar zhannakaufma avatar aleloi avatar agrarpan avatar

Stargazers

Jocelyn Chen avatar  avatar  avatar  avatar Utensil avatar  avatar  avatar Jeff Carpenter avatar  avatar Sean Lee avatar Nada Amin avatar Jize (Winston) Jiang avatar  avatar sh471 avatar  avatar Ankit avatar Zike Xu avatar Ryan Zurrin avatar  avatar Bingyu Shen avatar Konstantinos Kogkalidis avatar Peter Whidden avatar Svend Haugaard Sørensen avatar Philip Zucker avatar LeZhi_Hu avatar Sophia Sun avatar  avatar Wojciech Nawrocki avatar Shiro Takagi avatar Muharrem Okutan avatar  avatar Brando Miranda avatar Max Fan avatar Achim Staebler avatar Brendan Zabarauskas avatar Emil Hessman avatar Luis Berlioz avatar  avatar Ziyang Li avatar

Watchers

James Cloos avatar Ranjit Jhala avatar  avatar  avatar  avatar  avatar Ziyang Li avatar  avatar  avatar Shiro Takagi avatar LeZhi_Hu avatar  avatar

proverbot9001's Issues

why does metalib need coq 8.15 and how to fix it so that it compatible with proverbot9001 -- do we need coq-8.10 really?

related to #78 I am trying to understand if the reason I needed to create a coq 8.15 opam switch was due to

  1. git submdolues issues or
  2. deps from the internet that opam needs for metalib (so metalibs dependencies)

which one is it?

For further context this is the cmd that seems to work right now:

# - Get metalib (so far needs coq 8.15.2)
# - Create the coq 8.15 switch
opam switch create coq-8.15 4.07.1
eval $(opam env --switch=coq-8.15 --set-switch)
opam pin add -y coq 8.15.2
# Libs that break stuff, likely need to fork each one and thus fix the version so the data gen is fixed
# - Get metalib
# Q: metalib missing, how do I pull it with original git submodule commands? ref1: https://stackoverflow.com/questions/74757297/how-do-i-make-sure-to-re-add-a-submodule-correctly-with-a-git-command-without-ma, ref2: https://github.com/UCSD-PL/proverbot9001/issues/59, ref3: https://github.com/UCSD-PL/proverbot9001/issues/60
# Metalib doesn't install properly through opam unless we use a specific commit.
git submodule add -f --name coq-projects/metalib https://github.com/plclub/metalib.git coq-projects/metalib
git submodule update --init coq-projects/metalib
(cd coq-projects/metalib && opam install .)
# alex wasn't clear if this was needed, most likely just install both so you don't need to refactor his code, ref: https://github.com/UCSD-PL/proverbot9001/issues/77
git submodule add -f --name deps/metalib https://github.com/plclub/metalib.git deps/metalib
git submodule update --init deps/metalib
(cd deps/metalib && opam install .)

freeze a deps chain in opam: https://stackoverflow.com/questions/75452407/how-does-one-pin-freeze-a-version-of-the-dependencies-of-an-opam-project-package#75453430

original instruction to install of package coq-ext-lib fails with the 8.10 switch

coq-community/coq-ext-lib#131

How do I go around this? what is causing the issue?

(iit_synthesis) brando9~/proverbot9001 $ opam install -y coq-ext-lib

The following actions will be performed:
  ∗ install coq-ext-lib dev

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
⬇ retrieved coq-ext-lib.dev  (git+https://github.com/coq-community/coq-ext-lib#master)
[ERROR] The compilation of coq-ext-lib.dev failed at "make -j127 theories".

#=== ERROR while compiling coq-ext-lib.dev ====================================#
# context     2.1.3 | linux/x86_64 | ocaml-base-compiler.4.07.1 | https://coq.inria.fr/opam/extra-dev#2022-12-06 09:40
# path        ~/.opam/coq-8.10/.opam-switch/build/coq-ext-lib.dev
# command     /usr/bin/make -j127 theories
# exit-code   2
# env-file    ~/.opam/log/coq-ext-lib-1328047-92e9b2.env
# output-file ~/.opam/log/coq-ext-lib-1328047-92e9b2.out
### output ###
# [...]
# make[2]: *** [Makefile.coq:658: theories/Tactics/BoolTac.vo] Error 1
# make[2]: *** Waiting for unfinished jobs....
# File "./theories/Programming/With.v", line 59, characters 0-39:
# Warning: Declaring a scope implicitly is deprecated; use in advance an
# explicit "Declare Scope struct_scope.". [undeclared-scope,deprecated]
# File "./theories/Data/ListFirstnSkipn.v", line 51, characters 0-101:
# Error: This command does not support this attribute: global.
#
# make[2]: *** [Makefile.coq:658: theories/Data/ListFirstnSkipn.vo] Error 1
# make[1]: *** [Makefile.coq:321: all] Error 2
# make[1]: Leaving directory '/lfs/ampere4/0/brando9/.opam/coq-8.10/.opam-switch/build/coq-ext-lib.dev'
# make: *** [Makefile:7: theories] Error 2



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
┌─ The following actions failed
│ λ build coq-ext-lib dev
└─
╶─ No changes have been performed

thought you'd might want to know

https://stackoverflow.com/questions/74756476/how-does-one-install-a-opam-coq-package-that-has-been-successfully-install-previ

Some coq packages for coq 8.12 don't exist anymore? coq-smpl=8.12 coq-metacoq-template coq-metacoq-checker

can't install these:

(iit_synthesis) brando9~ $ opam switch
#  switch    compiler                    description
   coq-8.10  ocaml-base-compiler.4.07.1  coq-8.10
→  coq-8.12  ocaml-base-compiler.4.07.1  coq-8.12
   default   ocaml.5.0.0                 default
(iit_synthesis) brando9~ $ opam install -y coq-smpl=8.12 coq-metacoq-template coq-metacoq-checker
[ERROR] No package named coq-smpl found.
[ERROR] No package named coq-metacoq-template found.
[ERROR] No package named coq-metacoq-checker found.

do I need to go to the url for each and get the commit that works for coq 8.12?

Errors when following installation instructions

I'm on Ubuntu 20.10 LTE under Windows 10 WSL.
When running
sudo apt install software-properties-properties
I get

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package software-properties-properties

Further,
sudo add-apt-repository ppa:avsm/ppa
gives (amongst several OK lines)

Err:7 http://ppa.launchpad.net/avsm/ppa/ubuntu groovy Release
  404  Not Found [IP: 91.189.95.85 80]

and then

E: The repository 'http://ppa.launchpad.net/avsm/ppa/ubuntu groovy Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

After that, opam still seems to install OK. For rustup I get

No apt package "rustup", but there is a snap with that name.
Try "snap install rustup"

E: Unable to locate package rustup

It then installs through snap with some warnings.
I had graphviz and libgraphviz-dev.
Finally I get stuck with python3.7: APT says

Package python3.7 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'python3.7' has no installation candidate

Still tried to clone, get this:

Cloning into 'proverbot9001'...
The authenticity of host 'github.com (140.82.121.3)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Please advise

How to make opam repo add installs stable via a commit?

I saw commands like:

opam repo add coq-extra-dev https://coq.inria.fr/opam/extra-dev
# We don't need it in all opam switches due to incompatabilities: Run `opam repository add <coq-proj> --all-switches|--set-default' to use it in all existing switches, or in newly created switches, respectively. cmd: opam repository add coq-extra-dev --all-switches
opam repo add coq-released https://coq.inria.fr/opam/released
opam repo add psl-opam-repository https://github.com/uds-psl/psl-opam-repository.git

would putting the url with the commit work like it does for pin or should I just put the url with commit but use opam pin add?

e.g. as I did for cheerios?

opam pin add coq-cheerios git+https://github.com/uwplse/cheerios.git#9c7f66e57b91f706d70afa8ed99d64ed98ab367

cross: https://discuss.ocaml.org/t/how-to-make-opam-repo-add-installs-stable-via-a-commit/11433

I want to pin/fix all version so this never breaks again.

How to install metalib so that is fully compatible with proverbot9001 dependency install?

My hypothesis is to install the coq 8.10 coq-metalib via it's commit using only opam pin e.g.:

eval $(opam env --switch=coq-8.10 --set-switch)
opam pin add -y coq-metalib git+https://github.com/plclub/metalib.git#104fd9efbfd048b7df25dbac7b971f41e8e67897

seems alright:

(iit_synthesis) brando9~/proverbot9001/deps/metalib $ opam pin add -y coq-metalib git+https://github.com/plclub/metalib.git#104fd9efbfd048b7df25dbac7b971f41e8e67897

[NOTE] Package coq-metalib is already pinned to git+https://github.com/plclub/metalib.git#104fd9efbfd048b7df25dbac7b971f41e8e67897 (version dev).
[coq-metalib.dev] synchronised (no changes)
coq-metalib is now pinned to git+https://github.com/plclub/metalib.git#104fd9efbfd048b7df25dbac7b971f41e8e67897 (version dev)

Already up-to-date.
Nothing to do.

is this all?


The only final part that is confusing me is if we actually need the metalib version that we got via submodules under deps/metalib and coq-projects/metalib.

tentative commands that seem to work:

# -- Get metalib for coq-8.10 via commit when getting it through git submodules (unsure if needed)
#rm -rf coq-projects/metalib
#git submodule add -f --name coq-projects/metalib https://github.com/plclub/metalib.git coq-projects/metalib
# - use the one with commit even if it doesn't work just to document the commit explicitly in the .modules file
git submodule add -f --name coq-projects/metalib git+https://github.com/plclub/metalib.git#104fd9efbfd048b7df25dbac7b971f41e8e67897 coq-projects/metalib
git submodule update --init coq-projects/metalib
(cd coq-projects/metalib && git checkout 104fd9efbfd048b7df25dbac7b971f41e8e67897)
(git rev-parse HEAD && cd ..)
# Metalib doesn't install properly through opam unless we use a specific commit.
eval $(opam env --switch=coq-8.10 --set-switch)
(cd coq-projects/metalib && opam install .)

# install it again since I think his code has pointers to a version under deps, could unify with above but it's less work to just accept as is and install it, ref: https://github.com/UCSD-PL/proverbot9001/issues/77
rm -rf deps/metalib
#git submodule add -f --name deps/metalib git+https://github.com/plclub/metalib.git deps/metalib
# - use the one with commit even if it doesn't work just to document the commit explicitly in the .modules file
git submodule add -f --name deps/metalib git+https://github.com/plclub/metalib.git#104fd9efbfd048b7df25dbac7b971f41e8e67897 deps/metalib
git submodule update --init deps/metalib
(cd deps/metalib && git checkout 104fd9efbfd048b7df25dbac7b971f41e8e67897)
(git rev-parse HEAD && cd ..)
# Metalib doesn't install properly through opam unless we use a specific commit.
eval $(opam env --switch=coq-8.10 --s

@HazardousPeach are these two version of metalib actually needed?


if you want to see the output of commands that seem to work see this: #82 but it's a lot...likely not needed. Here just for completeness.

installing deps for coq doesn't work, need >=8.14 not 8.10, most likely coq-cheerios and verdi - help fix!

Running instructions as is fails at this stage with error:

(iit_synthesis) brando9~/proverbot9001 $ opam install -y coq-serapi \
>      coq-struct-tact \
>      coq-inf-seq-ext \
>      coq-cheerios \
>      coq-verdi \
>      coq-smpl \
>      coq-int-map \
>      coq-pocklington \
>      coq-mathcomp-ssreflect coq-mathcomp-bigenough coq-mathcomp-algebra\
>      coq-fcsl-pcm \
>      coq-ext-lib \
>      coq-simple-io \
>      coq-list-string \
>      coq-error-handlers \
>      coq-function-ninjas \
>      coq-algebra \
>      coq-zorns-lemma


[ERROR] Package conflict!
  * Missing dependency:
    - coq >= 8.14
    not available because the package is pinned to version 8.10.

current file:

#!/usr/bin/env bash

ruby --version
if ! command -v ruby &> /dev/null
then
    # First, install Ruby, as that is for some reason required to build
    # the "system" project
    git clone https://github.com/rbenv/ruby-build.git ~/ruby-build
    mkdir -p ~/.local
    PREFIX=~/.local ./ruby-build/install.sh
    ~/.local/ruby-build 3.1.2 ~/.local/
fi

git submodule update && git submodule init

# Sync opam state to local https://github.com/UCSD-PL/proverbot9001/issues/52 (this can be removed for me)
rsync -av --delete $HOME/.opam.dir/ /tmp/${USER}_dot_opam | tqdm --desc="Reading shared opam state" > /dev/null

# Create the 8.10 switch (cmd options opam switch create SWITCH [COMPILER])
opam switch
opam switch create coq-8.10 4.07.1
eval $(opam env --switch=coq-8.10 --set-switch)
opam pin add -y coq 8.10.2

# Install dependency packages for 8.10
opam repo add coq-extra-dev https://coq.inria.fr/opam/extra-dev
opam repo add coq-released https://coq.inria.fr/opam/released
opam repo add psl-opam-repository https://github.com/uds-psl/psl-opam-repository.git
opam install -y coq-serapi \
     coq-struct-tact \
     coq-inf-seq-ext \
     coq-cheerios \
     coq-verdi \
     coq-smpl \
     coq-int-map \
     coq-pocklington \
     coq-mathcomp-ssreflect coq-mathcomp-bigenough coq-mathcomp-algebra\
     coq-fcsl-pcm \
     coq-ext-lib \
     coq-simple-io \
     coq-list-string \
     coq-error-handlers \
     coq-function-ninjas \
     coq-algebra \
     coq-zorns-lemma

opam pin -y add menhir 20190626
# coq-equations seems to rely on ocamlfind for it's build, but doesn't
# list it as a dependency, so opam sometimes tries to install
# coq-equations before ocamlfind. Splitting this into a separate
# install call prevents that.
opam install -y coq-equations \
     coq-metacoq coq-metacoq-checker coq-metacoq-template

# Metalib doesn't install properly through opam unless we use a
# specific commit.
(cd coq-projects/metalib && opam install .)

(cd coq-projects/lin-alg && make "$@" && make install)

# Install the psl base-library from source
mkdir -p deps
git clone -b coq-8.10 [email protected]:uds-psl/base-library.git deps/base-library
(cd deps/base-library && make "$@" && make install)

git clone [email protected]:davidnowak/bellantonicook.git deps/bellantonicook
(cd deps/bellantonicook && make "$@" && make install)

# Create the coq 8.12 switch
opam switch create coq-8.12 4.07.1
eval $(opam env --switch=coq-8.12 --set-switch)
opam pin add -y coq 8.12.2

# Install the packages that can be installed directly through opam
opam repo add coq-released https://coq.inria.fr/opam/released
opam repo add coq-extra-dev https://coq.inria.fr/opam/extra-dev
opam install -y coq-serapi \
     coq-smpl=8.12 coq-metacoq-template coq-metacoq-checker \
     coq-equations \
     coq-mathcomp-ssreflect coq-mathcomp-algebra coq-mathcomp-field \
     menhir

# Install some coqgym deps that don't have the right versions in their
# official opam packages
git clone [email protected]:uwplse/StructTact.git deps/StructTact
(cd deps/StructTact && opam install -y . )
git clone [email protected]:DistributedComponents/InfSeqExt.git deps/InfSeqExt
(cd deps/InfSeqExt && opam install -y . )
# Cheerios has its own issues
git clone [email protected]:uwplse/cheerios.git deps/cheerios
(cd deps/cheerios && opam install -y --ignore-constraints-on=coq . )
(cd coq-projects/verdi && opam install -y --ignore-constraints-on=coq . )
(cd coq-projects/fcsl-pcm && make "$@" && make install)

# Finally, sync the opam state back to global
rsync -av --delete /tmp/${USER}_dot_opam/ $HOME/.opam.dir | tqdm --desc="Writing shared opam state" > /dev/null

perhaps useful: https://stackoverflow.com/questions/75452407/how-does-one-pin-freeze-a-version-of-the-dependencies-of-an-opam-project-package

related: #55

Some problems about proverbot.

Hi, I have a little problem when I run make setup:

When setting up coq-menhirlib in src/setup.sh, it needs an Inria account. Can you provide a public github repository of coq-menhirlib in order to set up easily? And it seems like we should use apt-get install -y graphviz-dev to install graphviz-dev before we install pygraphviz in make setup.

And in your experiments, you compare proverbot9001 with CoqGym. However, when I run the experiment of CoqGym, it seems like there are less than 501 testcases of CompCert for CoqGym to extract. Are there exactly 501 testing proofs for CoqGym to prove in your setting?

why do you create two switches in your install_coqgym_deps.sh?

One here for coq 8.10:

# Create the 8.10 switch (cmd options opam switch create SWITCH [COMPILER])
opam switch
opam switch create coq-8.10 4.07.1
eval $(opam env --switch=coq-8.10 --set-switch)
opam pin add -y coq 8.10.2

# Install dependency packages for 8.10
opam repo add coq-extra-dev https://coq.inria.fr/opam/extra-dev
...

then one here for coq 8.12:

# Create the coq 8.12 switch
opam switch create coq-8.12 4.07.1
eval $(opam env --switch=coq-8.12 --set-switch)
opam pin add -y coq 8.12.2

# Install the packages that can be installed directly through opam
opam repo add coq-released https://coq.inria.fr/opam/released

I find this confusing. Why don't all the coq-gym projects use the same coq version and therefore a single opam switch?

installing verdi and cheerios for coq 8.10 -- getting their commits for opam pin after updates to these repos overwrite the OPAM online repository

I think this works:

iit_synthesis) brando9~ $ opam pin add coq-verdi git+https://github.com/uwplse/verdi.git#f3ef8d77afcac495c0864de119e83b25d294e8bb

[coq-verdi.dev] synchronised (git+https://github.com/uwplse/verdi.git#f3ef8d77afcac495c0864de119e83b25d294e8bb)
coq-verdi is now pinned to git+https://github.com/uwplse/verdi.git#f3ef8d77afcac495c0864de119e83b25d294e8bb (version dev)

The following actions will be performed:
  ∗ install coq-cheerios dev* [required by coq-verdi]
  ∗ install coq-verdi    dev*
===== ∗ 2 =====
Do you want to continue? [Y/n] Y

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  3/6: [coq-cheerios: make]
∗ installed coq-cheerios.dev
∗ installed coq-verdi.dev
Done.

but leaving here in case something breaks in the coq projs build (or anyone need the git commits).

alll refs I used:

Why is proverbot asking me for a username and password when I try to initialize the coq-projects using gitsubmodules commands?

I ran:

git submodule update --init --recursive --remote

but got these prompts for the terminal/git:

Cloning into '/Users/brandomiranda/proverbot9001/coq-projects/VST/coq-ext-lib/coqdocjs'...
Username for 'https://github.com': brando90
Password for 'https://[email protected]': 
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/coq-ext-lib/coqdocjs.git/'
fatal: clone of 'https://github.com/coq-ext-lib/coqdocjs.git' into submodule path '/Users/brandomiranda/proverbot9001/coq-projects/VST/coq-ext-lib/coqdocjs' failed
Failed to clone 'coqdocjs'. Retry scheduled
Cloning into '/Users/brandomiranda/proverbot9001/coq-projects/VST/coq-ext-lib/templates'...
Username for 'https://github.com': 
Password for 'https://github.com': 
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/coq-ext-lib/templates.git/'
fatal: clone of 'https://github.com/coq-ext-lib/templates.git' into submodule path '/Users/brandomiranda/proverbot9001/coq-projects/VST/coq-ext-lib/templates' failed
Failed to clone 'templates'. Retry scheduled
Cloning into '/Users/brandomiranda/proverbot9001/coq-projects/VST/coq-ext-lib/coqdocjs'...
Username for 'https://github.com': 
Password for 'https://github.com': 
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/coq-ext-lib/coqdocjs.git/'
fatal: clone of 'https://github.com/coq-ext-lib/coqdocjs.git' into submodule path '/Users/brandomiranda/proverbot9001/coq-projects/VST/coq-ext-lib/coqdocjs' failed
Failed to clone 'coqdocjs' a second time, aborting
fatal: Failed to recurse into submodule path 'coq-projects/VST/coq-ext-lib'

is this suppose to happen? Why am I getting this request from git?


cross: https://stackoverflow.com/questions/75349766/why-is-git-asking-me-for-a-username-and-a-password-when-i-try-to-clone-git-submo

Installing verdi is confusing

At one point in the build coqgym deps we have

opam install -y coq-verdi

since it's bellow the 8.10 switch I assume it requires that switch.

But then the coq proj .json says we want 8.12 and bellow you also install it in the 8.12

(cd coq-projects/verdi && opam install -y --ignore-constraints-on=coq .)

so which one should I be using?

Also, there is a verdi-raft and I don't see a opam install or other attempts to install it in the deps. Is this a bug? How to proceed?

Error msg:

(iit_synthesis) brando9~/proverbot9001 $ opam install -y coq-verdi
[ERROR] Package conflict!
  * Missing dependency:
    - coq >= 8.14
    not available because the package is pinned to version 8.12.2

No solution found, exiting

coq lin-alg-8.10 seems to install (with coq 8.9 or 8.10?) but doesn't appear in opam list

I installed it with the suggested command but fails to appear in opam list, full output:

(iit_synthesis) brando9~/proverbot9001 $ (cd coq-projects/lin-alg && make "$@" && make install)
coq_makefile -f _CoqProject -o Makefile.coq
make -f Makefile.coq Makefile
make[1]: Entering directory '/afs/cs.stanford.edu/u/brando9/proverbot9001/coq-projects/lin-alg'
make[1]: Nothing to be done for 'Makefile'.
make[1]: Leaving directory '/afs/cs.stanford.edu/u/brando9/proverbot9001/coq-projects/lin-alg'
make -f Makefile.coq all
make[1]: Entering directory '/afs/cs.stanford.edu/u/brando9/proverbot9001/coq-projects/lin-alg'
make[2]: Nothing to be done for 'real-all'.
make[1]: Leaving directory '/afs/cs.stanford.edu/u/brando9/proverbot9001/coq-projects/lin-alg'
coq_makefile -f _CoqProject -o Makefile.coq
make -f Makefile.coq Makefile
make[1]: Entering directory '/afs/cs.stanford.edu/u/brando9/proverbot9001/coq-projects/lin-alg'
make[1]: Nothing to be done for 'Makefile'.
make[1]: Leaving directory '/afs/cs.stanford.edu/u/brando9/proverbot9001/coq-projects/lin-alg'
make -f Makefile.coq install
make[1]: Entering directory '/afs/cs.stanford.edu/u/brando9/proverbot9001/coq-projects/lin-alg'
INSTALL first_page.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg/
INSTALL support/equal_syntax.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/more_syntax.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/vecspaces_verybasic.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL support/finite.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL examples/vecspace_Fn.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL support/Map2.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL examples/vecspace_functionspace.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/Matrices.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/vecspace_Mmn.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL LinAlg/alt_build_vecsp.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL examples/infinite_sequences.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL support/algebra_omissions.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/arb_intersections.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/subspaces.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL examples/antisymmetric_matrices.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/symmetric_matrices.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/up_lo_triang_mat.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL support/seq_set.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_set_seq.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/empty.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/conshdtl.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/concat.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/const.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/omit.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/pointwise.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/modify_seq.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/mult_by_scalars.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/Map_embed.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/subseqs.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/sums.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/sums2.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/distinct.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/cast_seq_lengths.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_equality.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/concat_facts.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_equality_facts.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/distribution_lemmas.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_set_facts.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/omit_facts.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/distinct_facts.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/cast_between_subsets.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/lin_combinations.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/spans.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/algebraic_span_facts.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/lin_comb_facts.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/direct_sum.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/lin_dependence.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/lin_dep_facts.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL support/random_facts.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/finite_subsets.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/has_n_elements.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/counting_elements.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/bases.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/bases_from_generating_sets.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/replacement_theorem.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/replacement_corollaries.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/bases_finite_dim.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/maxlinindepsubsets.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/subspace_dim.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/subspace_bases.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/Linear_Algebra_by_Friedberg_Insel_Spence.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/Lin_trafos.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL examples/trivial_spaces.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/Matrix_multiplication.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL extras/ring_module.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/Inter_intersection.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/finite_misc.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/restrict.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/Matrix_related_defs.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/before_after.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/matrix_algebra.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/Equality_structures.vo /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL first_page.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg/
INSTALL support/equal_syntax.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/more_syntax.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/vecspaces_verybasic.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL support/finite.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL examples/vecspace_Fn.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL support/Map2.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL examples/vecspace_functionspace.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/Matrices.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/vecspace_Mmn.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL LinAlg/alt_build_vecsp.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL examples/infinite_sequences.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL support/algebra_omissions.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/arb_intersections.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/subspaces.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL examples/antisymmetric_matrices.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/symmetric_matrices.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/up_lo_triang_mat.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL support/seq_set.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_set_seq.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/empty.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/conshdtl.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/concat.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/const.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/omit.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/pointwise.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/modify_seq.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/mult_by_scalars.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/Map_embed.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/subseqs.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/sums.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/sums2.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/distinct.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/cast_seq_lengths.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_equality.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/concat_facts.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_equality_facts.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/distribution_lemmas.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_set_facts.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/omit_facts.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/distinct_facts.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/cast_between_subsets.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/lin_combinations.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/spans.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/algebraic_span_facts.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/lin_comb_facts.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/direct_sum.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/lin_dependence.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/lin_dep_facts.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL support/random_facts.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/finite_subsets.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/has_n_elements.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/counting_elements.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/bases.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/bases_from_generating_sets.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/replacement_theorem.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/replacement_corollaries.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/bases_finite_dim.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/maxlinindepsubsets.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/subspace_dim.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/subspace_bases.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/Linear_Algebra_by_Friedberg_Insel_Spence.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/Lin_trafos.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL examples/trivial_spaces.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/Matrix_multiplication.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL extras/ring_module.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/Inter_intersection.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/finite_misc.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/restrict.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/Matrix_related_defs.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/before_after.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/matrix_algebra.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/Equality_structures.v /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL first_page.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg/
INSTALL support/equal_syntax.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/more_syntax.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/vecspaces_verybasic.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL support/finite.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL examples/vecspace_Fn.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL support/Map2.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL examples/vecspace_functionspace.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/Matrices.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/vecspace_Mmn.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL LinAlg/alt_build_vecsp.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL examples/infinite_sequences.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL support/algebra_omissions.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/arb_intersections.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/subspaces.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL examples/antisymmetric_matrices.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/symmetric_matrices.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/up_lo_triang_mat.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL support/seq_set.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_set_seq.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/empty.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/conshdtl.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/concat.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/const.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/omit.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/pointwise.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/modify_seq.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/mult_by_scalars.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/Map_embed.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/subseqs.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/sums.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/sums2.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/distinct.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/cast_seq_lengths.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_equality.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/concat_facts.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_equality_facts.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/distribution_lemmas.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/seq_set_facts.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/omit_facts.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/distinct_facts.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/cast_between_subsets.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/lin_combinations.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/spans.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/algebraic_span_facts.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/lin_comb_facts.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/direct_sum.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/lin_dependence.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/lin_dep_facts.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL support/random_facts.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/finite_subsets.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/has_n_elements.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL support/counting_elements.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//support
INSTALL LinAlg/bases.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/bases_from_generating_sets.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/replacement_theorem.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/replacement_corollaries.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/bases_finite_dim.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/maxlinindepsubsets.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/subspace_dim.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/subspace_bases.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/Linear_Algebra_by_Friedberg_Insel_Spence.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL LinAlg/Lin_trafos.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//LinAlg
INSTALL examples/trivial_spaces.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL examples/Matrix_multiplication.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//examples
INSTALL extras/ring_module.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/Inter_intersection.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/finite_misc.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/restrict.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/Matrix_related_defs.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/before_after.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/matrix_algebra.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
INSTALL extras/Equality_structures.glob /lfs/ampere1/0/brando9/.opam/coq-8.10/lib/coq//user-contrib/LinAlg//extras
make[2]: Entering directory '/afs/cs.stanford.edu/u/brando9/proverbot9001/coq-projects/lin-alg'
make[2]: Leaving directory '/afs/cs.stanford.edu/u/brando9/proverbot9001/coq-projects/lin-alg'
make[1]: Leaving directory '/afs/cs.stanford.edu/u/brando9/proverbot9001/coq-projects/lin-alg'
(iit_synthesis) brando9~/proverbot9001 $ opam list | grep lin-alg
(iit_synthesis) brando9~/proverbot9001 $

Unable to locate package software-common-properties

I use Ubuntu 18.04.3 LTS, I had a trouble when I run this code:
sudo apt install software-common-properties
However, Google tells me there is a packet name software-properties-common. So is this a mistake or a version problem? Thanks~

Can the contents of read-opam.sh script be shared?

I noticed the build_coq_project.sh has this:

INIT_CMD="~/opam-scripts/read-opam.sh"

which seems to be written a bunch of places when making the make.sh file for each coq project e.g.

for project in $(jq -r '.[].project_name' coqgym_projs_splits.json); do
    SBATCH_FLAGS=""

    echo "#!/usr/bin/env bash" > coq-projects/$project/make.sh
    echo ${INIT_CMD} >> coq-projects/$project/make.sh
...

can the contents of that file be shared? (since path doesn't start at proverbot)

Thanks for the help Alex! :)

coq version 8.11.0 in setup doesn't work with many coq-projects

Currently src/setup.sh pins coq version to 8.11 and menhir package to 20190626. However, most of the packages in coq-projects only compile/work with coq 8.10.0.

As far as I can see, coqgym gets coq-packages directory from https://coq.inria.fr/opam/coq-packages.json. Currently, only 11 packages in that list are compatible with coq 8.11, but 146 are compatible with coq 8.10. So, maybe the default version should be 8.10? The matching menhir package version is 20181113.

coq cherios fails also in deps

(iit_synthesis) brando9~/proverbot9001 $ (cd deps/cheerios && opam install -y --ignore-constraints-on=coq .)
[cheerios-runtime.dev] synchronised (no changes)
[coq-cheerios.dev] synchronised (no changes)
[NOTE] Package cheerios-runtime is already installed (current version is dev).
The following actions will be performed:
  ∗ install coq-cheerios dev*

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of coq-cheerios.dev failed at "make -j127".

#=== ERROR while compiling coq-cheerios.dev ===================================#
# context     2.1.3 | linux/x86_64 | ocaml-base-compiler.4.07.1 | pinned(git+file:///afs/cs.stanford.edu/u/brando9/proverbot9001/deps/cheerios#master#a6c9c08e)
# path        ~/.opam/coq-8.12/.opam-switch/build/coq-cheerios.dev
# command     /usr/bin/make -j127
# exit-code   2
# env-file    ~/.opam/log/coq-cheerios-1604634-fd5c20.env
# output-file ~/.opam/log/coq-cheerios-1604634-fd5c20.out
### output ###
# [...]
# COQDEP VFILES
# COQC core/Types.v
# COQC core/ByteDecidable.v
# COQC core/Core.v
# File "./core/Core.v", line 174, characters 0-60:
# Error: This command does not support this attribute: global.
# [unsupported-attributes,parsing]
#
# make[2]: *** [Makefile.coq:716: core/Core.vo] Error 1
# make[1]: *** [Makefile.coq:339: all] Error 2
# make[1]: Leaving directory '/lfs/ampere4/0/brando9/.opam/coq-8.12/.opam-switch/build/coq-cheerios.dev'
# make: *** [Makefile:4: default] Error 2



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
┌─ The following actions failed
│ λ build coq-cheerios dev
└─
╶─ No changes have been performed

Is the .gitignore file correct? Shouldn't it not have a forward slash?

It is trying to git add some changes:
Screenshot 2023-02-04 at 7 00 03 PM
but they are on the gitignore file:

/.gcroots/
*__pycache__/
/CompCert/
/coq-projects/
/coq/
/coq-serapi/
/darknet/
*.aux
*.glob
*.swp
*.vo
/coq-menhirlib/
/data/scrape.txt
/data/scrape.bkp
report-*
report/
*-weights*
*.mypy_cache/*
*/.mypy_cache/*
*.lock

shouldn't it be:

/.gcroots/
*__pycache__/
CompCert/
coq-projects/
/coq/
/coq-serapi/
/darknet/
*.aux
*.glob
*.swp
*.vo
/coq-menhirlib/
/data/scrape.txt
/data/scrape.bkp
report-*
report/
*-weights*
*.mypy_cache/*
*/.mypy_cache/*
*.lock

original instruction to install coq-simple-io fails with switch 8.10

The original instruction to install coq-simple-io fails with switch 8.10.

Error:

(iit_synthesis) brando9~/proverbot9001 $ opam install -y coq-simple-io
The following actions will be performed:
  ∗ install coq-ext-lib   dev   [required by coq-simple-io]
  ∗ install coq-simple-io 1.5.0
===== ∗ 2 =====

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
⬇ retrieved coq-ext-lib.dev  (no changes)
⬇ retrieved coq-simple-io.1.5.0  (https://github.com/Lysxia/coq-simple-io/archive/1.5.0.tar.gz)
[ERROR] The compilation of coq-ext-lib.dev failed at "make -j127 theories".

#=== ERROR while compiling coq-ext-lib.dev ====================================#
# context     2.1.3 | linux/x86_64 | ocaml-base-compiler.4.07.1 | https://coq.inria.fr/opam/extra-dev#2022-12-06 09:40
# path        ~/.opam/coq-8.10/.opam-switch/build/coq-ext-lib.dev
# command     /usr/bin/make -j127 theories
# exit-code   2
# env-file    ~/.opam/log/coq-ext-lib-1340121-a23a76.env
# output-file ~/.opam/log/coq-ext-lib-1340121-a23a76.out
### output ###
# [...]
# make[2]: *** [Makefile.coq:658: theories/Tactics/BoolTac.vo] Error 1
# make[2]: *** Waiting for unfinished jobs....
# File "./theories/Programming/With.v", line 59, characters 0-39:
# Warning: Declaring a scope implicitly is deprecated; use in advance an
# explicit "Declare Scope struct_scope.". [undeclared-scope,deprecated]
# File "./theories/Data/ListFirstnSkipn.v", line 51, characters 0-101:
# Error: This command does not support this attribute: global.
#
# make[2]: *** [Makefile.coq:658: theories/Data/ListFirstnSkipn.vo] Error 1
# make[1]: *** [Makefile.coq:321: all] Error 2
# make[1]: Leaving directory '/lfs/ampere4/0/brando9/.opam/coq-8.10/.opam-switch/build/coq-ext-lib.dev'
# make: *** [Makefile:7: theories] Error 2



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
┌─ The following actions failed
│ λ build coq-ext-lib dev
└─
╶─ No changes have been performed

metalib requires coq 8.15, what to do? I think we might need to also save the commit of each coq project we submodule e.g. in the splits .json file

metalib requires coq 8.15, what to do? I think we might need to also save the commit of each coq project we submodule e.g. in the splits .json file

(iit_synthesis) brando9~/proverbot9001 $ git submodule add -f --name coq-projects/metalib https://github.com/plclub/metalib.git coq-projects/metalib
Adding existing repo at 'coq-projects/metalib' to the index
(iit_synthesis) brando9~/proverbot9001 $ git submodule update --help
usage: git submodule [--quiet] [--cached]
   or: git submodule [--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
   or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] init [--] [<path>...]
   or: git submodule [--quiet] deinit [-f|--force] (--all| [--] <path>...)
   or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-shallow] [--reference <repository>] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] set-branch (--default|--branch <branch>) [--] <path>
   or: git submodule [--quiet] set-url [--] <path> <newurl>
   or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
   or: git submodule [--quiet] foreach [--recursive] <command>
   or: git submodule [--quiet] sync [--recursive] [--] [<path>...]
   or: git submodule [--quiet] absorbgitdirs [--] [<path>...]
(iit_synthesis) brando9~/proverbot9001 $ git submodule update && git submodule init
(iit_synthesis) brando9~/proverbot9001 $ (cd coq-projects/metalib && opam install .)
coq-metalib is now pinned to git+file:///afs/cs.stanford.edu/u/brando9/proverbot9001/coq-projects/metalib#master (version dev)
[ERROR] Package conflict!
  * Missing dependency:
    - coq >= 8.15
    not available because the package is pinned to version 8.10.2

No solution found, exiting

How to create my own git repo for stable installs of coq-projects?

I know i have to git fork it. I'm trying this out with cheerios. After that which files do I need to update & run such that

  1. opam installs the right version of my cheerios
  2. it uses the right version of coq.

For now I am only updating coq-cheerios.opam here: https://github.com/brando90/cheerios/blob/master/coq-cheerios.opam

hopefully this works:

opam-version: "2.0"
maintainer: "[email protected]"
version: "dev"

homepage: "https://github.com/brando90/cheerios"
dev-repo: "git+https://github.com/brando90/cheerios.git"
bug-reports: "https://github.com/brando90/cheerios/issues"
license: "BSD-2-Clause"

synopsis: "Coq library for verified serialization"
description: """
A formally verified serialization library for Coq
which defines a typeclass for serializable types and instances
for many standard library types."""

build: [make "-j%{jobs}%"]
install: [make "install"]
depends: [
  "coq" {== "8.16.1"}
  "coq-struct-tact" {= "dev"}
]

tags: [
  "category:Computer Science/Data Types and Data Structures"
  "keyword:serialization"
  "keyword:deserialization"
  "logpath:Cheerios"
]
authors: [
  "Justin Adsuara"
  "Karl Palmskog"
  "Keith Simmons"
  "James R. Wilcox"
  "Doug Woos"
]

Error running make search-report

Following advice I was given, I removed line 15 from proverbot9001/dataloader/dataloader-core/Cargo.toml in order to get make setup to finish running

features = ["extension-module"]

After that, I get errors when trying to run make search-report

MacBook-Pro-4:proverbot9001 andyyang$ make search-report
(export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:$LD_LIBRARY_PATH ; cat data/compcert-test-files.txt | cat | \
	xargs ./src/proverbot9001.py search-report -j 16 --weightsfile=data/polyarg-weights.dat --prelude=./CompCert --search-depth=6 --search-width=5 -P )
Traceback (most recent call last):
  File "./src/proverbot9001.py", line 26, in <module>
    import search_file
  File "/Users/andyyang/Desktop/proverbot9001/src/search_file.py", line 41, in <module>
    from predict_tactic import (static_predictors, loadPredictorByFile,
  File "/Users/andyyang/Desktop/proverbot9001/src/predict_tactic.py", line 49, in <module>
    from models import features_polyarg_predictor
  File "/Users/andyyang/Desktop/proverbot9001/src/models/features_polyarg_predictor.py", line 45, in <module>
    from dataloader import (features_polyarg_tensors,
ImportError: cannot import name 'encode_fpa_stem' from 'dataloader' (/Users/andyyang/Desktop/proverbot9001/src/dataloader.py)
make: *** [search-report] Error 1

Upon inspection, it doesn't seem that encode_fpa_stem is inside the file dataloader.pyi at all. Was anyone able to resolve any similar errors? Any help is appreciated!

metalib is missing even after git submodule update && git submodule init command

Idk why but coq/metalib is missing even after doing:

git submodule update && git submodule init
(iit_synthesis) brando9~/proverbot9001 $ git submodule update && git submodule init
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/CompCert'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/GeoCoq'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/QuickChick'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/UnifySL'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/VST'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/additions'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/algebra'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/area-method'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/bdds'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/buchberger'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/coq'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/coq-library-undecidability'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/coq-procrastination'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/coqrel'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/coquelicot'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/dictionaries'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/disel'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/distributed-reference-counting'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/euler-formula'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/fcsl-pcm'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/fermat4'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/finmap'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/float'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/goedel'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/hardware'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/hoare-tut'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/ieee754'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/int-map'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/lemma-overloading'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/lin-alg'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/math-comp'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/maths'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/mod-red'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/pocklington'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/pts'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/qarith'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/quicksort-complexity'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/smc'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/topology'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/tree-automata'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/twoSquare'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/verdi'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/verdi-raft'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/zchinese'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/zorns-lemma'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq-projects/zsearch-trees'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/coq_serapy'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/dataloader/gestalt-ratio'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/stubs/mypy-data'...
Cloning into '/lfs/ampere4/0/brando9/proverbot9001/stubs/pytorch-types'...
Submodule path 'CompCert': checked out '76a4ff8f5b37429a614a2a97f628d9d862c93f46'
Submodule path 'coq-projects/GeoCoq': checked out '09a02dc56715b3308689843dd872209262beb5af'
Submodule path 'coq-projects/QuickChick': checked out '2ebf945332f4f398ef14a4bf547bb595d945f6f2'
Submodule path 'coq-projects/UnifySL': checked out 'cf4eec5d0d9f76b864d92a9e6df5bc3e8bb43d9d'
Submodule path 'coq-projects/VST': checked out '84ede1cf708dd13b38dd4c3089ddf6f470c15093'
Submodule path 'coq-projects/additions': checked out 'e97f80de67e6c806e448504296a48bfe40cbcd3a'
Submodule path 'coq-projects/algebra': checked out 'a66ff5b0a908e706244f627bbd28b61f5e9b86e5'
Submodule path 'coq-projects/area-method': checked out '84cab885dd166ba80049973590a1080524fd9306'
Submodule path 'coq-projects/bdds': checked out '2a66529afca7c780fa18d21ecd4f6c8d55182a6d'
Submodule path 'coq-projects/buchberger': checked out 'fbf821ffe58eea281c6d98ebf0f8628cbe1d3ad1'
Submodule path 'coq-projects/coq': checked out 'dca7b1d4d2c83655eed74c5de264a5d3298ef788'
Submodule path 'coq-projects/coq-library-undecidability': checked out '1b1c59615d7b84a16d1d3a7b5dd510ac68699121'
Submodule path 'coq-projects/coq-procrastination': checked out '199dab4435148e4bdfdf934836c644c2c4e44073'
Submodule path 'coq-projects/coqrel': checked out '5f0dc26f999be80abe30cf51c42343f3a5cc0aa1'
Submodule path 'coq-projects/coquelicot': checked out 'aa05d3ec815002033893af422151558ea9330dbd'
Submodule path 'coq-projects/dictionaries': checked out '71d4c69ba2f1e0d5e08cd51fbaf801dcc006981d'
Submodule path 'coq-projects/disel': checked out '0418990a36f914c3eb69a2c63af6cfa6a05ec422'
Submodule path 'coq-projects/distributed-reference-counting': checked out '6f0d8fe701ec404702a8c7ae5aea97ad6be6b2b4'
Submodule path 'coq-projects/euler-formula': checked out '988520d51305a9bfe4158eefab2945eebaa87e29'
Submodule path 'coq-projects/fcsl-pcm': checked out 'fab4dfe3ca58ecf8aefeb8fa4ac4a2659b231f24'
Submodule path 'coq-projects/fermat4': checked out 'f91289c096a9a9e74bbf018444f23010465246d3'
Submodule path 'coq-projects/finmap': checked out '17da86bf63acbf21924c9159a4b5c1d4a4e9b38c'
Submodule path 'coq-projects/float': checked out 'a4b445bad8b8d0afb725d64472b194d234676ce0'
Submodule path 'coq-projects/goedel': checked out '89e0487eefa3f0c6c2ed9f552f2135b43ce937ab'
Submodule path 'coq-projects/hardware': checked out '525232186f45617626aaf4b18bdc40b5f0b71d9c'
Submodule path 'coq-projects/hoare-tut': checked out 'a4c2e609e065a90ceaaee6d1df931027ee983658'
Submodule path 'coq-projects/ieee754': checked out 'e50696e15dfabe5f9bcddf70947bd876f6d073df'
Submodule path 'coq-projects/int-map': checked out 'd96bb09fa7c8f261128acddf9d156e70e90e5c67'
Submodule path 'coq-projects/lemma-overloading': checked out 'e1c8bb876c7a26b90181d165f606cd35912ffa74'
Submodule path 'coq-projects/lin-alg': checked out 'aa5a7cc4105fd20debf4c13a7d40392e34631610'
Submodule path 'coq-projects/math-comp': checked out 'd09daeec7572ff9cb488e021245f7f5cd4680410'
Submodule path 'coq-projects/maths': checked out 'c50d4745619f6a8877ffd8d749cafea74d48ad62'
Submodule path 'coq-projects/mod-red': checked out '72bd9d8fd6752648792ec790c16217a4d1498859'
Submodule path 'coq-projects/pocklington': checked out '6571af6fe8305d8fce68bc188dffab9c842fb49c'
Submodule path 'coq-projects/pts': checked out 'f368d34f919bb7ff714c0eb0d97929207502892b'
Submodule path 'coq-projects/qarith': checked out '32aae3f90fd93e33ae10730e5566e1dccb4c6d1e'
Submodule path 'coq-projects/quicksort-complexity': checked out 'd94adf421241ebb6084c0c4f798e33569d0420c8'
Submodule path 'coq-projects/smc': checked out '60e63dc612eeffe7ed5ad4a658fdacf30709b19a'
Submodule path 'coq-projects/topology': checked out 'fdda7fef1a1981330e7662a101e4001b200270b7'
Submodule path 'coq-projects/tree-automata': checked out '1d756a966aaee796ed46362d45ec9b0ddc6951ca'
Submodule path 'coq-projects/twoSquare': checked out 'a58998cf3719811f00419e366db7f9c5bb889aae'
Submodule path 'coq-projects/verdi': checked out '064cc4fb2347453bf695776ed820ffb5fbc1d804'
Submodule path 'coq-projects/verdi-raft': checked out 'ea99a7453c30a0c11b904b36a3b4862fad28abe1'
Submodule path 'coq-projects/zchinese': checked out '906bb36960c230df143356ca4565771fe3008ef7'
Submodule path 'coq-projects/zorns-lemma': checked out 'aaf46b0c5f7857ce9211cbaaf36f184ca810e0e8'
Submodule path 'coq-projects/zsearch-trees': checked out '91b00b3912f78bc97dd2d450e9ff5d90d602600f'
Submodule path 'coq_serapy': checked out '61dfc7a14a5ad0a67c838bd75bad36c0ceeefe48'
Submodule path 'dataloader/gestalt-ratio': checked out '6544dc338b78bfbec6f376fb9c0136633439edbc'
Submodule path 'stubs/mypy-data': checked out '952404655a8f028cdd47d9fa39d55ff6c0b377ba'
Submodule path 'stubs/pytorch-types': checked out 'f0792dfdba67649427ebe70f69ee51f2ff1fae06'

and see:

(iit_synthesis) brando9~/proverbot9001 $ (cd coq-projects/metalib && opam install .)
-bash: cd: coq-projects/metalib: No such file or directory

installation error

hi, when I install Proverbot on a new machine and run make setup, there is a problem:
cd dataloader && rustup run nightly cargo build --release
Compiling dataloader v0.1.0 (/proverbot9001/dataloader/dataloader-core)
warning: unnecessary braces around method argument
--> dataloader-core/src/scraped_data.rs:103:18
|
103 | obj.init({ TacticContext{relevant_lemmas, prev_tactics, obligation} });
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
|
= note: #[warn(unused_braces)] on by default

warning: unnecessary braces around method argument
--> dataloader-core/src/scraped_data.rs:119:18
|
119 | obj.init({ Obligation{hypotheses, goal} });
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces

warning: unnecessary trailing semicolon
--> dataloader-core/src/scraped_data.rs:264:6
|
264 | };
| ^ help: remove this semicolon
|
= note: #[warn(redundant_semicolons)] on by default

warning: unnecessary braces around method argument
--> dataloader-core/src/scraped_data.rs:529:18
|
529 | obj.init({ d });
| ^^^^^ help: remove these braces

warning: unnecessary trailing semicolon
--> dataloader-core/src/paren_util.rs:85:6
|
85 | };
| ^ help: remove this semicolon

warning: unused import: crate::tokenizer::get_symbols
--> dataloader-core/src/features.rs:29:5
|
29 | use crate::tokenizer::get_symbols;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: #[warn(unused_imports)] on by default

warning: unnecessary braces around method argument
--> dataloader-core/src/models/goal_enc_evaluator.rs:22:18
|
22 | obj.init({ GoalEncMetadata { tokenizer: None } })
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces

error[E0061]: this function takes 1 argument but 2 arguments were supplied
--> dataloader-core/src/models/features_polyarg_predictor.rs:652:52
|
652 | let new_hyp_idx = thread_rng().gen_range(0, args.max_premises);
| ^^^^^^^^^ - ----------------- supplied 2 arguments
| |
| expected 1 argument
|
note: associated function defined here
--> /.cargo/registry/src/github.com-1ecc6299db9ec823/rand-0.8.3/src/rng.rs:127:8
|
127 | fn gen_range<T, R>(&mut self, range: R) -> T
| ^^^^^^^^^

error: aborting due to previous error; 7 warnings emitted

For more information about this error, try rustc --explain E0061.
error: could not compile dataloader

To learn more, run the command again with --verbose.
Makefile:118: recipe for target 'src/dataloader.so' failed
make[1]: *** [src/dataloader.so] Error 101
make[1]: Leaving directory '/proverbot9001'
Makefile:36: recipe for target 'setup' failed
make: *** [setup] Error 2

Can you please help me fix this issue?

sharing the already build opam environment?

I was thinking that perhaps it's possible to checkpoint the entire dependencies and share them?

For example, wouldn't it be easier to share it with opam lock? At least for the short term?

opam-lock - Create locked opam files to share build environments across hosts.

related: https://discuss.ocaml.org/t/how-does-one-pin-freeze-a-version-of-the-dependencies-of-an-opam-project-package-and-then-install-the-project-with-such-specified-dependencies/11424/3
related: https://stackoverflow.com/questions/75452407/how-does-one-pin-freeze-a-version-of-the-dependencies-of-an-opam-project-package

How do you pull git submodules?

The coq projects are empty. But git submodule update fails:

(meta_learning) brandomiranda~/proverbot9001 ❯ git submodule update --init --recursive
Cloning into '/Users/brandomiranda/proverbot9001/coq-projects/VST/coq-ext-lib/coqdocjs'...
Username for 'https://github.com': brando90
Password for 'https://[email protected]': 
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/coq-ext-lib/coqdocjs.git/'
fatal: clone of 'https://github.com/coq-ext-lib/coqdocjs.git' into submodule path '/Users/brandomiranda/proverbot9001/coq-projects/VST/coq-ext-lib/coqdocjs' failed
Failed to clone 'coqdocjs'. Retry scheduled

install_coqgym_deps.sh fails when running giant opam install -- due to coq-cheerios (only tried coq-cheerios)

I'm trying to do the following giant opam install:

opam install -y coq-serapi \
     coq-struct-tact \
     coq-inf-seq-ext \
     coq-cheerios \
     coq-verdi \
     coq-smpl \
     coq-int-map \
     coq-pocklington \
     coq-mathcomp-ssreflect coq-mathcomp-bigenough coq-mathcomp-algebra\
     coq-fcsl-pcm \
     coq-ext-lib \
     coq-simple-io \
     coq-list-string \
     coq-error-handlers \
     coq-function-ninjas \
     coq-algebra \
     coq-zorns-lemma

but it fails because the previous command pins to coq 8.10.2

[ERROR] Package conflict!
  * Missing dependency:
    - coq >= 8.14
    not available because the package is pinned to version 8.10.2

No solution found, exiting

what would the solution be for this?

Why doing git submodule update && git submodule init?

hi @HazardousPeach Alex, apologies if this is a repetitive question. But are you sure this is the standard command to init git submodules:

git submodule update && git submodule init

I have in my other projects:

# - git submodule init initializes your local configuration file to track the submodules your repository uses, it just sets up the configuration so that you can use the git submodule update command to clone and update the submodules.
git submodule init
# - The --remote option tells Git to update the submodule to the commit specified in the upstream repository, rather than the commit specified in the main repository. ref: https://stackoverflow.com/questions/74988223/why-do-i-need-to-add-the-remote-to-gits-submodule-when-i-specify-the-branch?noredirect=1&lq=1
git submodule update --init --recursive --remote
# - for each submodule pull from the right branch according to .gitmodule file. ref: https://stackoverflow.com/questions/74988223/why-do-i-need-to-add-the-remote-to-gits-submodule-when-i-specify-the-branch?noredirect=1&lq=1
git submodule foreach -q --recursive 'git switch $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master || echo main )'
# - check it's in specified branch. ref: https://stackoverflow.com/questions/74998463/why-does-git-submodule-status-not-match-the-output-of-git-branch-of-my-submodule
git submodule status

Are you sure that isn't more stable? Perhaps all my issues would be solved by using that and no need to add the ad hoc adds I've being doing before I update, init the submodule?

For concreteness I'm doing this for now while I figure out whats going on:

# - I think this pulls the coq projects properly in proverbot
# todo: Q: metalib missing, how do I pull it with original git submodule commands?
# todo, link1: https://stackoverflow.com/questions/74757297/how-do-i-make-sure-to-re-add-a-submodule-correctly-with-a-git-command-without-ma
# todo, link2: https://github.com/UCSD-PL/proverbot9001/issues/59
# todo, link3: https://github.com/UCSD-PL/proverbot9001/issues/60
#rm -rf coq-projects/metalib  # why?
# -  adds the repo to the .gitmodule & clones the repo (the -b option specifies the branch to checkout, might need to pull it later with other commands, see: https://github.com/brando90/diversity-for-predictive-success-of-meta-learning/blob/main/download_meta_dataset_mds.sh for an example)
git submodule add -f --name coq-projects/metalib https://github.com/plclub/metalib.git coq-projects/metalib

# todo: can't make it work: https://stackoverflow.com/questions/74757702/why-is-git-submodules-saying-there-isnt-a-url-when-there-is-one-even-when-i-try, https://github.com/UCSD-PL/proverbot9001/issues/61
# todo: I suggest we use the original lin-alg https://github.com/coq-contribs/lin-alg
#ls coq-projects/lin-alg
#rm -rf coq-projects/lin-alg
git submodule add -f --name coq-projects/lin-algA [email protected]:HazardousPeach/lin-alg-8.10.git coq-projects/lin-alg

Unable to get coq_serapy

I am getting this issue from the git submodule commands:

(iit_synthesis) brando9~/proverbot9001 $ git submodule update --init --remote

fatal: Needed a single revision
Unable to find current origin/master revision in submodule path 'coq_serapy'

suggestions?

when to use remake? e.g. coquelicot uses remake instead of make clean -C path2coq_proj

I saw one project uses remake instead of make:

        "project_name": "coquelicot",
        "train_files": [],
        "test_files": [
            "theories/Coquelicot.v",
            "theories/Series.v",
            "theories/KHInt.v",
            "theories/PSeries.v",
            "theories/ElemFct.v",
            "theories/SF_seq.v",
            "theories/Seq_fct.v",
            "theories/Hierarchy.v",
            "theories/Lub.v",
            "theories/RInt_analysis.v",
            "theories/Iter.v",
            "theories/Rbar.v",
            "theories/Lim_seq.v",
            "theories/Continuity.v",
            "theories/AutoDerive.v",
            "theories/Equiv.v",
            "theories/Derive_2d.v",
            "theories/Markov.v",
            "theories/RInt_gen.v",
            "theories/RInt.v",
            "theories/Complex.v",
            "theories/Compactness.v",
            "theories/Derive.v",
            "theories/Rcomplements.v"
        ],
        "switch": "coq-8.10",
        "build_command": "./configure.sh && ./remake"

why is it? can we just use make?

Would proverbot9001 work with a different Coq version? e.g. 8.12?

Due to some other depedencies it seems I need Coq 8.12:

brandomiranda~ ❯ opam install coq-unicoq
[NOTE] It seems you have not updated your repositories for a while. Consider updating them with:
       opam update

[ERROR] Package conflict!
  * Missing dependency:
    - coq-unicoq → coq < 8.6~
    not available because the package is pinned to version 8.11.0
  * Missing dependency:
    - coq-unicoq → coq < 8.7~
    not available because the package is pinned to version 8.11.0
  * Missing dependency:
    - coq-unicoq → coq < 8.8~
    not available because the package is pinned to version 8.11.0
  * Missing dependency:
    - coq-unicoq → coq < 8.9~
    not available because the package is pinned to version 8.11.0
  * Missing dependency:
    - coq-unicoq → coq < 8.10~
    not available because the package is pinned to version 8.11.0
  * Missing dependency:
    - coq-unicoq → coq < 8.11~
    not available because the package is pinned to version 8.11.0
  * Missing dependency:
    - coq-unicoq → coq >= 8.12.0
    not available because the package is pinned to version 8.11.0
  * Missing dependency:
    - coq-unicoq → coq >= 8.13
    not available because the package is pinned to version 8.11.0
  * Missing dependency:
    - coq-unicoq → coq >= 8.14
    not available because the package is pinned to version 8.11.0
  * Missing dependency:
    - coq-unicoq → coq >= 8.15
    not available because the package is pinned to version 8.11.0

No solution found, exiting

would proverbot9001 work?

related link: unicoq/unicoq#69

Error Creating Report

I've followed all the installation instructions, and then when I run make report everything runs smoothly until the report generation part, when I get this python error:

Traceback (most recent call last):
  File "./src/proverbot9001.py", line 27, in <module>
    import dynamic_report
  File "/home/seth/git/proverbot9001/src/dynamic_report.py", line 105, in <module>
    def run_prediction(coq : serapi_instance.SerapiInstance, prediction : str) -> Tuple[str,str,Optional[Exception]]:
NameError: name 'serapi_instance' is not defined
make: *** [Makefile:53: report] Error 123

I'm running with:
KDE Neon (Ubunutu 20.04 base)
Python 3.7.10
Opam 2.0.5

Any ideas? Let me know if I can provide more information that would help diagnose the issue. Thanks!

is it possible to get ride of the .modules git file and have everything in a coq_proj.opam file?

e.g. of a lf.opam file:

opam-version: "2.0"
maintainer: "[email protected]"

homepage: "https://github.com/pestun/lf"
dev-repo: "git+https://github.com/pestun/lf.git"
bug-reports: "https://github.com/pestun/lf/issues"
license: "LGPL-2.1"

synopsis: "Software foundation exercises"
description: """
solutions to software foundations exercises 
"""

version: "dev"

build: [make "-j%{jobs}%"]
install: [make "install"]

depends: [
  "ocaml"
  "coq" {(>= "8.11" & < "8.12~") | (= "dev")}
]

tags: [
  "category:Miscellaneous/Coq Extensions"
  "keyword:integer numbers"
  "keyword:arithmetic"
]
authors: [
  "Benjamin C. Pierce"
]

proposal:

Goal is to make a single coq_proj.opam for all coq-projects from proverbot. Run the proverbot install script and store everything you need into the coq_proj.opam file (and gitmodule? can we get rid of this?).

  • coq ver
  • repo commit
  • ocaml
  • switch
  • build (& install?) command
  • depends

brando90/pycoq#11

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.