Opírat se | |
---|---|
Typ | Důkazní asistent |
Vývojář | Výzkum společnosti Microsoft |
Zapsáno v | C++ |
Operační systém | multiplatformní |
Jazyky rozhraní | Angličtina |
První vydání | 2013 |
Hardwarová platforma | multiplatformní |
Nejnovější verze | 4,0,0-m4 (23. března 2022 ) |
Licence | Licence Apache 2.0 |
webová stránka | leanprover.github.io |
Lean je interaktivní nástroj pro dokazování teorémů . Na základě počtu konstrukcí s indukčními typy. Jedná se o open source hostovaný na GitHubu . Projekt Lean zahájil Leonardo de Moura v Microsoft Research v roce 2013 [1] .
Lean má rozhraní, které jej odlišuje od ostatních interaktivních dokazovačů teorémů. Lean lze zkompilovat do JavaScriptu a je k dispozici ve webovém prohlížeči . Má nativní podporu pro znaky Unicode . (Lze je psát pomocí sekvencí podobných LaTeXu , jako "\times" pro "×".) Lean má také rozsáhlou podporu metaprogramování .
Lean přitáhl pozornost matematiků Thomase Halese a Kevina Bazarda. Hales to používá pro svůj projekt „formalabstracts“ [2] . Bazard jej používá pro projekt Xena [3] Jedním z cílů projektu Xena je přepsat všechny teorémy a důkazy v bakalářských osnovách matematiky na Imperial College London .
V rámci projektu Xena je formalizován komplexní důkaz z oblasti kondenzované matematiky vyvinutý Peterem Scholzem [4] [5] [6] .
Definice přirozených čísel:
indukční nat : Typ | nula : nat | succ : nat → natDefinice operace sčítání pro přirozená čísla:
definice add : nat → nat → nat | n nula := n | n ( succ m ) := succ ( přidat n m )Příklad jednoduchého důkazu.
teorém and_swap : p ∧ q → q ∧ p := předpokládat h1 : p ∧ q , ⟨ h1.right , h1.left ⟩Toto je důkaz:
věta and_swap ( p q : Prop ) : p ∧ q → q ∧ p := begin předpokládat h : ( p ∧ q ), -- předpokládat p ∧ q je pravdivé případy h , -- extrahovat jednotlivé výroky ze spojky split , -- rozdělte cílovou spojku na dva případy: dokažte p a dokažte q samostatně opakujte { předpoklad } konec ![]() |
---|