• This repository has been archived on 25/Jul/2024
  • Stars
    star
    1,666
  • Rank 28,055 (Top 0.6 %)
  • Language Lean
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated 5 months ago

Reviews

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

Repository Details

Lean 3's obsolete mathematical components library: please use mathlib4

Lean mathlib

Bors enabled project chat Gitpod Ready-to-Code

Mathlib is a user maintained library for the Lean theorem prover. It contains both programming infrastructure and mathematics, as well as tactics that use the former and allow to develop the latter.

Installation

You can find detailed instructions to install Lean, mathlib, and supporting tools on our website.

Experimenting

Got everything installed? Why not start with the tutorial project?

For more pointers, see Learning Lean.

Documentation

Besides the installation guides above and Lean's general documentation, the documentation of mathlib consists of:

Much of the discussion surrounding mathlib occurs in a Zulip chat room. Since this chatroom is only visible to registered users, we provide an openly accessible archive of the public discussions. This is useful for quick reference; for a better browsing interface, and to participate in the discussions, we strongly suggest joining the chat. Questions from users at all levels of expertise are welcomed.

Contributing

The complete documentation for contributing to mathlib is located on the community guide contribute to mathlib

The process is different from other projects where one should not fork the repository. Instead write permission for non-master branches should be requested on Zulip by introducing yourself, providing your GitHub handle and what contribution you are planning on doing.

Guidelines

Mathlib has the following guidelines and conventions that must be followed

Note: the title of a PR should follow the commit naming convention.

Using leanproject to contribute

Running the leanproject get -b mathlib:shiny_lemma command will create a new worktree mathlib_shiny_lemma with a local branch called shiny_lemma which has a copy of mathlib to work on.

leanproject build will check that nothing broke. Be warned that this will take some time if a fundamental file was changed.

Maintainers:

  • Anne Baanen (@Vierkantor): algebra, number theory, tactics
  • Reid Barton (@rwbarton): category theory, topology
  • Riccardo Brasca (@riccardobrasca): algebra, number theory, algebraic geometry, category theory
  • Mario Carneiro (@digama0): lean formalization, tactics, type theory, proof engineering
  • Bryan Gin-ge Chen (@bryangingechen): documentation, infrastructure
  • Johan Commelin (@jcommelin): algebra, number theory, category theory, algebraic geometry
  • Rémy Degenne (@RemyDegenne): probability, measure theory, analysis
  • Floris van Doorn (@fpvandoorn): measure theory, model theory, tactics
  • Frédéric Dupuis (@dupuisf): linear algebra, functional analysis
  • Gabriel Ebner (@gebner): tactics, infrastructure, core, formal languages
  • Sébastien Gouëzel (@sgouezel): topology, calculus, geometry, analysis, measure theory
  • Markus Himmel (@TwoFX): category theory
  • Chris Hughes (@ChrisHughes24): algebra
  • Yury G. Kudryashov (@urkud): analysis, topology, measure theory
  • Robert Y. Lewis (@robertylewis): tactics, documentation
  • Heather Macbeth (@hrmacbeth): geometry, analysis
  • Patrick Massot (@patrickmassot): documentation, topology, geometry
  • Bhavik Mehta (@b-mehta): category theory, combinatorics
  • Kyle Miller (@kmill): combinatorics, documentation
  • Scott Morrison (@semorrison): category theory, tactics
  • Oliver Nash (@ocfnash): algebra, geometry, topology
  • Adam Topaz (@adamtopaz): algebra, category theory, algebraic geometry
  • Eric Wieser (@eric-wieser): algebra, infrastructure

Emeritus maintainers:

  • Jeremy Avigad (@avigad): analysis
  • Johannes Hölzl (@johoelzl): measure theory, topology
  • Simon Hudon (@cipher1024): tactics

More Repositories

1

mathlib4

The math library of Lean 4
Lean
1,503
star
2

lean

Lean 3 Theorem Prover (community fork)
C++
434
star
3

mathematics_in_lean

The user home repository for the Mathematics in Lean tutorial.
HTML
260
star
4

batteries

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

