• Stars
    star
    149
  • Rank 248,619 (Top 5 %)
  • Language
    Jupyter Notebook
  • License
    MIT License
  • Created over 1 year ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tutorial on neural theorem proving

A tutorial on neural theorem proving

Neural theorem proving combines neural language models with formal proof assistants.
This tutorial introduces two research threads in neural theorem proving via interactive Jupyter notebooks.

Part I : Next-step suggestion

Builds a neural next-step suggestion tool, introducing concepts and past work in neural theorem proving along the way.

Notebooks:

Topic Notebook
0. Intro notebook
1. Data notebook
2. Learning notebook
3. Proof Search notebook
4. Evaluation notebook
5. llmsuggest notebook

All notebooks are in (partI_nextstep/notebooks). See partI_nextstep/ntp_python and partI_nextstep/ntp_lean for the Python and Lean files covered in the notebooks.

Setup:

Please follow the setup instructions in partI_nextstep/README.md.

Part II : Language cascades

Chain together language models to guide formal proof search with informal proofs.

Notebooks:

Topic Notebook
1. Language model cascades notebook
2. Draft, Sketch, Prove notebook

All notebooks are in (partII_dsp/notebooks).

Setup:

Please follow the setup instructions in partII_dsp/README.md.


History

These materials were originally developed as part of a IJCAI 2023 tutorial.
Slides for the 1 hour summary presentation given at IJCAI 2023 are here.

Citation

If you find this tutorial or repository useful in your work, please cite:

@misc{ntptutorial,
  author = {Sean Welleck},
  title = {Neural theorem proving tutorial},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/wellecks/ntptutorial}},
}

More Repositories

1

naturalproofs

NaturalProofs: Mathematical Theorem Proving in Natural Language (NeurIPS 2021 Datasets & Benchmarks)
Python
117
star
2

llmstep

llmstep: [L]LM proofstep suggestions in Lean 4.
Python
109
star
3

nonmonotonic_text

Non-Monotonic Sequential Text Generation (ICML 2019)
Python
73
star
4

port_opt

Portfolio Optimization in Python
Python
46
star
5

naturalprover

NaturalProver: Grounded Mathematical Proof Generation with Language Models
Python
34
star
6

cws

Chinese Word Segmentation
Python
26
star
7

vaes

Variational Autoencoders & Normalizing Flows Project
Jupyter Notebook
19
star
8

llemma_formal2formal

Llemma formal2formal (tactic prediction) theorem proving experiments
Python
16
star
9

online_lda_python

Online LDA using Hoffman's Python Implementation
Python
16
star
10

lda_tweets

Latent Dirichlet Allocation on tweets
JavaScript
15
star
11

symbolic_generalization

Symbolic Brittleness in Sequence Models: on Systematic Generalization in Symbolic Mathematics (AAAI 2022)
Python
14
star
12

eigenfaces

eigenfaces experiment using PCA
Python
12
star
13

mgs

MLE-Guided Parameter Search (AAAI 2021)
Python
11
star
14

overlap

Tool for n-gram overlap analysis between test and training sequences
Jupyter Notebook
8
star
15

coltrane

A jazzy Haskell web framework.
Haskell
3
star
16

math-lm

HTML
2
star
17

lda_haskell

Online Latent Dirichlet Allocation in Haskell
Haskell
1
star
18

mt_decoder

Decoder for Machine Translation.
Python
1
star
19

lean4_information_theory

Lean
1
star
20

word_aligner

Word Aligner for Machine Translation
Fortran
1
star
21

multiset

Loss Functions for Multiset Prediction
Python
1
star
22

llm-lean

LLM tools for Lean
Lean
1
star
23

llm-lean-server

Python
1
star