All Projects → siddhartha-gadgil → Provingground

siddhartha-gadgil / Provingground

Licence: mit
Proving Ground: Tools for Automated Mathematics

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to Provingground

Tutorials
This repository contains materials for demos, tutorials, and talks by Dato Inc.
Stars: ✭ 172 (-0.58%)
Mutual labels:  jupyter-notebook
Image generator
DCGAN image generator 🖼️.
Stars: ✭ 173 (+0%)
Mutual labels:  jupyter-notebook
Osvos Caffe
One-Shot Video Object Segmentation
Stars: ✭ 173 (+0%)
Mutual labels:  jupyter-notebook
Iminuit
Jupyter-friendly Python interface for C++ MINUIT2
Stars: ✭ 172 (-0.58%)
Mutual labels:  jupyter-notebook
Malware Misc Re
Miscellaneous Malware RE
Stars: ✭ 173 (+0%)
Mutual labels:  jupyter-notebook
Personal data science projects
Stars: ✭ 173 (+0%)
Mutual labels:  jupyter-notebook
Notes
CME211 Notes | Outline ->
Stars: ✭ 172 (-0.58%)
Mutual labels:  jupyter-notebook
Evolutionary Computation Course
Jupyter/IPython notebooks about evolutionary computation.
Stars: ✭ 173 (+0%)
Mutual labels:  jupyter-notebook
18330
18.330 Introduction to Numerical Analysis
Stars: ✭ 171 (-1.16%)
Mutual labels:  jupyter-notebook
Dfp
Reinforcement Learning with Goals
Stars: ✭ 173 (+0%)
Mutual labels:  jupyter-notebook
Cikm 2019 Analyticup
1st Solution for 2019-CIKM-Analyticup, Efficient and Novel Item Retrieval for Large-scale Online Shopping Recommendation
Stars: ✭ 173 (+0%)
Mutual labels:  jupyter-notebook
Weibospider sentimentanalysis
借助Python抓取微博数据,并对抓取的数据进行情绪分析
Stars: ✭ 173 (+0%)
Mutual labels:  jupyter-notebook
Deep Math Machine Learning.ai
A blog which talks about machine learning, deep learning algorithms and the Math. and Machine learning algorithms written from scratch.
Stars: ✭ 173 (+0%)
Mutual labels:  jupyter-notebook
Notebooks
Notebooks on how to use Distributed Evolutionary Algorithm in Python (DEAP)
Stars: ✭ 172 (-0.58%)
Mutual labels:  jupyter-notebook
Deep Crowd Counting crowdnet
An independent implementation of "CrowdNet: A Deep Convolutional Network for Dense Crowd Counting"
Stars: ✭ 173 (+0%)
Mutual labels:  jupyter-notebook
Simclr
SimCLRv2 - Big Self-Supervised Models are Strong Semi-Supervised Learners
Stars: ✭ 2,720 (+1472.25%)
Mutual labels:  jupyter-notebook
Stata kernel
A Jupyter kernel for Stata. Works with Windows, macOS, and Linux.
Stars: ✭ 172 (-0.58%)
Mutual labels:  jupyter-notebook
Iocaml
An OCaml kernel for the IPython notebook
Stars: ✭ 173 (+0%)
Mutual labels:  jupyter-notebook
Ipynb
Package / Module importer for importing code from Jupyter Notebook files (.ipynb)
Stars: ✭ 174 (+0.58%)
Mutual labels:  jupyter-notebook
Shared
Code and shared files
Stars: ✭ 171 (-1.16%)
Mutual labels:  jupyter-notebook

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 Join the chat at https://gitter.im/siddhartha-gadgil/ProvingGround scala CI

Documentation

Try it with zero installation

You can try the project with zero installation on scastie, for example the HoTT worksheet. If you want to try your own worksheet add the library provvingground-core-jvm (which can be found with scastie's search). More worksheets and info will be posted soon.

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 clone submodules.
The simpliest way to do this is to clone the project with submodules :

git clone --recurse-submodules --single-branch https://github.com/siddhartha-gadgil/ProvingGround.git

or if you have already clone the project without submodules, you can fetch them afterwards :

git submodule update --init

To pop up a console with the core code in scope, run (you need Java 8 installed, but mill need not be installed as it has a bootstrap script):

./mill -i core.jvm.repl

For running with some IO code (e.g. parsing lean exports), instead run

./mill -i mantle.repl

and

./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

Using a Notebook interface

A useful way to experiment is to use a notebook instead of a repl session to ensure persistence. To do this:

  • Install Jupyter and the almond kernel
  • Generate a binary in the notes/bin folder. The first time you do this, you may need to run mkdir notes/bin in the shell first (should not be needed anymore).
./mill core.jvm.bin

This generates the binary and gives the command to use in jupyter-lab or the classic jupyter notebook. Note that you must launch jupyter-lab in the notes folder.

To replicate the behaviour of a notebook (generated this way) with the same source, note that the first code line shows the git has, for example from import $cp.bin.provingground-core-jvm-686ded3e77.fat.jar we see that the git hash is 686ded3e77. To use the jar for this version, run the following

git checkout 686ded3e77
./mill core.jvm.bin

You can then run the notebook.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].