The Lean 4 Theorem Prover and Programming Language

被引:89
作者
de Moura, Leonardo [1 ]
Ullrich, Sebastian [2 ]
机构
[1] Microsoft Res, Redmond, WA 98052 USA
[2] Karlsruhe Inst Technol, Karlsruhe, Germany
来源
AUTOMATED DEDUCTION, CADE 28 | 2021年 / 12699卷
关键词
D O I
10.1007/978-3-030-79876-5_37
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Lean 4 is a reimplementation of the Lean interactive theorem prover (ITP) in Lean itself. It addresses many shortcomings of the previous versions and contains many new features. Lean 4 is fully extensible: users can modify and extend the parser, elaborator, tactics, decision procedures, pretty printer, and code generator. The new system has a hygienic macro system custom-built for ITPs. It contains a new typeclass resolution procedure based on tabled resolution, addressing significant performance problems reported by the growing user base. Lean 4 is also an efficient functional programming language based on a novel programming paradigm called functional but in-place. Efficient code generation is crucial for Lean users because many write custom proof automation procedures in Lean itself.
引用
收藏
页码:625 / 635
页数:11
相关论文
共 15 条
[1]   The Lean Mathematical Library [J].
CPP '20: PROCEEDINGS OF THE 9TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, 2020, :367-381
[2]  
Buzzard K., ARXIV210102602
[3]   Formalising Perfectoid Spaces [J].
Buzzard, Kevin ;
Commelin, Johan ;
Massot, Patrick .
CPP '20: PROCEEDINGS OF THE 9TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, 2020, :299-312
[4]   Axiomatic Foundations and Algorithms for Deciding Semantic Equivalences of SQL Queries [J].
Chu, Shumo ;
Murphy, Brendan ;
Roesch, Jared ;
Cheung, Alvin ;
Suciu, Dan .
PROCEEDINGS OF THE VLDB ENDOWMENT, 2018, 11 (11) :1482-1495
[5]   THE CALCULUS OF CONSTRUCTIONS [J].
COQUAND, T ;
HUET, G .
INFORMATION AND COMPUTATION, 1988, 76 (2-3) :95-120
[6]   The Lean Theorem Prover (System Description) [J].
de Moura, Leonardo ;
Kong, Soonho ;
Avigad, Jeremy ;
van Doorn, Floris ;
von Raumer, Jakob .
AUTOMATED DEDUCTION - CADE-25, 2015, 9195 :378-388
[7]   A metaprogramming framework for formal verification [J].
Ebner G. ;
Ullrich S. ;
Roesch J. ;
Avigad J. ;
De Moura L. .
Proceedings of the ACM on Programming Languages, 2017, 1 (ICFP)
[8]  
Miller Dale, 2012, Programming with Higher-Order Logic
[9]  
Peyton Jones S. L., 1996, Programming Languages and Systems - ESOP '96. 6th European Symposium on Programming. Proceedings, P18
[10]  
Reinking A., 2020, MSRTR202042