The Lean Theorem Prover (System Description)

Lean is a new open source theorem prover being developed at Microsoft Research and Carnegie Mellon University, with a small trusted kernel based on dependent type theory. It aims to bridge the gap between interactive and automated theorem proving, by situating automated tools and methods in a framework that supports user interaction and the construction of fully specified axiomatic proofs. Lean is an ongoing and long-term effort, but it already provides many useful components, integrated development environments, and a rich API which can be used to embed it into other systems. It is currently being used to formalize category theory, homotopy type theory, and abstract algebra. We describe the project goals, system architecture, and main features, and we discuss applications and continuing work.

[1]  Per Martin-Löf,et al.  Intuitionistic type theory , 1984, Studies in proof theory.

[2]  Editors , 1986, Brain Research Bulletin.

[3]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

[4]  Thierry Coquand,et al.  Inductively defined types , 1988, Conference on Computer Logic.

[5]  Piotr Rudnicki,et al.  An Overview of the MIZAR Project , 1992 .

[6]  Tobias Nipkow,et al.  Isabelle-91 , 1992, CADE.

[7]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[8]  Konrad Slind,et al.  Function Definition in Higher-Order Logic , 1996, TPHOLs.

[9]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[10]  Toshiyasu Arai,et al.  Some Results on Cut-Elimination, Provable Well-Orderings, Induction, and Reflection , 1998, Ann. Pure Appl. Log..

[11]  Markus Wenzel,et al.  Isabelle, Isar - a versatile environment for human readable formal proof documents , 2002 .

[12]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[13]  M. Thesis Proof as Method: A New Case for Proof in Mathematics Curricula , 2003 .

[14]  Jessi Berkelhammer From Reducibility to Extensionality The two editions of Principia Mathematica , 2003 .

[15]  Walter Montenarie,et al.  Springer Science and Business Media , 2004 .

[16]  Conor McBride,et al.  Functional pearl: i am not a number--i am a free variable , 2004, Haskell '04.

[17]  Aaron Hertz May A Constructive Version of the Hilbert Basis Theorem , 2004 .

[18]  Conor McBride,et al.  A Few Constructions on Constructors , 2004, TYPES.

[19]  D. White Axiomatics, methodology, and Dedekind’s theory of ideals , 2004 .

[20]  J. Avigad,et al.  Aspects of Ergodic Theory in Subsystems of , 2004 .

[21]  Peter Dybjer,et al.  Inductive families , 2005, Formal Aspects of Computing.

[22]  Conor McBride,et al.  Eliminating Dependent Pattern Matching , 2006, Essays Dedicated to Joseph A. Goguen.

[23]  Donald Sannella,et al.  Horizontal Composability Revisited , 2006, Essays Dedicated to Joseph A. Goguen.

[24]  Ulf Norell,et al.  Dependently typed programming in Agda , 2009, TLDI '09.

[25]  H. Towsner Some results in logic and ergodic theory , 2008 .

[26]  Jeremy Avigad,et al.  A Language for Mathematical Knowledge Management , 2008 .

[27]  John Harrison,et al.  HOL Light: An Overview , 2009, TPHOLs.

[28]  Andrea Asperti,et al.  The Matita Interactive Theorem Prover , 2011, CADE.

[29]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[30]  Gopalan Nadathur,et al.  Programming with Higher-Order Logic , 2012 .

[31]  P. Aczel,et al.  Homotopy Type Theory: Univalent Foundations of Mathematics , 2013 .

[32]  Dominique Devriese,et al.  Pattern matching without K , 2014, ICFP.

[33]  Cody Roux,et al.  Elaboration in Dependent Type Theory , 2015, ArXiv.

[34]  Soonho Kong,et al.  Theorem Proving in Lean , 2016 .

[35]  Johannes Hölzl,et al.  A Formally Verified Proof of the Central Limit Theorem , 2014, Journal of Automated Reasoning.