Coder Social home page Coder Social logo

pimotte / batteries Goto Github PK

View Code? Open in Web Editor NEW

This project forked from leanprover-community/batteries

0.0 0.0 0.0 2.22 MB

The "batteries included" extended library for the Lean programming language and theorem prover

License: Apache License 2.0

Shell 0.09% Makefile 0.01% Lean 99.73% Dockerfile 0.18%

batteries's Introduction

Batteries

The "batteries included" extended library for Lean 4. This is a collection of data structures and tactics intended for use by both computer-science applications and mathematics applications of Lean 4.

Using batteries

To use batteries in your project, add the following to your lakefile.lean:

require batteries from git "https://github.com/leanprover-community/batteries" @ "main"

Additionally, please make sure that you're using the version of Lean that the current version of batteries expects. The easiest way to do this is to copy the lean-toolchain file from this repository to your project. Once you've added the dependency declaration, the command lake update checks out the current version of batteries and writes it the Lake manifest file. Don't run this command again unless you're prepared to potentially also update your Lean compiler version, as it will retrieve the latest version of dependencies and add them to the manifest.

Build instructions

  • Get the newest version of elan. If you already have installed a version of Lean, you can run
    elan self update
    
    If the above command fails, or if you need to install elan, run
    curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh
    
    If this also fails, follow the instructions under Regular install here.
  • To build batteries run lake build. To build and run all tests, run make.
  • If you added a new file, run the command scripts/updateBatteries.sh to update the imports.

Documentation

You can generate batteries' documentation with

# if you're generating documentation for the first time
> lake -R -Kdoc=on update
...
# actually generate the documentation
> lake -R -Kdoc=on build Batteries:docs
...
> ls build/doc/index.html
build/doc/index.html

After generating the docs, run lake build -R to reset the configuration.

The top-level HTML file will be located at build/doc/Batteries.html, though to actually expose the documentation as a server you need to

> cd build/doc
> python3 -m http.server
Serving HTTP on :: port 8000 (http://[::]:8000/) ...

Note that documentation for the latest nightly of batteries is available as part of the Mathlib 4 documentation.

Contributing

Every pull request should have exactly one of the status labels awaiting-review, awaiting-author or WIP (in progress). To change the status label of a pull request, add a comment containing one of these options and nothing else. This will remove the previous label and replace it by the requested status label.

One of the easiest ways to contribute is to find a missing proof and complete it. The proof_wanted declaration documents statements that have been identified as being useful, but that have not yet been proven.

In contrast to mathlib, batteries uses pull requests from forks of this repository. Hence, no special permissions on this repository are required for new contributors.

You can change the labels on PRs by commenting one of awaiting-review, awaiting-author, or WIP. This is helpful for triage.

batteries's People

Contributors

digama0 avatar semorrison avatar fgdorais avatar joehendrix avatar gebner avatar chabulhwi avatar jlimperg avatar alexkeizer avatar eric-wieser avatar jamesgallicchio avatar nomeata avatar urkud avatar alexjbest avatar ruben-vandevelde avatar kmill avatar fr-vdash-bot avatar hrmacbeth avatar llllvvuu avatar leodemoura avatar patrickmassot avatar adrienchampion avatar david-christiansen avatar jcommelin avatar bollu avatar adomani avatar thorimur avatar komyyy avatar twofx avatar shreyas4991 avatar dupuisf avatar

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

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

  • D3 photo D3

    Data-Driven Documents codes.