Proving Ground: Tools for Automated Mathematics
Clone or download
Permalink
Failed to load latest commit information.
.bloop removed bloop Aug 4, 2018
andrewscurtis/src generation of terms etc Sep 5, 2018
client/src/main/scala/provingground cleaner response handling, recovering initial state Oct 17, 2018
codegen varous corrections, using nicer codegen notation Mar 25, 2018
core cleaner response handling, recovering initial state Oct 17, 2018
data safety by moving lean special methods Aug 30, 2018
deepwalk/src/main/scala/deepwalk4s generation of terms etc Sep 5, 2018
digressions/src/main/scala cleaning up various bits of code #Purge Aug 21, 2018
docs formatting clean up at client and tex, shows terms Oct 17, 2018
experiments/src logarithmic flow and normalized loss: reasonable performance Jun 19, 2018
exploring/src/main/scala/provingground more exclusions Oct 11, 2017
jekyll web page and gencode updated Jun 6, 2018
leanlib/src/main/scala/provingground/library basic lean export interface done Aug 27, 2018
mantle formatting clean up at client and tex, shows terms Oct 17, 2018
nlp/src/main/scala/provingground generation of terms etc Sep 5, 2018
normalform/src scalafmt - using standard plugin as core was ignored by neo Oct 23, 2017
notes corrected codegen, fixes #173 Apr 5, 2018
play-server scalafmt - using standard plugin as core was ignored by neo Oct 23, 2017
project ensime version Mar 22, 2018
projectFilesBackup/.idea/libraries some intellij files May 18, 2018
realfunctions/src/main/scala cleaning up various bits of code #Purge Aug 21, 2018
scripts corrected some bugs in general searching, but not good enough e_l=e_r… Sep 15, 2018
server/src/main getting ready for cask #Purge Aug 22, 2018
trepplein @ 04f06a1 trepplein metaserver Mar 2, 2018
.gitattributes First Draft Feb 25, 2013
.gitignore removed .idea cached Aug 10, 2018
.gitmodules trepplein added as submodule Aug 3, 2017
.history Created a new subproject for andrewscurtis. Changed build.sbt appropr… May 23, 2015
.scalafmt.conf auto scala formatted Jun 17, 2017
.travis-full.yml mill based travis-ci Aug 2, 2018
.travis.yml not caching coursier Aug 23, 2018
HoTTout.md tut tweaks May 20, 2018
LICENSE License moved to root May 1, 2017
README.md README mentions submodule updating, some refactoring #Purge Aug 21, 2018
build.sbt cleaning up various bits of code #Purge Aug 21, 2018
build.sc Ammonite version updated Oct 8, 2018
ensime.sbt ensime server version, some ammonite repl cleanuo Mar 14, 2018
mantle.sc script for ammonite loading Apr 3, 2018
recsess.sc Typelevel refactored recursion and induction (without indexing); Sep 8, 2016
scalastyle-config.xml Subst generalized; lean export helper Jul 25, 2017
site.sc updated docs generation and docs Jun 4, 2018
test.png corrections to lean import - crashes still, perhaps for typeclasses Aug 16, 2017
tuts.sc updated docs generation and docs Jun 4, 2018

README.md

ProvingGround

Proving Ground: Tools for Automated Mathematics

A system under development for (semi-)automated theorem proving, with foundations homotopy type theory, using machine learning, both by reinforcement learing using backward-propagation and using natural language processing to assimilate part of the mathematics literature.

Build Status codecov.io Ohloh

Documentation:

  • The main documentation is on the website , including scaladocs.
  • The notes folder contains Jupyter notebooks illustrating some of the code.
  • Some documentation is in the project wiki.

Contributors

This project has greatly benefited by contributions from

  • Dymtro Mitin
  • Tomoaki Hashizaki
  • Olivier Roland
  • Sayantan Khan

The principal developer is Siddhartha Gadgil (Department of Mathematics, Indian Institute of Science, Bangalore).

Running

Servers

Two rudimentary servers are available as binaries, which you can download and run. You need Java 8 installed. In Unix systems you may need to run chmod +x ... to make the files executable.

Start one of these servers and visit localhost:8080 on a browser to run. You can also specify the port by starting with a -p option (and interface using -i). Note that the second server also includes most of the first server.

These will be frequently updated with new features.

From Source

At present the best way to interact with most of the code is to use a console in either mill or sbt (the primary build tool is now mill). Note that trepplein is a git submodule and is a dependency of part of the code, so you will have to [https://git-scm.com/book/en/v2/Git-Tools-Submodules#_cloning_submodules](update submodule).

To pop up a console with most of the code in scope, install mill and run:

mill -i mantle.repl

for the HoTT implementation etc, or

mill -i nlp.repl

for the natural language processing part.

To experiment with natural language processing, a basic server can be started by running

mill nlp.run

and going to localhost:8080 on the browser. To experiment with the code, you can use the --watch flag so the system restarts after shutting down from the browser.

Similarly, one can experiment with a small part of the HoTT implementation by running

mill mantle.run