Lean (trợ lý chứng minh)
Lean là phần mềm chứng minh định lý và ngôn ngữ lập trình. Ngôn ngữ này được viết dựa trên tích phân của các phép xây dựng cùng tự suy kiểu.
Mẫu hình | Lập trình hàm, Lập trình mệnh lệnh |
---|---|
Nhà phát triển | Microsoft Research |
Xuất hiện lần đầu | 2013 |
Phiên bản ổn định | 3.48.0
/ 17 tháng 9 năm 2022 |
Bản xem thử | 4.0.0-m5
/ 7 tháng 8 năm 2022 |
Kiểm tra kiểu | tĩnh, mạnh, suy luận |
Ngôn ngữ thực thi | C++, Lean |
Hệ điều hành | Đa nền tảng |
Giấy phép | Apache License 2.0 |
Trang mạng | Ổn định: leanprover-community Xem trước: leanprover |
Ảnh hưởng từ | |
ML Coq Haskell |
Dự án Lean là dự án mã nguồn mở nằm trên GitHub. Dự án khởi động bởi Leonardo de Moura tại Microsoft Research vào năm 2013.[1]
Lean có thể biên dịch về JavaScript và chạy trong trình duyệt web. Ngoài ra nó còn có hỗ trợ cho ký tự Unicode. (Các ký tự còn có thể đánh tương tự như LaTeX, ví dụ như dùng "\times" cho "×".) Lean còn có hỗ trợ cho meta-programming.
Lean đã thu hút được sự chú ý từ các nhà toán học như Thomas Hales[2] và Kevin Buzzard.[3] Hales đang sử dụng nó trong dự án của ông, Formal Abstracts. Buzzard sử dụng cho Xena project. Một trong những mục tiêu của dự án Xena là viết lại mọi định lý và chứng minh trong chương trình toán học của trường đại học Imperial College London bằng Lean.
Các ví dụ
sửaĐây là cách các số tự nhiên được định nghĩa trong Lean.
inductive nat: Type
| zero: nat
| succ: nat → nat
Định nghĩa phép cộng cho các sự tự nhiên trong Lean.
definition add: nat → nat → nat
| n zero := n
| n (succ m) := succ(add n m)
Một bài chứng minh trong Lean.
theorem and_swap: p ∧ q → q ∧ p:=
assume h1: p ∧ q,
⟨h1.right, h1.left⟩
Bài chứng minh tương tự có thể viết lại như sau.
theorem and_swap (p q: Prop) : p ∧ q → q ∧ p:=
begin
assume h: (p ∧ q), -- assume p ∧ q is true
cases h, -- extract the individual propositions from the conjunction
split, -- split the goal conjunction into two cases: prove p and prove q separately
repeat { assumption }
end
Xem thêm
sửaTham khảo
sửa- ^ “Lean Prover About Page”. Bản gốc lưu trữ ngày 18 tháng 10 năm 2021. Truy cập ngày 9 tháng 10 năm 2022.
- ^ Hales, Thomas (ngày 18 tháng 9 năm 2018). “A Review of the Lean Theorem Prover”. Truy cập ngày 6 tháng 10 năm 2020.
- ^ Buzzard, Kevin. “The Future of Mathematics?” (PDF). Truy cập ngày 6 tháng 10 năm 2020.