Giter Site home page Giter Site logo

trishullab / copra Goto Github PK

View Code? Open in Web Editor NEW
39.0 4.0 5.0 3.71 MB

COPRA: An in-COntext PRoof Agent which uses LLMs like GPTs to prove theorems in formal languages.

Python 96.86% Coq 2.14% Shell 0.68% Makefile 0.03% Lean 0.18% Haskell 0.05% Isabelle 0.06%

copra's Introduction

copra

COPRA: An in-COntext PRoof Agent which uses LLMs like GPTs to prove theorems in formal languages.

Setup Steps:

  1. Install OCaml first. Use the instructions here: https://opam.ocaml.org/doc/Install.html . The opam version used in this project is 2.1.3 (OCaml 4.14.0). Note that OCaml officially only supports Linux installations. One can use WSL on Windows machines.

  2. Run the following to install Coq on Linux. The Coq version used in this project is <= 8.15.

sudo apt install build-essential unzip bubblewrap
sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)
  1. Add the following to your .bashrc file: (sometimes the path ~/.opam/default might not exist, so use the directory with version number present in the ~/.opam directory)
export PATH="/home/$USER/.opam/default/bin:$PATH"
  1. Create a Miniconda environment and activate it.

  2. Change to the project root directory, and run the setup script i.e. ./src/scripts/setup.sh from the root directory.

  3. Add the following to your .bashrc file for Lean:

export PATH="/home/$USER/.elan/bin:$PATH"
  1. You need to create a file .secrets/openai_key.json in the root directory of the project with the OpenAI API key. The file should contain the following:
{
    "organization": "<your-organization-id>",
    "api_key": "<your-api-key>"
}
  1. The experiments are not necessarily thread safe. So, it is recommended to run them sequentially. The commands to run the desired experiments can be found in the file ./src/main/config/experiments.yaml.

copra's People

Contributors

amit9oct avatar jxin31415 avatar georgetsoukalas avatar

Stargazers

 avatar  avatar  avatar Jiacheng Chen avatar Haozhan Li avatar KalaG avatar Tim Kersey avatar Jason Manuel avatar Kaiyu Yang avatar Justin avatar Xiyu Zhai avatar Chih-chan Tien avatar Jize (Winston) Jiang avatar Vladislav Sorokin avatar Haechan An avatar  avatar  avatar Philip Zucker avatar Ruize Xu avatar Georgii Plotnikov avatar dxo  avatar smellslikeml avatar Jeff Hammerbacher avatar Wang Wenhan avatar  avatar Abhishek Anand avatar  avatar HaimingW avatar  avatar 爱可可-爱生活 avatar vinayak athavale avatar Hongteng avatar Pengyu Cheng avatar Zheng Yuan avatar  avatar Yating Zhang avatar RexWang avatar Jeff Carpenter avatar Utensil avatar

Watchers

 avatar Swarat Chaudhuri avatar Kostas Georgiou avatar  avatar

copra's Issues

IDE integration for Coq

Is there any work to integrate this into some Coq IDE like company-coq?
if not, can you point out some top-level functions of copra's API that could be used in such an integration?

tree-of-thought style approach

have you tried a tree-of-thought style approach where the LLM is asked to come up multiple possible next steps and to critique each of those steps (and the broader proof strategy behind those steps) before picking the best choice?

results on llama

How are your results on llama, my attempts here have been rather poor.

CompCert Test Dataset

How are the 118 lemmas in CompCert Test Dataset, I can't find a benchmark from your config file that contains 118 lemmas

The Best Result

Can you please show the log file of your best results on GPT-4?I would like to do some analysis. And have you done any testing on the 13 test files presented in Proverbot 9001, and if so, what were the results?

The Best Results.

Can you please show the log file of your best results on GPT-4? And have you done any testing on the 13 test files presented in Proverbot 9001, and if so, what were the results?

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.