lean4-metaprogramming-book

Lean
211
star
6

tutorials

Some Lean tutorials
Lean
181
star
7

aesop

White-box automation for Lean 4
Lean
180
star
8

lean-liquid

💧 Liquid Tensor Experiment
Lean
176
star
9

lean4game

Server to host lean games.
TypeScript
167
star
10

lean-perfectoid-spaces

Perfectoid spaces in the Lean formal theorem prover.
Lean
115
star
11

ProofWidgets4

Helper toolkit for creating your own Lean 4 UserWidgets
Lean
102
star
12

NNG4

Natural Number Game
Lean
99
star
13

quote4

Intuitive, type-safe expression quotations for Lean 4.
Lean
73
star
14

con-nf

A formal consistency proof of Quine's set theory New Foundations
Lean
66
star
15

lean-auto

Experiments in automation for Lean
Lean
66
star
16

lftcm2020

Lean for the Curious Mathematician 2020
Lean
63
star
17

lean4web

The Lean 4 web editor
TypeScript
62
star
18

format_lean

A Lean file formatter
Python
62
star
19

iris-lean

Lean 4 port of Iris, a higher-order concurrent separation logic framework
Lean
62
star
20

lean4-mode

Emacs major mode for Lean 4
Emacs Lisp
60
star
21

leanprover-community.github.io

Hosts the website for mathlib and other Lean community infrastructure.
CSS
52
star
22

flt-regular

Fermat's Last Theorem for regular primes
Lean
51
star
23

lean-client-python

Python talking to the Lean theorem prover
Python
41
star
24

mathport

Mathport is a tool for porting Lean3 projects to Lean4
Lean
39
star
25

sphere-eversion

Formalization of the existence of sphere eversions
Lean
36
star
26

mathlib-tools

Development tools for https://github.com/leanprover-community/mathlib
Python
33
star
27

mathzoo

Lean mathzoo
Lean
23
star
28

repl

A simple REPL for Lean 4, returning information about errors and sorries.
Lean
22
star
29

doc-gen

Generate HTML documentation for mathlib and Lean
Python
21
star
30

leancrawler

An obsolete python library which gathers statistics and relational information about Lean 3 libraries.
Python
17
star
31

llm

Interfacing with Large Language Models (remote and local) from Lean.
Lean
13
star
32

mathlib3port

Synport output from mathport for mathlib3
Lean
11
star
33

lean-sensitivity

A formalization of Huang's degree theorem
Lean
8
star
34

duper

Lean
7
star
35

mathlib4_docs

7
star
36

highlightjs-lean

A highlight.js language grammar for the Lean theorem proving language.
JavaScript
7
star
37

import-graph

Tool to analyse the import structure of lean projects.
Lean
7
star
38

blog

Source for the community blog
Python
6
star
39

mathlib_docs

Hosts the HTML documentation for mathlib.
6
star
40

liquid

Website and documentation for the Liquid Tensor Experiment
TeX
6
star
41

lt2021

Website for Lean Together 2021
JavaScript
5
star
42

plausible

Lean
5
star
43

lean-mode-contrib

Emacs Lisp
4
star
44

mathlib-nursery

Lean
3
star
45

yasnippet-lean

YASnippet
3
star
46

mathlib-port-status

Tools for managing the status of the port
Jinja
3
star
47

archive-old

HTML
3
star
48

LeanSearchClient

Syntax for searching with natural language from Lean, using https://leansearch.net/ (may extend to other services)
Lean
3
star
49

logic_and_proof

TeX
3
star
50

archive

Replacement for the archive repo
HTML
2
star
51

mathlib_docs_demo

2
star
52

tutorials4

Lean 4 tutorial files
Lean
2
star
53

lean3port

Stub for downloading mathport artifacts for Lean 3
Lean
1
star
54

test-mathport

Dockerfile
1
star
55

mathlib_stats

Display gitstats output on the mathlib website
Python
1
star
56

witt-vectors

1
star
57

azure-scripts

scripts and cron jobs for Azure
Python
1
star
58

mathlib-nightly

stores nightly releases of mathlib
1
star